zephyr/include
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
..
app_memory arm/arm64: Make ARM64 a standalone architecture 2021-03-31 10:34:33 -05:00
arch riscv: linker: correct _image_rom_size symbol info 2021-08-18 15:40:49 -04:00
audio
bluetooth Bluetooth: Mesh: Missing _ when concate with _name 2021-08-20 06:28:12 -04:00
canbus modules: canopennode: move glue code to modules directory 2021-07-01 13:32:18 -04:00
console
crypto
data json: fix parsing first array-array element 2021-08-16 15:11:20 -04:00
debug kernel: remove object tracing 2021-05-07 22:10:21 -04:00
devicetree reserved-memory: Introduce support for reserved-memory node 2021-07-15 18:12:51 -05:00
dfu dfu: flash_img: Removing conditional compilation from header 2021-06-29 08:38:36 -04:00
disk include: disk_access: Add a compat warning 2021-03-26 08:59:47 -04:00
display toolchain: migrate iterable sections calls to the external API 2021-08-12 17:47:04 -04:00
drivers drivers/pcie: Improve and fix MBAR retrieval depending on use cases 2021-08-20 06:30:20 -04:00
dt-bindings drivers: clock_control: Update LPC clock driver for USDHC 2021-08-17 17:53:31 -04:00
fs doc: doxygen: replace option alias with kconfig 2021-06-29 10:26:28 -04:00
ipc ipc: Fix struct name 2021-07-30 20:06:14 -04:00
kernel kernel: add macros to allow declaring extern stack arrays 2021-07-22 07:24:11 -05:00
linker toolchain: deprecate the Z_ iterables api 2021-08-12 17:47:04 -04:00
logging toolchain: migrate iterable sections calls to the external API 2021-08-12 17:47:04 -04:00
lorawan lorawan: port oriented downlink callbacks 2021-04-30 13:05:10 -05:00
mgmt subsys/mgmt/hawkbit: Prevent multiple instances of hawkbit_probe 2021-08-18 20:10:21 -04:00
modbus
net toolchain: migrate iterable sections calls to the external API 2021-08-12 17:47:04 -04:00
pm pm: refine defination of pm_dump_debug_info() 2021-08-19 10:19:24 -04:00
portability portability: move cmsis api headers 2021-04-20 08:45:05 -04:00
posix ARC: MWDT: workaround for double clockid_t definition 2021-08-13 13:43:19 -05:00
power pm: deprecate power/power.h header 2021-05-05 18:35:49 -04:00
random
settings toolchain: migrate iterable sections calls to the external API 2021-08-12 17:47:04 -04:00
shell toolchain: migrate iterable sections calls to the external API 2021-08-12 17:47:04 -04:00
stats
storage storage/stream: Add persistent write progress to stream_flash 2021-04-23 15:01:32 -05:00
sys lib: os: ring_buffer: Fix race condition 2021-08-17 19:52:08 +02:00
task_wdt
timing timing: guard the header with CONFIG_TIMING_FUNCTIONS 2021-04-06 16:43:55 -04:00
toolchain include: toolchain: Add LOG2CEIL macro 2021-08-17 06:06:33 -04:00
tracing Tracing: TRACING_NONE Compilation Fix 2021-05-27 14:39:40 -05:00
usb include: usb: deprecate usb_common.h and usbstruct.h 2021-08-03 13:20:07 +02:00
zephyr
cache.h cache: Do not warn on unused parameters 2021-05-25 07:05:22 -05:00
device.h pm: device: Fix if devicetree 'wakeup-source' prop isnt defined 2021-08-16 15:00:26 -04:00
devicetree.h devicetree: add new for-each macros 2021-08-06 12:24:57 -05:00
ec_host_cmd.h include: Move ec_host_cmd.h to mgmt/ec_host_cmd.h 2021-04-22 12:51:16 -04:00
emul.h include: Move emul.h to drivers/emul.h 2021-04-22 12:51:01 -04:00
exc_handle.h
fatal.h
generated_dts_board.h
init.h init: tweak Zephyr .init* section name conflicting with toolchain 2021-04-26 14:15:43 -04:00
irq_nextlevel.h
irq_offload.h irq_offload: Remove ifdef from the api 2021-04-29 14:50:35 +02:00
irq.h doc: fix display of the ISR_DIRECT_DECLARE example usage 2021-05-07 20:52:02 -04:00
kernel_includes.h kernel: move internal headers into include/kernel 2021-06-16 20:38:55 -04:00
kernel_structs.h kernel: drop unused priority related definitions 2021-08-17 17:52:17 -04:00
kernel_version.h
kernel.h kernel: mark z_current_get() as const 2021-08-18 05:18:01 -04:00
ptp_clock.h include: Move ptp_clock.h to drivers/ptp_clock.h 2021-03-25 10:09:33 +02:00
shared_irq.h drivers: intc: shared_irq: remove internal structs from header 2021-04-13 13:03:33 -04:00
spinlock.h
sw_isr_table.h
sys_clock.h kernel: remove tickless idle 2021-03-19 11:22:17 -04:00
syscall_handler.h
syscall.h userspace: rename _is_user_context -> k_is_user_context 2021-04-01 05:34:17 -04:00
timeout_q.h kernel/arch: cleanup function definitions 2021-04-01 05:34:17 -04:00
toolchain.h toolchain: add llvm abstraction 2021-04-22 07:42:58 -04:00
wait_q.h kernel: move internal headers into include/kernel 2021-06-16 20:38:55 -04:00
zephyr.h