zephyr/include/drivers
Tomasz Bursztyka f70ecc1099 drivers/pcie: Improve and fix MBAR retrieval depending on use cases
So far pcie_get_mbar() has been the only way to retrieve a MBAR. But
it's logic does not fit all uses cases as we will see further.
The meaning of its parameter "index" is not about BAR index but about
a valid Base Address count instead. It's an arbitrary way to index
MBARs unrelated to the actual BAR index.

While this has proven to be just the function we needed so far, this has
not been the case for MSI-X, which one (through BIR info) needs to
access the BAR by their actual index. Same as ivshmem in fact, though
that one did not generate any bug since it never has IO BARs nor 64bits
BARs (so far?).

So:

- renaming existing pcie_get_mbar() to pcie_probe_mbar(), which is a
  more relevant name as it indeed probes the BARs to find the nth valid
  one.
- Introducing a new pcie_get_mbar() which this time really asks for the
  BAR index.
- Applying the change where relevant. So all use pcie_probe_mbar() now
  but MSI-X and ivshmem.

Fixes #37444

Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
2021-08-20 06:30:20 -04:00
..
adc drivers: adc: add ADC emulator 2021-05-07 15:27:37 +02:00
bluetooth
clock_control drivers: clock_control_litex: remove MMCM_NAME 2021-08-19 17:20:21 -04:00
console
dma drivers: dma: stm32 dma of type V1 with mux 2021-08-20 06:28:32 -04:00
ec_host_cmd_periph
gpio drivers: gpio: gpio_mmio32: remove usage of device_pm_control_nop 2021-04-28 20:40:00 -04:00
i2c/slave
ieee802154
interrupt_controller Microchip: MEC172x Add aggregated interrupt driver 2021-07-26 12:24:52 -04:00
led drivers: ht16k33: convert keyscan driver from gpio API to kscan API 2021-06-18 11:22:40 +02:00
misc
modem
pcie drivers/pcie: Improve and fix MBAR retrieval depending on use cases 2021-08-20 06:30:20 -04:00
pm_cpu_ops arm/arm64: Make ARM64 a standalone architecture 2021-03-31 10:34:33 -05:00
rtc drivers: counter: add driver for Microchip MCP7940N RTCC 2021-07-30 19:51:29 -04:00
sensor drivers: sensor: SHT4X Added support 2021-07-22 10:17:13 -04:00
timer pm: device: remove pointer usage for state 2021-08-04 08:23:01 -04:00
uart
usb
virtualization
adc.h doc: doxygen: replace option alias with kconfig 2021-06-29 10:26:28 -04:00
bbram.h nuvoton: battery-backed ram 2021-08-07 20:32:33 -04:00
cache.h cache: Rename sys_{dcache,icache}_* to sys_{data,instr}_cache_* 2021-05-08 07:00:33 +02:00
can.h drivers: can: sjw == 0 in can_set_timing should not change sjw 2021-06-01 07:29:36 -05:00
clock_control.h clock_control: Replace device_is_ready with device_usable_check 2021-05-05 15:54:44 +02:00
counter.h
dac.h
disk.h include: move disk driver interface to own header 2021-03-23 12:16:01 +01:00
display.h drivers: display: fix doxygen issues 2021-05-19 06:21:53 -04:00
dma.h include: drivers: dma format the documentation from header file 2021-08-19 10:22:20 -04:00
ec_host_cmd_periph.h
edac.h edac: ibecc: Fix return error type 2021-08-17 17:21:50 +02:00
eeprom.h
emul.h include: Move emul.h to drivers/emul.h 2021-04-22 12:51:01 -04:00
entropy.h
espi_emul.h
espi_saf.h
espi.h driver: eSPI: unify the bit fields of ACPI/KBC event data 2021-07-26 22:50:44 -04:00
flash.h include/drivers/flash: deprecation of flash_write_protection_set() 2021-03-29 13:43:55 -04:00
gna.h
gpio.h gpio: fixup doxygen on _dt functions 2021-08-05 16:13:54 +02:00
gsm_ppp.h
hwinfo.h drivers: hwinfo: add reset causes for PLL and clock 2021-07-08 09:33:32 -05:00
i2c_emul.h
i2c.h i2c: add _dt variants of i2c functions 2021-08-03 19:05:14 -04:00
i2s.h drivers: i2s: Add missing const qualifiers 2021-05-03 19:57:49 -04:00
ipm.h
kscan.h drivers: kscan: fix NOTSUP vs NOSYS usage 2021-03-30 10:50:14 -05:00
led_strip.h
led.h led.h: clarify brightness API for on/off LEDs 2021-05-04 16:01:30 +02:00
lora.h lora: lora_send blocks until completion 2021-08-18 05:16:46 -04:00
peci.h
pinmux.h
pm_cpu_ops.h
ps2.h drivers: ps2: fix NOTSUP vs NOSYS usage 2021-03-30 10:50:14 -05:00
ptp_clock.h include: Move ptp_clock.h to drivers/ptp_clock.h 2021-03-25 10:09:33 +02:00
pwm.h drivers: pwm: clarify API details 2021-08-19 17:14:48 -04:00
regulator.h
sensor.h Revert "include: driver: sensor: add tank level channel in units of percent" 2021-08-10 09:44:48 -05:00
spi_emul.h
spi.h spi: update doxygen usage 2021-08-03 07:32:31 -04:00
syscon.h drivers: syscon: Add generic syscon API 2021-07-16 21:31:38 -04:00
uart.h usrt: basic_test: NOSYS return update for cases 2021-06-11 17:39:42 +02:00
video-controls.h drivers: video: add more camera control IDs 2021-08-17 09:18:38 -04:00
video.h drivers: video: add JPEG pixel format 2021-08-17 09:18:38 -04:00
watchdog.h