/linux-6.12.1/drivers/media/pci/intel/ipu6/ |
D | ipu6-isys.c | 105 isys_complete_ext_device_registration(struct ipu6_isys *isys, in isys_complete_ext_device_registration() argument 109 struct device *dev = &isys->adev->auxdev.dev; in isys_complete_ext_device_registration() 125 &isys->csi2[csi2->port].asd.sd.entity, in isys_complete_ext_device_registration() 133 isys->csi2[csi2->port].nlanes = csi2->nlanes; in isys_complete_ext_device_registration() 143 static void isys_stream_init(struct ipu6_isys *isys) in isys_stream_init() argument 148 mutex_init(&isys->streams[i].mutex); in isys_stream_init() 149 init_completion(&isys->streams[i].stream_open_completion); in isys_stream_init() 150 init_completion(&isys->streams[i].stream_close_completion); in isys_stream_init() 151 init_completion(&isys->streams[i].stream_start_completion); in isys_stream_init() 152 init_completion(&isys->streams[i].stream_stop_completion); in isys_stream_init() [all …]
|
D | ipu6-isys-dwc-phy.c | 63 static void dwc_dphy_write(struct ipu6_isys *isys, u32 phy_id, u32 addr, in dwc_dphy_write() argument 66 struct device *dev = &isys->adev->auxdev.dev; in dwc_dphy_write() 67 void __iomem *isys_base = isys->pdata->base; in dwc_dphy_write() 75 static u32 dwc_dphy_read(struct ipu6_isys *isys, u32 phy_id, u32 addr) in dwc_dphy_read() argument 77 struct device *dev = &isys->adev->auxdev.dev; in dwc_dphy_read() 78 void __iomem *isys_base = isys->pdata->base; in dwc_dphy_read() 89 static void dwc_dphy_write_mask(struct ipu6_isys *isys, u32 phy_id, u32 addr, in dwc_dphy_write_mask() argument 96 temp = dwc_dphy_read(isys, phy_id, addr); in dwc_dphy_write_mask() 99 dwc_dphy_write(isys, phy_id, addr, temp); in dwc_dphy_write_mask() 102 static u32 __maybe_unused dwc_dphy_read_mask(struct ipu6_isys *isys, u32 phy_id, in dwc_dphy_read_mask() argument [all …]
|
D | ipu6-fw-isys.c | 29 static int handle_proxy_response(struct ipu6_isys *isys, unsigned int req_id) in handle_proxy_response() argument 31 struct device *dev = &isys->adev->auxdev.dev; in handle_proxy_response() 35 resp = ipu6_recv_get_token(isys->fwcom, IPU6_BASE_PROXY_RECV_QUEUES); in handle_proxy_response() 45 ipu6_recv_put_token(isys->fwcom, IPU6_BASE_PROXY_RECV_QUEUES); in handle_proxy_response() 50 int ipu6_fw_isys_send_proxy_token(struct ipu6_isys *isys, in ipu6_fw_isys_send_proxy_token() argument 55 struct ipu6_fw_com_context *ctx = isys->fwcom; in ipu6_fw_isys_send_proxy_token() 56 struct device *dev = &isys->adev->auxdev.dev; in ipu6_fw_isys_send_proxy_token() 77 ret = handle_proxy_response(isys, req_id); in ipu6_fw_isys_send_proxy_token() 93 int ipu6_fw_isys_complex_cmd(struct ipu6_isys *isys, in ipu6_fw_isys_complex_cmd() argument 99 struct ipu6_fw_com_context *ctx = isys->fwcom; in ipu6_fw_isys_complex_cmd() [all …]
|
D | ipu6-isys-video.c | 101 struct ipu6_isys *isys = av->isys; in video_open() local 102 struct ipu6_bus_device *adev = isys->adev; in video_open() 104 mutex_lock(&isys->mutex); in video_open() 105 if (isys->need_reset) { in video_open() 106 mutex_unlock(&isys->mutex); in video_open() 110 mutex_unlock(&isys->mutex); in video_open() 148 strscpy(cap->card, av->isys->media_dev.model, sizeof(cap->card)); in ipu6_isys_vidioc_querycap() 244 *bytesperline = ALIGN(*bytesperline, av->isys->line_align); in ipu6_isys_try_fmt_cap() 257 av->isys->pdata->ipdata->isys_dma_overshoot); in ipu6_isys_try_fmt_cap() 369 struct device *dev = &av->isys->adev->auxdev.dev; in link_validate() [all …]
|
D | ipu6-isys-jsl-phy.c | 62 static void ipu6_isys_csi2_phy_config_by_port(struct ipu6_isys *isys, in ipu6_isys_csi2_phy_config_by_port() argument 66 struct device *dev = &isys->adev->auxdev.dev; in ipu6_isys_csi2_phy_config_by_port() 67 void __iomem *base = isys->adev->isp->base; in ipu6_isys_csi2_phy_config_by_port() 113 static void ipu6_isys_csi2_rx_control(struct ipu6_isys *isys) in ipu6_isys_csi2_rx_control() argument 115 void __iomem *base = isys->adev->isp->base; in ipu6_isys_csi2_rx_control() 139 static int ipu6_isys_csi2_set_port_cfg(struct ipu6_isys *isys, in ipu6_isys_csi2_set_port_cfg() argument 142 struct device *dev = &isys->adev->auxdev.dev; in ipu6_isys_csi2_set_port_cfg() 164 isys->pdata->base + CSI2_HUB_GPREG_SIP_FB_PORT_CFG(sip)); in ipu6_isys_csi2_set_port_cfg() 170 ipu6_isys_csi2_set_timing(struct ipu6_isys *isys, in ipu6_isys_csi2_set_timing() argument 174 struct device *dev = &isys->adev->auxdev.dev; in ipu6_isys_csi2_set_timing() [all …]
|
D | ipu6-isys-mcd-phy.c | 503 static int ipu6_isys_mcd_phy_powerup_ack(struct ipu6_isys *isys, u8 id) in ipu6_isys_mcd_phy_powerup_ack() argument 505 struct device *dev = &isys->adev->auxdev.dev; in ipu6_isys_mcd_phy_powerup_ack() 506 void __iomem *isys_base = isys->pdata->base; in ipu6_isys_mcd_phy_powerup_ack() 523 static int ipu6_isys_mcd_phy_powerdown_ack(struct ipu6_isys *isys, u8 id) in ipu6_isys_mcd_phy_powerdown_ack() argument 525 struct device *dev = &isys->adev->auxdev.dev; in ipu6_isys_mcd_phy_powerdown_ack() 526 void __iomem *isys_base = isys->pdata->base; in ipu6_isys_mcd_phy_powerdown_ack() 540 static void ipu6_isys_mcd_phy_reset(struct ipu6_isys *isys, u8 id, bool assert) in ipu6_isys_mcd_phy_reset() argument 542 void __iomem *isys_base = isys->pdata->base; in ipu6_isys_mcd_phy_reset() 554 static int ipu6_isys_mcd_phy_ready(struct ipu6_isys *isys, u8 id) in ipu6_isys_mcd_phy_ready() argument 556 struct device *dev = &isys->adev->auxdev.dev; in ipu6_isys_mcd_phy_ready() [all …]
|
D | Makefile | 13 intel-ipu6-isys-y := ipu6-isys.o \ 14 ipu6-isys-csi2.o \ 15 ipu6-fw-isys.o \ 16 ipu6-isys-video.o \ 17 ipu6-isys-queue.o \ 18 ipu6-isys-subdev.o \ 19 ipu6-isys-mcd-phy.o \ 20 ipu6-isys-jsl-phy.o \ 21 ipu6-isys-dwc-phy.o 23 obj-$(CONFIG_VIDEO_INTEL_IPU6) += intel-ipu6-isys.o
|
D | ipu6-isys-csi2.c | 89 dev = &csi2->isys->adev->auxdev.dev; in ipu6_isys_csi2_get_link_freq() 109 struct device *dev = &csi2->isys->adev->auxdev.dev; in csi2_subscribe_event() 173 struct device *dev = &csi2->isys->adev->auxdev.dev; in ipu6_isys_csi2_calc_timing() 204 struct ipu6_isys *isys = csi2->isys; in ipu6_isys_register_errors() local 207 mask = isys->pdata->ipdata->csi2.irq_mask; in ipu6_isys_register_errors() 215 struct device *dev = &csi2->isys->adev->auxdev.dev; in ipu6_isys_csi2_error() 239 struct ipu6_isys *isys = csi2->isys; in ipu6_isys_csi2_set_stream() local 240 struct device *dev = &isys->adev->auxdev.dev; in ipu6_isys_csi2_set_stream() 253 mask = isys->pdata->ipdata->csi2.irq_mask; in ipu6_isys_csi2_set_stream() 254 nports = isys->pdata->ipdata->csi2.nports; in ipu6_isys_csi2_set_stream() [all …]
|
D | ipu6-isys.h | 93 struct ipu6_isys *isys; member 157 int (*phy_set_power)(struct ipu6_isys *isys, 183 void ipu6_put_fw_msg_buf(struct ipu6_isys *isys, u64 data); 184 void ipu6_cleanup_fw_msg_bufs(struct ipu6_isys *isys); 188 void isys_setup_hw(struct ipu6_isys *isys); 190 void update_watermark_setting(struct ipu6_isys *isys); 192 int ipu6_isys_mcd_phy_set_power(struct ipu6_isys *isys, 197 int ipu6_isys_dwc_phy_set_power(struct ipu6_isys *isys, 202 int ipu6_isys_jsl_phy_set_power(struct ipu6_isys *isys,
|
D | ipu6-isys-queue.c | 30 struct device *dev = &av->isys->adev->auxdev.dev; in queue_setup() 51 struct device *dev = &av->isys->adev->auxdev.dev; in ipu6_isys_buf_prepare() 94 dev = &av->isys->adev->auxdev.dev; in ipu6_isys_buffer_list_queue() 126 struct device *dev = &stream->isys->adev->auxdev.dev; in flush_firmware_streamon_fail() 168 struct device *dev = &stream->isys->adev->auxdev.dev; in buffer_list_get() 260 struct device *dev = &stream->isys->adev->auxdev.dev; in ipu6_isys_stream_start() 264 mutex_lock(&stream->isys->stream_mutex); in ipu6_isys_stream_start() 266 mutex_unlock(&stream->isys->stream_mutex); in ipu6_isys_stream_start() 293 ret = ipu6_fw_isys_complex_cmd(stream->isys, in ipu6_isys_stream_start() 322 struct device *dev = &av->isys->adev->auxdev.dev; in buf_queue() [all …]
|
D | ipu6-isys-video.h | 69 struct ipu6_isys *isys; member 96 struct ipu6_isys *isys; member 119 int ipu6_isys_fw_open(struct ipu6_isys *isys); 120 void ipu6_isys_fw_close(struct ipu6_isys *isys); 127 ipu6_isys_query_stream_by_handle(struct ipu6_isys *isys, u8 stream_handle); 129 ipu6_isys_query_stream_by_source(struct ipu6_isys *isys, int source, u8 vc);
|
D | ipu6-fw-isys.h | 580 int ipu6_fw_isys_init(struct ipu6_isys *isys, unsigned int num_streams); 581 int ipu6_fw_isys_close(struct ipu6_isys *isys); 582 int ipu6_fw_isys_simple_cmd(struct ipu6_isys *isys, 584 int ipu6_fw_isys_complex_cmd(struct ipu6_isys *isys, 588 int ipu6_fw_isys_send_proxy_token(struct ipu6_isys *isys, 592 void ipu6_fw_isys_cleanup(struct ipu6_isys *isys);
|
D | ipu6-isys-csi2.h | 41 struct ipu6_isys *isys; member 68 int ipu6_isys_csi2_init(struct ipu6_isys_csi2 *csi2, struct ipu6_isys *isys,
|
D | ipu6.c | 245 dma_addr = sg_dma_address(isp->isys->fw_sgt.sgl); in ipu6_pkg_dir_configure_spc() 608 isp->isys = ipu6_isys_init(pdev, dev, isys_ctrl, isys_base, in ipu6_pci_probe() 610 if (IS_ERR(isp->isys)) { in ipu6_pci_probe() 611 ret = PTR_ERR(isp->isys); in ipu6_pci_probe() 622 isp->psys = ipu6_psys_init(pdev, &isp->isys->auxdev.dev, psys_ctrl, in ipu6_pci_probe() 697 if (!IS_ERR_OR_NULL(isp->isys) && !IS_ERR_OR_NULL(isp->isys->mmu)) in ipu6_pci_probe() 698 ipu6_mmu_cleanup(isp->isys->mmu); in ipu6_pci_probe() 710 struct ipu6_mmu *isys_mmu = isp->isys->mmu; in ipu6_pci_remove()
|
D | ipu6-isys-subdev.h | 17 struct ipu6_isys *isys; member
|
D | ipu6-isys-subdev.c | 352 asd->sd.dev = &asd->isys->adev->auxdev.dev; in ipu6_isys_subdev_init() 356 asd->pad = devm_kcalloc(&asd->isys->adev->auxdev.dev, num_pads, in ipu6_isys_subdev_init()
|
D | ipu6.h | 76 struct ipu6_bus_device *isys; member
|
D | ipu6-buttress.c | 341 struct ipu6_bus_device *adev[] = { isp->isys, isp->psys }; in ipu6_buttress_isr() 437 struct ipu6_bus_device *adev[] = { isp->isys, isp->psys }; in ipu6_buttress_isr_threaded()
|
/linux-6.12.1/drivers/staging/media/atomisp/ |
D | Makefile | 122 pci/runtime/isys/src/csi_rx_rmgr.o \ 123 pci/runtime/isys/src/isys_dma_rmgr.o \ 124 pci/runtime/isys/src/isys_init.o \ 125 pci/runtime/isys/src/isys_stream2mmio_rmgr.o \ 126 pci/runtime/isys/src/rx.o \ 127 pci/runtime/isys/src/virtual_isys.o \ 153 pci/runtime/isys/src/ibuf_ctrl_rmgr.o \ 283 -I$(atomisp)/pci/runtime/isys/interface/ \ 284 -I$(atomisp)/pci/runtime/isys/src/ \
|
/linux-6.12.1/Documentation/admin-guide/media/ |
D | v4l-drivers.rst | 19 ipu6-isys
|
D | ipu6-isys.rst | 32 There are 2 driver modules - intel-ipu6 and intel-ipu6-isys. intel-ipu6 is an 51 :alt: ipu6 isys media graph with multiple streams support
|
/linux-6.12.1/Documentation/driver-api/media/drivers/ |
D | ipu6.rst | 166 D-PHY drivers ``ipu6-isys-mcd-phy.c``, ``ipu6-isys-jsl-phy.c`` and 167 ``ipu6-isys-dwc-phy.c`` program the above 3 D-PHYs in IPU6. 171 see the PPI mmapping in ``ipu6-isys-mcd-phy.c`` for more information. On Jasper
|
/linux-6.12.1/ |
D | MAINTAINERS | 11527 F: Documentation/admin-guide/media/ipu6-isys.rst
|