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. The previous version (v4) can be found at: https://lore.kernel.org/all/1679325074-5494-1-git-send-email-quic_jhugo@xxxxxxxxxxx/ v5: -Drop version.h in mhi_qaic_cntl -Remove DRM_RENDER_ALLOW on ioctls -Use div_u64 in qaic_data for 32-bit architectures -Documentation formatting changes -cntl->cntrl for mhi controller instances -char->u8 in mhi_controller v4: -Whitespace fixes -Add MODULE_PARM_DESC for the module parameters -Refactor qaic_open error handling -Shorten mhi boot error message -Remove extranious reset check -Remove _ prefix in qaic_control structs -Refactor encode_dma() -Refactor __qaic_execute_bo_ioctl -Remove extraniuous open_count checks -List drm-misc tree in MAINTAINERS 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 | 510 ++++++++++ Documentation/accel/qaic/index.rst | 13 + Documentation/accel/qaic/qaic.rst | 170 ++++ MAINTAINERS | 10 + 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 | 570 +++++++++++ drivers/accel/qaic/mhi_qaic_ctrl.h | 12 + drivers/accel/qaic/qaic.h | 282 ++++++ drivers/accel/qaic/qaic_control.c | 1527 ++++++++++++++++++++++++++++ drivers/accel/qaic/qaic_data.c | 1903 +++++++++++++++++++++++++++++++++++ drivers/accel/qaic/qaic_drv.c | 647 ++++++++++++ include/uapi/drm/qaic_accel.h | 397 ++++++++ 18 files changed, 6659 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