linux/drivers/misc
Niklas Cassel 08818c6d7f
misc: pci_endpoint_test: Add support for PCITEST_IRQ_TYPE_AUTO
For PCITEST_MSI we really want to set PCITEST_SET_IRQTYPE explicitly
to PCITEST_IRQ_TYPE_MSI, since we want to test if MSI works.

For PCITEST_MSIX we really want to set PCITEST_SET_IRQTYPE explicitly
to PCITEST_IRQ_TYPE_MSIX, since we want to test if MSI works.

For PCITEST_LEGACY_IRQ we really want to set PCITEST_SET_IRQTYPE
explicitly to PCITEST_IRQ_TYPE_INTX, since we want to test if INTx
works.

However, for PCITEST_WRITE, PCITEST_READ, PCITEST_COPY, we really don't
care which IRQ type that is used, we just want to use a IRQ type that is
supported by the EPC.

The old behavior was to always use MSI for PCITEST_WRITE, PCITEST_READ,
PCITEST_COPY, was to always set IRQ type to MSI before doing the actual
test, however, there are EPC drivers that do not support MSI.

Add a new PCITEST_IRQ_TYPE_AUTO, that will use the CAPS register to see
which IRQ types the endpoint supports, and use one of the supported IRQ
types.

For backwards compatibility, if the endpoint does not expose any supported
IRQ type in the CAPS register, simply fallback to using MSI, as it was
unconditionally done before.

Signed-off-by: Niklas Cassel <cassel@kernel.org>
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
Link: https://lore.kernel.org/r/20250310111016.859445-16-cassel@kernel.org
2025-03-26 06:11:54 +00:00
..
altera-stapl move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
bcm-vk move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
c2port misc: c2port: Constify 'struct bin_attribute' 2024-12-24 09:36:02 +01:00
cardreader drivers/card_reader/rtsx_usb: Restore interrupt based detection 2025-01-10 15:42:53 +01:00
cb710
cxl Char/Misc/IIO driver updates for 6.14-rc1 2025-01-27 16:51:51 -08:00
echo
eeprom misc: eeprom/max6875: Constify 'struct bin_attribute' 2024-12-24 09:36:02 +01:00
genwqe
ibmasm
keba misc: keba: Fix kernfs warning on module unload 2025-01-10 10:16:39 +01:00
lis3lv02d [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
lkdtm Compiler Attributes: disable __counted_by for clang < 19.1.3 2024-11-19 08:48:27 -08:00
mchp_pci1xxxx Merge 6.13-rc4 into char-misc-next 2025-01-13 06:17:49 +01:00
mei module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
ocxl ocxl: Constify 'struct bin_attribute' 2024-12-24 09:36:01 +01:00
pvpanic Linux 6.9-rc7 2024-05-08 19:21:51 +01:00
sgi-gru misc: sgi-gru: Don't disable preemption in GRU driver 2024-10-09 12:47:01 -07:00
sgi-xp treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
uacce
vmw_vmci VMCI: Fix use-after-free when removing resource in vmci_resource_remove() 2024-09-03 13:16:42 +02:00
ad525x_dpot-i2c.c
ad525x_dpot-spi.c
ad525x_dpot.c
ad525x_dpot.h
apds990x.c misc: apds990x: Fix missing pm_runtime_disable() 2024-10-13 17:10:53 +02:00
apds9802als.c misc: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-07-03 16:41:00 +02:00
atmel-ssc.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
bh1770glc.c misc: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-07-03 16:41:00 +02:00
cs5535-mfgpt.c
ds1682.c misc: ds1682: Constify 'struct bin_attribute' 2024-12-24 09:36:02 +01:00
dummy-irq.c
dw-xdata-pcie.c
enclosure.c
fastrpc.c misc: fastrpc: Fix copy buffer page size 2025-01-10 16:17:49 +01:00
gehc-achc.c misc: gehc-achc: Follow renaming of SPI "master" to "controller" 2024-02-08 11:54:43 +00:00
hi6421v600-irq.c misc: hi6421-spmi-pmic: Remove unused of_gpio.h 2024-03-05 14:28:41 +00:00
hisi_hikey_usb.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
hmc6352.c misc: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-07-03 16:41:00 +02:00
hpilo.c misc: hpilo: rename device creation loop variable 2024-01-30 16:19:43 -08:00
hpilo.h
ibmvmc.c
ibmvmc.h
ics932s401.c misc: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-07-03 16:41:00 +02:00
isl29003.c misc: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-07-03 16:41:00 +02:00
isl29020.c misc: isl29020: Fix the wrong format specifier 2024-11-12 12:54:53 +01:00
Kconfig misc: Kconfig: Make MCHP_LAN966X_PCI depend on OF_OVERLAY 2025-01-10 10:16:31 +01:00
kgdbts.c kgdbts: fix hw_access_break_test 2024-08-13 11:27:38 +02:00
lan966x_pci.c misc: Add support for LAN966x PCI device 2024-10-24 12:09:33 +02:00
lan966x_pci.dtso misc: lan966x_pci: Fix dtc warn 'Missing interrupt-parent' 2024-11-04 14:34:25 +01:00
lattice-ecp3-config.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
Makefile misc:minor basic kunit tests 2025-01-08 13:18:10 +01:00
misc_minor_kunit.c misc:minor basic kunit tests 2025-01-08 13:18:10 +01:00
mrvl_cn10k_dpi.c misc: mrvl-cn10k-dpi: add Octeon CN10K DPI administrative driver 2024-07-10 14:58:29 +02:00
nsm.c misc: nsm: drop owner assignment 2024-05-22 08:31:17 -04:00
ntsync.c ntsync: Fix reference leaks in the remaining create ioctls. 2025-01-17 13:10:07 +01:00
open-dice.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
pch_phub.c misc: pch_phub: Constify 'struct bin_attribute' 2024-12-24 09:36:02 +01:00
pci_endpoint_test.c misc: pci_endpoint_test: Add support for PCITEST_IRQ_TYPE_AUTO 2025-03-26 06:11:54 +00:00
phantom.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
qcom-coincell.c
rpmb-core.c rpmb: Remove some useless locking 2024-10-13 17:11:51 +02:00
smpro-errmon.c
smpro-misc.c
sram-exec.c
sram.c misc: sram: constify 'struct bin_attribute' 2024-12-24 09:36:02 +01:00
sram.h
tifm_7xx1.c misc: tifm: use 'time_left' variable with wait_for_completion_timeout() 2024-07-03 16:40:18 +02:00
tifm_core.c driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
tps6594-esm.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
tps6594-pfsm.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
tsl2550.c misc: tsl2550: replace simple_strtoul to kstrtoul 2024-09-03 12:34:31 +02:00
vcpu_stall_detector.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
vmw_balloon.c
xilinx_sdfec.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
xilinx_tmr_inject.c Get rid of 'remove_new' relic from platform driver struct 2024-12-01 15:12:43 -08:00
xilinx_tmr_manager.c