WSL2-Linux-Kernel/drivers
Serge Semin d67288a395 NTB: Alter Scratchpads API to support multi-ports devices
Even though there is no any real NTB hardware, which would have both more
than two ports and Scratchpad registers, it is logically correct to have
Scratchpad API accepting a peer port index as well. Intel/AMD drivers utilize
Primary and Secondary topology to split Scratchpad between connected root
devices. Since port-index API introduced, Intel/AMD NTB hardware drivers can
use device port to determine which Scratchpad registers actually belong to
local and peer devices. The same approach can be used if some potential
hardware in future will be multi-port and have some set of Scratchpads.
Here are the brief of changes in the API:
 ntb_spad_count() - return number of Scratchpads per each port
 ntb_peer_spad_addr(pidx, sidx) - address of Scratchpad register of the
peer device with pidx-index
 ntb_peer_spad_read(pidx, sidx) - read specified Scratchpad register of the
peer with pidx-index
 ntb_peer_spad_write(pidx, sidx) - write data to Scratchpad register of the
peer with pidx-index

Since there is hardware which doesn't support Scratchpad registers, the
corresponding API methods are now made optional.

Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
Acked-by: Allen Hubbe <Allen.Hubbe@dell.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
2017-07-06 11:30:07 -04:00
..
accessibility
acpi ACPI / scan: Fix enumeration for special SPI and I2C devices 2017-06-21 23:14:55 +02:00
amba
android
ata
atm
auxdisplay
base Merge branches 'intel_pstate' and 'pm-sleep' 2017-06-09 01:25:16 +02:00
bcma
block Merge branch 'stable/for-jens-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-linus 2017-06-20 07:09:27 -06:00
bluetooth
bus
cdrom
char Fix some locking and gcc optimization issues from the most recent 2017-06-23 17:33:46 -07:00
clk Allwinner clock fixes for 4.12 2017-06-14 16:48:03 -07:00
clocksource clocksource: Explicitly include linux/clocksource.h when needed 2017-06-13 17:57:16 +02:00
connector
cpufreq Merge branches 'pm-cpufreq', 'pm-cpuidle' and 'pm-devfreq' 2017-06-15 01:51:33 +02:00
cpuidle Merge branches 'pm-cpufreq', 'pm-cpuidle' and 'pm-devfreq' 2017-06-15 01:51:33 +02:00
crypto
dax device-dax: fix 'dax' device filesystem inode destruction crash 2017-06-09 08:50:49 -07:00
dca
devfreq PM / devfreq: exynos-ppmu: Staticize event list 2017-06-12 10:12:07 +09:00
dio
dma
dma-buf
edac
eisa
extcon
firewire
firmware Merge branch 'dmi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging 2017-06-16 17:13:06 +09:00
fmc
fpga
fsi
gpio gpio: acpi: Skip _AEI entries without a handler rather then aborting the scan 2017-06-29 14:55:08 +02:00
gpu Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux 2017-06-28 13:22:26 -07:00
hid Merge branch 'for-4.12/upstream-fixes' into for-linus 2017-06-20 10:52:46 +02:00
hsi hsi: Fix build regression due to netdev destructor fix. 2017-06-08 10:16:05 -04:00
hv
hwmon
hwspinlock
hwtracing
i2c i2c: imx: Use correct function to write to register 2017-06-22 10:52:02 +02:00
ide
idle
iio iio: buffer-dmaengine: Add missing header buffer_impl.h 2017-06-13 20:56:05 +01:00
infiniband Fixes #2 for 4.12-rc 2017-06-16 17:38:23 +09:00
input Input: synaptics-rmi4 - only read the F54 query registers which are used 2017-06-23 00:08:48 -07:00
iommu iommu/amd: Fix interrupt remapping when disable guest_mode 2017-06-28 14:44:56 +02:00
ipack
irqchip irqchip/mips-gic: Mark count and compare accessors notrace 2017-06-20 21:41:58 +02:00
isdn
leds LED fixes for 4.12-rc6 2017-06-18 08:51:35 +09:00
lguest
lightnvm
macintosh
mailbox
mcb
md dm thin: do not queue freed thin mapping for next stage processing 2017-06-27 15:14:34 -04:00
media media fixes for v4.12-rc6 2017-06-15 17:37:40 +09:00
memory
memstick
message
mfd mfd: arizona: Fix typo using hard-coded register 2017-06-06 10:17:42 +01:00
misc powerpc fixes for 4.12 #8 2017-06-30 10:55:34 -07:00
mmc mmc: meson-gx: work around broken SDIO with certain WiFi chips 2017-06-12 08:58:16 +02:00
mtd
net sfc: fix attempt to translate invalid filter ID 2017-06-29 15:59:38 -04:00
nfc
ntb NTB: Alter Scratchpads API to support multi-ports devices 2017-07-06 11:30:07 -04:00
nubus
nvdimm
nvme nvme/pci: Fix stuck nvme reset 2017-06-27 17:44:05 -06:00
nvmem
of
oprofile
parisc
parport
pci PCI: endpoint: Select CRC32 to fix test build error 2017-06-12 15:46:13 -05:00
pcmcia
perf
phy
pinctrl Revert "pinctrl: rockchip: avoid hardirq-unsafe functions in irq_chip" 2017-06-29 15:03:24 +02:00
platform platform-drivers-x86 for v4.12-2 2017-06-16 17:30:44 +09:00
pnp
power
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-06-15 18:09:47 +09:00
sbus
scsi SCSI fixes on 20170622 2017-06-23 12:25:37 -07:00
sfi
sh
sn
soc
spi
spmi
ssb
staging Staging/IIO fixes for 4.12-rc6 2017-06-18 08:36:30 +09:00
target iscsi-target: Reject immediate data underflow larger than SCSI transfer length 2017-06-08 22:25:29 -07:00
tc
tee
thermal
thunderbolt
tty
uio
usb USB fixes for 4.12-rc6 2017-06-18 08:39:54 +09:00
uwb
vfio
vhost
video video: fbdev: udlfb: drop log level for blanking 2017-06-14 12:40:36 +02:00
virt
virtio virtio_balloon: disable VIOMMU support 2017-06-18 23:13:35 +03:00
vlynq
vme
w1
watchdog
xen xen: fix for 4.12 rc5 2017-06-09 09:59:51 -07:00
zorro
Kconfig
Makefile