aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ntb/ntb.h
Commit message (Collapse)AuthorAgeFilesLines
* ntb_hw_plx: Workaround read-only scratchpad registersAlexander Motin2024-01-271-1/+1
| | | | | | | | | | | | On several systems we've noticed that when NTB link goes down, the Physical Layer User Test Pattern registers we use as additional scratchpad registers (that is explicitly allowed by the chip specs) become read-only for about 100us. I see no explanation for this in the chip specs, neither why it was not seen before, may be a race. Since we do need these registers, workaround it by repeating writes until we succeed or 1ms timeout expire. MFC after: 1 week
* sys: Remove $FreeBSD$: two-line .h patternWarner Losh2023-08-161-2/+0
| | | | Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
* ntb: Remove unused devclass arguments to DRIVER_MODULE.John Baldwin2022-05-091-1/+0
|
* newbus: Move from bus_child_{pnpinfo,location}_src to ↵Warner Losh2021-06-231-2/+1
| | | | | | | | | | | | | | | | | | | | | | bus_child_{pnpinfo,location} with sbuf Now that the upper layers all go through a layer to tie into these information functions that translates an sbuf into char * and len. The current interface suffers issues of what to do in cases of truncation, etc. Instead, migrate all these functions to using struct sbuf and these issues go away. The caller is also in charge of any memory allocation and/or expansion that's needed during this process. Create a bus_generic_child_{pnpinfo,location} and make it default. It just returns success. This is for those busses that have no information for these items. Migrate the now-empty routines to using this as appropriate. Document these new interfaces with man pages, and oversight from before. Reviewed by: jhb, bcr Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D29937
* Make ntb(4) send bus_get_dma_tag() requests to parent buses passing realAlexander Motin2019-11-141-0/+1
| | | | | | | | | | | bus' child pointers instead of grandchilds. DMAR does not like requests from devices not parented directly by PCI. MFC after: 2 weeks Notes: svn path=/head/; revision=354702
* Add driver for NTB in AMD SoC.Alexander Motin2019-07-021-0/+45
| | | | | | | | | | | | | | | This patch is the driver for NTB hardware in AMD SoCs (ported from Linux) and enables the NTB infrastructure like Doorbells, Scratchpads and Memory window in AMD SoC. This driver has been validated using ntb_transport and if_ntb driver already available in FreeBSD. Submitted by: Rajesh Kumar <rajesh1.kumar@amd.com> MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D18774 Notes: svn path=/head/; revision=349594
* Make NTB drivers report more info via NewBus methods.Alexander Motin2017-09-021-0/+3
| | | | | | | MFC after: 12 days Notes: svn path=/head/; revision=323126
* Once more refactor KPI between NTB hardware and consumers.Alexander Motin2016-07-281-0/+372
| | | | | | | | | | | | | | New design allows hardware resources to be split between several consumers. For example, one BAR can be dedicated for remote memory access, while other resources can be used for packet transport for virtual Ethernet interface. And even without resource split, this code allows to specify which consumer driver should attach the hardware. From some points this makes the code even closer to Linux one, even though Linux does not provide the described flexibility. Notes: svn path=/head/; revision=303429
* NewBus'ify NTB subsystem.Alexander Motin2016-07-091-0/+37
This follows NTB subsystem modularization in Linux, tuning it to FreeBSD native NewBus interfaces. This change allows to support different types of hardware with different drivers, support multiple NTB instances in a system, ntb_transport module use for needs other then if_ntb, etc. Sponsored by: iXsystems, Inc. Notes: svn path=/head/; revision=302484