| /linux-6.15/drivers/media/pci/intel/ipu6/ |
| H A D | ipu6-isys.c | 155 isys->streams[i].isys = isys; in isys_stream_init() 179 ret = ipu6_isys_csi2_init(&isys->csi2[i], isys, in isys_csi2_register_subdevices() 250 av->isys = isys; in isys_register_video_devices() 655 iwake_watermark->isys = isys; in isys_iwake_watermark_init() 724 v4l2_async_nf_init(&isys->notifier, &isys->v4l2_dev); in isys_notifier_init() 793 strscpy(isys->v4l2_dev.name, isys->media_dev.model, in isys_register_devices() 800 isys->v4l2_dev.mdev = &isys->media_dev; in isys_register_devices() 860 if (!isys) in isys_runtime_pm_resume() 891 if (!isys) in isys_runtime_pm_suspend() 987 struct ipu6_isys *isys = stream->isys; in ipu6_get_fw_msg_buf() local [all …]
|
| H A D | ipu6-isys-dwc-phy.c | 67 void __iomem *isys_base = isys->pdata->base; in dwc_dphy_write() 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() 203 100, DWC_DPHY_TIMEOUT, false, isys, in dwc_dphy_pwr_up() 324 if (isys->phy_termcal_val) { in ipu6_isys_dwc_phy_config() 328 isys->phy_termcal_val, 4, 4); in ipu6_isys_dwc_phy_config() 408 ret = dwc_dphy_pwr_up(isys, phy_id); in ipu6_isys_dwc_phy_powerup_ack() 426 isys->phy_termcal_val = dwc_dphy_ifc_read_mask(isys, phy_id, in ipu6_isys_dwc_phy_powerup_ack() 429 isys->phy_termcal_val); in ipu6_isys_dwc_phy_powerup_ack() 513 ipu6_isys_dwc_phy_reset(isys, phy_id); in ipu6_isys_dwc_phy_set_power() [all …]
|
| H A D | ipu6-fw-isys.c | 151 ret = ipu6_fw_com_close(isys->fwcom); in ipu6_fw_isys_close() 152 fwcom = isys->fwcom; in ipu6_fw_isys_close() 153 isys->fwcom = NULL; in ipu6_fw_isys_close() 168 isys->fwcom = fwcom; in ipu6_fw_isys_close() 181 dev_warn(&isys->adev->auxdev.dev, in ipu6_fw_isys_cleanup() 183 isys->fwcom = NULL; in ipu6_fw_isys_cleanup() 337 isys->fwcom = ipu6_fw_com_prepare(&fwcom, isys->adev, in ipu6_fw_isys_init() 338 isys->pdata->base); in ipu6_fw_isys_init() 339 if (!isys->fwcom) { in ipu6_fw_isys_init() 344 ret = ipu6_fw_com_open(isys->fwcom); in ipu6_fw_isys_init() [all …]
|
| H A D | ipu6-isys-video.c | 101 struct ipu6_isys *isys = av->isys; in video_open() local 452 struct ipu6_isys *isys = av->isys; in ipu6_isys_fw_pin_cfg() local 513 if (isys->sensor_type > isys->pdata->ipdata->sensor_type_end) in ipu6_isys_fw_pin_cfg() 514 isys->sensor_type = isys->pdata->ipdata->sensor_type_start; in ipu6_isys_fw_pin_cfg() 747 struct ipu6_isys *isys = av->isys; in ipu6_isys_configure_stream_watermark() local 876 struct ipu6_isys *isys = av->isys; in ipu6_isys_get_stream() local 881 if (!isys) in ipu6_isys_get_stream() 886 if (isys->streams_ref_count[i] && isys->streams[i].vc == vc && in ipu6_isys_get_stream() 916 if (!isys) in ipu6_isys_query_stream_by_handle() 942 if (!isys) in ipu6_isys_query_stream_by_source() [all …]
|
| H A D | ipu6-isys-jsl-phy.c | 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() 115 void __iomem *base = isys->adev->isp->base; in ipu6_isys_csi2_rx_control() 142 struct device *dev = &isys->adev->auxdev.dev; in ipu6_isys_csi2_set_port_cfg() 174 struct device *dev = &isys->adev->auxdev.dev; in ipu6_isys_csi2_set_timing() 184 reg = isys->pdata->base + port_base; in ipu6_isys_csi2_set_timing() 189 reg = isys->pdata->base + port_base; in ipu6_isys_csi2_set_timing() 194 reg = isys->pdata->base + port_base; in ipu6_isys_csi2_set_timing() 198 reg = isys->pdata->base + port_base; in ipu6_isys_csi2_set_timing() 211 void __iomem *isys_base = isys->pdata->base; in ipu6_isys_jsl_phy_set_power() [all …]
|
| H A D | ipu6-isys-mcd-phy.c | 506 void __iomem *isys_base = isys->pdata->base; in ipu6_isys_mcd_phy_powerup_ack() 526 void __iomem *isys_base = isys->pdata->base; in ipu6_isys_mcd_phy_powerdown_ack() 542 void __iomem *isys_base = isys->pdata->base; in ipu6_isys_mcd_phy_reset() 557 void __iomem *isys_base = isys->pdata->base; in ipu6_isys_mcd_phy_ready() 572 struct ipu6_bus_device *adev = isys->adev; in ipu6_isys_mcd_phy_common_init() 625 struct ipu6_bus_device *adev = isys->adev; in ipu6_isys_mcd_phy_config() 671 void __iomem *isys_base = isys->pdata->base; in ipu6_isys_mcd_phy_set_power() 700 ipu6_isys_mcd_phy_reset(isys, phy_id, 0); in ipu6_isys_mcd_phy_set_power() 701 ipu6_isys_mcd_phy_common_init(isys); in ipu6_isys_mcd_phy_set_power() 703 ret = ipu6_isys_mcd_phy_config(isys); in ipu6_isys_mcd_phy_set_power() [all …]
|
| H A 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
|
| H A D | ipu6-isys-csi2.c | 89 dev_err(&csi2->isys->adev->auxdev.dev, in ipu6_isys_csi2_get_link_freq() 198 struct ipu6_isys *isys = csi2->isys; in ipu6_isys_register_errors() local 233 struct ipu6_isys *isys = csi2->isys; in ipu6_isys_csi2_set_stream() local 267 isys->phy_set_power(isys, &cfg, timing, false); in ipu6_isys_csi2_set_stream() 272 writel(0, isys->pdata->base + in ipu6_isys_csi2_set_stream() 334 ret = isys->phy_set_power(isys, &cfg, timing, true); in ipu6_isys_csi2_set_stream() 514 if (!csi2->isys) in ipu6_isys_csi2_cleanup() 520 csi2->isys = NULL; in ipu6_isys_csi2_cleanup() 524 struct ipu6_isys *isys, in ipu6_isys_csi2_init() argument 530 csi2->isys = isys; in ipu6_isys_csi2_init() [all …]
|
| H A D | ipu6-isys-queue.c | 125 dev = &av->isys->adev->auxdev.dev; in ipu6_isys_buffer_list_queue() 526 mutex_lock(&av->isys->mutex); in return_buffers() 527 av->isys->need_reset = true; in return_buffers() 528 mutex_unlock(&av->isys->mutex); in return_buffers() 569 ret = ipu6_isys_fw_open(av->isys); in start_streaming() 616 ipu6_isys_fw_close(av->isys); in start_streaming() 651 ipu6_isys_fw_close(av->isys); in stop_streaming() 659 struct ipu6_isys *isys = stream->isys; in get_sof_sequence_by_timestamp() local 744 struct ipu6_isys *isys = stream->isys; in ipu6_isys_queue_buf_ready() local 817 struct ipu6_isys *isys = ipu6_isys_queue_to_video(aq)->isys; in ipu6_isys_queue_init() local [all …]
|
| H A 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, uintptr_t 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,
|
| H A 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);
|
| H A 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);
|
| H A 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,
|
| H A D | ipu6.c | 245 dma_addr = sg_dma_address(isp->isys->fw_sgt.sgl); in ipu6_pkg_dir_configure_spc() 609 isp->isys = ipu6_isys_init(pdev, dev, isys_ctrl, isys_base, in ipu6_pci_probe() 611 if (IS_ERR(isp->isys)) { in ipu6_pci_probe() 612 ret = PTR_ERR(isp->isys); in ipu6_pci_probe() 623 isp->psys = ipu6_psys_init(pdev, &isp->isys->auxdev.dev, psys_ctrl, in ipu6_pci_probe() 698 if (!IS_ERR_OR_NULL(isp->isys) && !IS_ERR_OR_NULL(isp->isys->mmu)) in ipu6_pci_probe() 699 ipu6_mmu_cleanup(isp->isys->mmu); in ipu6_pci_probe() 711 struct ipu6_mmu *isys_mmu = isp->isys->mmu; in ipu6_pci_remove()
|
| H A D | ipu6-isys-subdev.h | 17 struct ipu6_isys *isys; member
|
| H A 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()
|
| H A D | ipu6.h | 76 struct ipu6_bus_device *isys; member
|
| H A D | ipu6-buttress.c | 338 struct ipu6_bus_device *adev[] = { isp->isys, isp->psys }; in ipu6_buttress_isr() 426 struct ipu6_bus_device *adev[] = { isp->isys, isp->psys }; in ipu6_buttress_isr_threaded()
|
| /linux-6.15/drivers/staging/media/atomisp/ |
| H A 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.15/Documentation/admin-guide/media/ |
| H A D | v4l-drivers.rst | 19 ipu6-isys
|
| H A 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.15/Documentation/driver-api/media/drivers/ |
| H A D | ipu6.rst | 151 D-PHY drivers ``ipu6-isys-mcd-phy.c``, ``ipu6-isys-jsl-phy.c`` and 152 ``ipu6-isys-dwc-phy.c`` program the above 3 D-PHYs in IPU6. 156 see the PPI mmapping in ``ipu6-isys-mcd-phy.c`` for more information. On Jasper
|
| /linux-6.15/ |
| H A D | MAINTAINERS | 12058 F: Documentation/admin-guide/media/ipu6-isys.rst
|