Initial support to the driver to boot up AIC200. AIC200 uses BHIe without BHI, which is something that the MHI bus has not supported until now. While the MHI changes are listed first to facilitate cross-tree merging, they are not needed until the last change in the series. Also, AIC200 is a different product from AIC100 with MSI-X, different BARs, and different MHI configuration so we finally need some infrastructure in the driver to be able to handle product differences. This is expected to evolve more over time. v2: -Remove inline on mhi_fw_load_error_dump() and shorten stack variable lines -Simplify kcalloc from mhi_alloc_bhi_buffer() -Inline mhi_firmware_copy_bhi() and drop the function -Fix spelling of MHI/BHIe in commit text of patch 2 -Drop MHI_FW_LOAD_UNKNOWN -Simplify mhi_fw_load_type_get() -Rename mhi_send_image_bhi() to mhi_load_image_bhi() -Rename mhi_send_image_bhie() to mhi_load_image_bhie() -Adjust the order of mhi_cntrl init in qaic_mhi_register_controller() Jeffrey Hugo (2): accel/qaic: Add config structs for supported cards accel/qaic: Add AIC200 support Matthew Leung (2): bus: mhi: host: Refactor BHI/BHIe based firmware loading bus: mhi: host: Add a policy to enable image transfer via BHIe in PBL Youssef Samir (3): accel/qaic: Allocate an exact number of MSIs accel/qaic: Add support for MSI-X accel/qaic: Mask out SR-IOV PCI resources drivers/accel/qaic/mhi_controller.c | 360 ++++++++++++++++++++++++++-- drivers/accel/qaic/mhi_controller.h | 2 +- drivers/accel/qaic/qaic.h | 14 +- drivers/accel/qaic/qaic_drv.c | 97 +++++--- drivers/accel/qaic/qaic_timesync.c | 2 +- drivers/accel/qaic/sahara.c | 39 ++- drivers/bus/mhi/host/boot.c | 203 ++++++++++++---- drivers/bus/mhi/host/init.c | 2 +- drivers/bus/mhi/host/internal.h | 7 + 9 files changed, 620 insertions(+), 106 deletions(-) -- 2.34.1