This series introduces a driver under the accel subsystem (QAIC - Qualcomm AIC) for the Qualcomm Cloud AI 100 product (AIC100). AIC100 is a PCIe adapter card that hosts a dedicated machine learning inference accelerator. Depends on "accel: Build sub-directories based on config options" found at https://lore.kernel.org/all/20230301162508.3963484-1-stanislaw.gruszka@xxxxxxxxxxxxxxx/ The previous version (v2) can be found at: https://lore.kernel.org/all/1675698105-19025-1-git-send-email-quic_jhugo@xxxxxxxxxxx/ v3: -Various style updates and word smithing -Remove unused function declarations -Drop iommu workaround for sg lists and outdated reserve_pages() -Remove unnecessary includes -Refactor qaic_pci_probe() -Use FIELD_PREP for ENCODE_SEM -Gate qaic subdirectory on the kconfig symbol -Add dri-devel@xxxxxxxxxxxxxxxxxxxxx to MAINTAINERS entry -Rename copy_sgt() -Correct guard macro for qaic.h and cplusplus macro -Add comment in qaic_mhi_remove -Fix qaic_open use after free -Use devm allocs in qaic_mhi_register_controller() -Remove partition device ioctl. v2: -Addressed comments from RFC -Reduced the code to the core minimum by dropping telemetery, etc -Conversion to accel subsystem -Dropped versioning -Add mhi_qaic_cntl component -Restructure the documentation -Pull in a few fixes from the downstream tree Jeffrey Hugo (7): accel/qaic: Add documentation for AIC100 accelerator driver accel/qaic: Add uapi and core driver file accel/qaic: Add MHI controller accel/qaic: Add control path accel/qaic: Add datapath accel/qaic: Add qaic driver to the build system MAINTAINERS: Add entry for QAIC driver Pranjal Ramajor Asha Kanojiya (1): accel/qaic: Add mhi_qaic_cntl Documentation/accel/index.rst | 1 + Documentation/accel/qaic/aic100.rst | 501 ++++++++++ Documentation/accel/qaic/index.rst | 13 + Documentation/accel/qaic/qaic.rst | 169 ++++ MAINTAINERS | 9 + drivers/accel/Kconfig | 1 + drivers/accel/Makefile | 1 + drivers/accel/qaic/Kconfig | 23 + drivers/accel/qaic/Makefile | 13 + drivers/accel/qaic/mhi_controller.c | 563 +++++++++++ drivers/accel/qaic/mhi_controller.h | 16 + drivers/accel/qaic/mhi_qaic_ctrl.c | 581 +++++++++++ drivers/accel/qaic/mhi_qaic_ctrl.h | 11 + drivers/accel/qaic/qaic.h | 282 ++++++ drivers/accel/qaic/qaic_control.c | 1496 ++++++++++++++++++++++++++++ drivers/accel/qaic/qaic_data.c | 1878 +++++++++++++++++++++++++++++++++++ drivers/accel/qaic/qaic_drv.c | 648 ++++++++++++ include/uapi/drm/qaic_accel.h | 397 ++++++++ 18 files changed, 6603 insertions(+) create mode 100644 Documentation/accel/qaic/aic100.rst create mode 100644 Documentation/accel/qaic/index.rst create mode 100644 Documentation/accel/qaic/qaic.rst create mode 100644 drivers/accel/qaic/Kconfig create mode 100644 drivers/accel/qaic/Makefile create mode 100644 drivers/accel/qaic/mhi_controller.c create mode 100644 drivers/accel/qaic/mhi_controller.h create mode 100644 drivers/accel/qaic/mhi_qaic_ctrl.c create mode 100644 drivers/accel/qaic/mhi_qaic_ctrl.h create mode 100644 drivers/accel/qaic/qaic.h create mode 100644 drivers/accel/qaic/qaic_control.c create mode 100644 drivers/accel/qaic/qaic_data.c create mode 100644 drivers/accel/qaic/qaic_drv.c create mode 100644 include/uapi/drm/qaic_accel.h -- 2.7.4