[PATCH v2 00/44] media: ipu6: Add support for ipu7 hardware
Antti Laakso <[email protected]>
| Newsgroups | org.kernel.vger.linux-media |
|---|---|
| Message-ID | <[email protected]> |
Hello, The 7th Gen Intel Imaging Processing Unit is a PCI device including input system and processing system. This set adds support for ISYS in IPU7 and IPU7.5. Changes since v1: - Fixed review and checkpatch issues. - Fixed a bug in ipu6 fw communication. - Added missing bits for ipu7 CSI2 initialization. - Changed IPU runtime detection. - Added IPU7.5 support. Antti Laakso (44): media: ipu6: Add helpers for IPU runtime variation media: ipu6: Rename pointer to firmware context media: ipu6: Rename buttress_ipc pointer media: ipu6: Remove duplicate warnings in cpd validation media: ipu6: Remove unused ipu6 firmware struct media: ipu6: Cleanup ipu6_mmu_init() media: ipu6: Simplify firmware com arguments media: ipu6: Add helper to identify ipu7 media: ipu6: Prepare buttress for ipu7 support media: ipu6: Use single struct for registers media: ipu6: Rename IPU subsys ID media: ipu6: Add ipu7 buttress support media: ipu6: Prepare mmu driver for hw variation media: ipu6: Add ipu7 mmu support media: ipu6: Add ipu7 cpd handling media: ipu6: Add check for pkg_dir before freeing media: ipu6: Rename isys fw msg union media: ipu6: Move isys isr handlers to fw file media: ipu6: Move hw specific buffer handling down media: ipu6: Isolate hw specific buffer handling media: ipu6: Add isys firmware ops media: ipu6: Add ipu7 fw start/stop functionality media: ipu6: Add ipu7 fw com methods media: ipu6: Add ipu7 fw isys ops media: ipu6: Add ipu7 csi2 register definitions media: ipu6: Add ipu7 isr handler media: ipu6: Add ipu7 csi phy driver media: ipu6: Split ipu6 csi2 stream enable/disable media: ipu6: Add support for ipu7 csi2 receiver media: ipu6: Parse bus type for ipu7 media: ipu6: Enable ipu7 isys interrupts media: ipu6: Skip watermark configuration for ipu7 media: ipu6: The SPC init is valid only for ipu6 media: ipu6: The VC arbitration mechanism is ipu6 only media: ipu6: Move buttress mem alloc out from probe media: ipu6: Read correct SKU ID for ipu7 media: ipu6: Add support for fixed iova region media: ipu6: Make fw mapping function reusable media: ipu6: Move isys fw mapping to pci_probe media: ipu6: Map ipu7 firmware media: ipu6: Set model name for ipu7 media: ipu6: Add ipu7.5 buttress support media: ipu6: Add ipu7.5 mmu initialization data media: ipu6: Enable ipu7 and ipu7.5 drivers/media/pci/intel/ipu6/Makefile | 10 +- drivers/media/pci/intel/ipu6/ipu6-bus.h | 6 +- drivers/media/pci/intel/ipu6/ipu6-buttress.c | 568 +++++--- drivers/media/pci/intel/ipu6/ipu6-buttress.h | 50 +- drivers/media/pci/intel/ipu6/ipu6-cpd.c | 195 ++- drivers/media/pci/intel/ipu6/ipu6-cpd.h | 43 + drivers/media/pci/intel/ipu6/ipu6-dma.c | 24 +- drivers/media/pci/intel/ipu6/ipu6-dma.h | 2 + drivers/media/pci/intel/ipu6/ipu6-fw-isys.c | 589 +++++++- drivers/media/pci/intel/ipu6/ipu6-fw-isys.h | 48 +- drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c | 207 ++- drivers/media/pci/intel/ipu6/ipu6-isys-csi2.h | 5 + .../media/pci/intel/ipu6/ipu6-isys-queue.c | 87 +- .../media/pci/intel/ipu6/ipu6-isys-queue.h | 6 +- .../media/pci/intel/ipu6/ipu6-isys-video.c | 160 +-- .../media/pci/intel/ipu6/ipu6-isys-video.h | 1 + drivers/media/pci/intel/ipu6/ipu6-isys.c | 397 ++---- drivers/media/pci/intel/ipu6/ipu6-isys.h | 55 +- drivers/media/pci/intel/ipu6/ipu6-mmu-hw.c | 296 ++++ drivers/media/pci/intel/ipu6/ipu6-mmu.c | 133 +- drivers/media/pci/intel/ipu6/ipu6-mmu.h | 158 ++- .../intel/ipu6/ipu6-platform-buttress-regs.h | 111 +- drivers/media/pci/intel/ipu6/ipu6.c | 536 +++++--- drivers/media/pci/intel/ipu6/ipu6.h | 200 +-- drivers/media/pci/intel/ipu6/ipu7-boot.c | 405 ++++++ drivers/media/pci/intel/ipu6/ipu7-boot.h | 46 + drivers/media/pci/intel/ipu6/ipu7-fw-com.c | 74 + drivers/media/pci/intel/ipu6/ipu7-fw-com.h | 53 + drivers/media/pci/intel/ipu6/ipu7-fw-isys.c | 787 +++++++++++ drivers/media/pci/intel/ipu6/ipu7-fw-isys.h | 296 ++++ .../media/pci/intel/ipu6/ipu7-isys-csi-phy.c | 1072 +++++++++++++++ .../media/pci/intel/ipu6/ipu7-isys-csi-phy.h | 16 + .../pci/intel/ipu6/ipu7-isys-csi2-regs.h | 1189 +++++++++++++++++ drivers/media/pci/intel/ipu6/ipu7-mmu-hw.c | 858 ++++++++++++ drivers/media/pci/intel/ipu6/ipu7-mmu-hw.h | 254 ++++ .../media/pci/intel/ipu6/ipu7-platform-regs.h | 32 + include/media/ipu6-pci-table.h | 4 + 37 files changed, 7596 insertions(+), 1377 deletions(-) create mode 100644 drivers/media/pci/intel/ipu6/ipu6-mmu-hw.c create mode 100644 drivers/media/pci/intel/ipu6/ipu7-boot.c create mode 100644 drivers/media/pci/intel/ipu6/ipu7-boot.h create mode 100644 drivers/media/pci/intel/ipu6/ipu7-fw-com.c create mode 100644 drivers/media/pci/intel/ipu6/ipu7-fw-com.h create mode 100644 drivers/media/pci/intel/ipu6/ipu7-fw-isys.c create mode 100644 drivers/media/pci/intel/ipu6/ipu7-fw-isys.h create mode 100644 drivers/media/pci/intel/ipu6/ipu7-isys-csi-phy.c create mode 100644 drivers/media/pci/intel/ipu6/ipu7-isys-csi-phy.h create mode 100644 drivers/media/pci/intel/ipu6/ipu7-isys-csi2-regs.h create mode 100644 drivers/media/pci/intel/ipu6/ipu7-mmu-hw.c create mode 100644 drivers/media/pci/intel/ipu6/ipu7-mmu-hw.h create mode 100644 drivers/media/pci/intel/ipu6/ipu7-platform-regs.h -- 2.55.0