| 01a80b66 | 15-Aug-2025 |
Bingbu Cao <bingbu.cao@intel.com> |
media: staging/ipu7: cleanup the MMU correctly in IPU7 driver release
IPU7 ISYS and PSYS auxiliary devices are released after ipu7_bus_del_devices(), so driver can not reference the MMU devices from
media: staging/ipu7: cleanup the MMU correctly in IPU7 driver release
IPU7 ISYS and PSYS auxiliary devices are released after ipu7_bus_del_devices(), so driver can not reference the MMU devices from ISYS and PSYS auxiliary devices, so move the MMUs cleanup before releasing the auxiliary devices.
Fixes: b7fe4c0019b1 ("media: staging/ipu7: add Intel IPU7 PCI device driver") Signed-off-by: Bingbu Cao <bingbu.cao@intel.com> [Sakari Ailus: Drop extra newline.] Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
show more ...
|
| 8abb489f | 15-Aug-2025 |
Bingbu Cao <bingbu.cao@intel.com> |
media: staging/ipu7: Don't set name for IPU7 PCI device
Driver better not dev_set_name() to change the PCI device name, so remove it.
Fixes: b7fe4c0019b1 ("media: staging/ipu7: add Intel IPU7 PCI d
media: staging/ipu7: Don't set name for IPU7 PCI device
Driver better not dev_set_name() to change the PCI device name, so remove it.
Fixes: b7fe4c0019b1 ("media: staging/ipu7: add Intel IPU7 PCI device driver") Signed-off-by: Bingbu Cao <bingbu.cao@intel.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
show more ...
|
| eb6ab8a9 | 09-Jul-2025 |
Arnd Bergmann <arnd@arndb.de> |
media: staging/ipu7: add CONFIG_PCI dependency
This driver fails to build when PCI is disabled:
drivers/staging/media/ipu7/ipu7.c: In function 'ipu7_pci_config_setup': drivers/staging/media/ipu7/ip
media: staging/ipu7: add CONFIG_PCI dependency
This driver fails to build when PCI is disabled:
drivers/staging/media/ipu7/ipu7.c: In function 'ipu7_pci_config_setup': drivers/staging/media/ipu7/ipu7.c:2260:15: error: implicit declaration of function 'pci_enable_msi'; did you mean 'pci_enable_sriov'? [-Wimplicit-function-declaration] drivers/staging/media/ipu7/ipu7.c:2775:1: error: data definition has no type or storage class [-Werror] driver(ipu7_pci_driver); drivers/staging/media/ipu7/ipu7.c:2764:26: error: 'ipu7_pci_driver' defined but not used [-Werror=unused-variable]
Add the required Kconfig dependency.
Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
show more ...
|
| a8598c7d | 03-Jul-2025 |
Sakari Ailus <sakari.ailus@linux.intel.com> |
media: ipu7: Drop IPU8 PCI ID for now
This driver is intended for IPU7 at the moment so drop the IPU8 PCI ID.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil
media: ipu7: Drop IPU8 PCI ID for now
This driver is intended for IPU7 at the moment so drop the IPU8 PCI ID.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
show more ...
|
| c5ddd03b | 29-May-2025 |
Bingbu Cao <bingbu.cao@intel.com> |
media: staging/ipu7: add Makefile, Kconfig and to-do file for IPU7
Add Kconfig and Makefile for IPU7 driver and also update the Makefile to build the IPU7 driver.
Also add a to-do file to list the
media: staging/ipu7: add Makefile, Kconfig and to-do file for IPU7
Add Kconfig and Makefile for IPU7 driver and also update the Makefile to build the IPU7 driver.
Also add a to-do file to list the TODOs.
Signed-off-by: Bingbu Cao <bingbu.cao@intel.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
show more ...
|
| a516d36b | 29-May-2025 |
Bingbu Cao <bingbu.cao@intel.com> |
media: staging/ipu7: add IPU7 input system device driver
The main input system driver mainly cover the basic hardware setup, v4l2 devices registration, firmware stream interfaces and interrupt handl
media: staging/ipu7: add IPU7 input system device driver
The main input system driver mainly cover the basic hardware setup, v4l2 devices registration, firmware stream interfaces and interrupt handling.
Input system CSI2 receiver is exposed as a v4l2 sub-device. Each CSI2 sub-device represent one single CSI2 hardware port which be linked with external sub-device such camera sensor by linked with ISYS CSI2's sink pad. The CSI2 source pad is linked to the sink pad of video capture device.
Register V4L2 video device and setup the VB2 queues to support video capture. Video streaming callback will trigger the input system driver to construct a input system stream configuration for firmware based on data type and stream ID and then queue buffers to firmware to do capture.
IPU7 CSI-2 D-PHY hardware is a Synopsys DWC MIPI CSI2 Rx IP, the driver program the DPHY to receive MIPI data from camera sensors.
Signed-off-by: Bingbu Cao <bingbu.cao@intel.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
show more ...
|
| 2788a049 | 29-May-2025 |
Bingbu Cao <bingbu.cao@intel.com> |
media: staging/ipu7: add IPU7 firmware ABI headers
IPU7 firmware defines the ABIs between firmware and software, this patch adds a series of ABI headers.
Signed-off-by: Bingbu Cao <bingbu.cao@intel
media: staging/ipu7: add IPU7 firmware ABI headers
IPU7 firmware defines the ABIs between firmware and software, this patch adds a series of ABI headers.
Signed-off-by: Bingbu Cao <bingbu.cao@intel.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
show more ...
|
| cc5de519 | 29-May-2025 |
Bingbu Cao <bingbu.cao@intel.com> |
media: staging/ipu7: add firmware parse, syscom interface and boot
IPU7 irmware is generated and released as signed Code Partition Directory (CPD) format file which is aligned with the SPI flash cod
media: staging/ipu7: add firmware parse, syscom interface and boot
IPU7 irmware is generated and released as signed Code Partition Directory (CPD) format file which is aligned with the SPI flash code partition definition. The driver parses the CPD based on the layout.
Syscom is an inter-process(or) communication mechanism between an IPU and host. Syscom uses message queues for message exchange between IPU and host. Each message queue has its consumer and producer, host queue messages to firmware as the producer and then firmware to dequeue the messages as consumer and vice versa. IPU and host use shared registers or memory to reside the read and write indices which are updated by consumer and producer.
IPU7 firmware defined its boot sequence, driver setup the boot configuration and program the boot parameters to start and run the firmware.
Signed-off-by: Bingbu Cao <bingbu.cao@intel.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
show more ...
|
| 71d81c25 | 29-May-2025 |
Bingbu Cao <bingbu.cao@intel.com> |
media: staging/ipu7: add IPU7 DMA APIs and MMU mapping
The Intel IPU7 has internal microprocessor which runs the firmware The microprocessor accesses system DRAM by its internal 32-bit virtual addre
media: staging/ipu7: add IPU7 DMA APIs and MMU mapping
The Intel IPU7 has internal microprocessor which runs the firmware The microprocessor accesses system DRAM by its internal 32-bit virtual address space. Driver should setup the MMU table and expose the DMA APIs for memory buffer mapping.
This patch adds the IPU MMU and a DMA mapping implementation to setup the internal MMU hardware.
Signed-off-by: Bingbu Cao <bingbu.cao@intel.com> Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
show more ...
|