| /kernel/linux/linux-6.6/drivers/media/platform/qcom/camss/ |
| D | camss-vfe-gen1.c | 3 * camss-vfe-gen1.c 5 * Qualcomm MSM Camera Subsystem - VFE Common functionality for Gen 1 versions of hw (4.1, 4.7..) 11 #include "camss-vfe.h" 12 #include "camss-vfe-gen1.h" 18 int vfe_gen1_halt(struct vfe_device *vfe) in vfe_gen1_halt() argument 22 reinit_completion(&vfe->halt_complete); in vfe_gen1_halt() 24 vfe->ops_gen1->halt_request(vfe); in vfe_gen1_halt() 26 time = wait_for_completion_timeout(&vfe->halt_complete, in vfe_gen1_halt() 29 dev_err(vfe->camss->dev, "VFE halt timeout\n"); in vfe_gen1_halt() 38 struct vfe_device *vfe = to_vfe(line); in vfe_disable_output() local [all …]
|
| D | camss-vfe-480.c | 3 * camss-vfe-480.c 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module v480 (SM8250) 16 #include "camss-vfe.h" 18 /* VFE 2/3 are lite and have a different register layout */ 19 #define IS_LITE (vfe->id >= 2 ? 1 : 0) 27 static inline int reg_update_rdi(struct vfe_device *vfe, int n) in reg_update_rdi() argument 50 static inline int bus_irq_mask_0_rdi_rup(struct vfe_device *vfe, int n) in bus_irq_mask_0_rdi_rup() argument 56 static inline int bus_irq_mask_0_comp_done(struct vfe_device *vfe, int n) in bus_irq_mask_0_comp_done() argument 98 static u32 vfe_hw_version(struct vfe_device *vfe) in vfe_hw_version() argument 100 u32 hw_version = readl_relaxed(vfe->base + VFE_HW_VERSION); in vfe_hw_version() [all …]
|
| D | camss-vfe-170.c | 3 * camss-vfe-170.c 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module v170 15 #include "camss-vfe.h" 179 static u32 vfe_hw_version(struct vfe_device *vfe) in vfe_hw_version() argument 181 u32 hw_version = readl_relaxed(vfe->base + VFE_HW_VERSION); in vfe_hw_version() 187 dev_dbg(vfe->camss->dev, "VFE HW Version = %u.%u.%u\n", in vfe_hw_version() 193 static inline void vfe_reg_set(struct vfe_device *vfe, u32 reg, u32 set_bits) in vfe_reg_set() argument 195 u32 bits = readl_relaxed(vfe->base + reg); in vfe_reg_set() 197 writel_relaxed(bits | set_bits, vfe->base + reg); in vfe_reg_set() 200 static void vfe_global_reset(struct vfe_device *vfe) in vfe_global_reset() argument [all …]
|
| D | camss-vfe-4-7.c | 3 * camss-vfe-4-7.c 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module v4.7 17 #include "camss-vfe.h" 18 #include "camss-vfe-gen1.h" 257 static u32 vfe_hw_version(struct vfe_device *vfe) in vfe_hw_version() argument 259 u32 hw_version = readl_relaxed(vfe->base + VFE_0_HW_VERSION); in vfe_hw_version() 261 dev_dbg(vfe->camss->dev, "VFE HW Version = 0x%08x\n", hw_version); in vfe_hw_version() 276 static inline void vfe_reg_clr(struct vfe_device *vfe, u32 reg, u32 clr_bits) in vfe_reg_clr() argument 278 u32 bits = readl_relaxed(vfe->base + reg); in vfe_reg_clr() 280 writel_relaxed(bits & ~clr_bits, vfe->base + reg); in vfe_reg_clr() [all …]
|
| D | camss-vfe-4-8.c | 3 * camss-vfe-4-8.c 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module v4.8 17 #include "camss-vfe.h" 18 #include "camss-vfe-gen1.h" 250 static u32 vfe_hw_version(struct vfe_device *vfe) in vfe_hw_version() argument 252 u32 hw_version = readl_relaxed(vfe->base + VFE_0_HW_VERSION); in vfe_hw_version() 254 dev_dbg(vfe->camss->dev, "VFE HW Version = 0x%08x\n", hw_version); in vfe_hw_version() 259 static inline void vfe_reg_clr(struct vfe_device *vfe, u32 reg, u32 clr_bits) in vfe_reg_clr() argument 261 u32 bits = readl_relaxed(vfe->base + reg); in vfe_reg_clr() 263 writel_relaxed(bits & ~clr_bits, vfe->base + reg); in vfe_reg_clr() [all …]
|
| D | camss-vfe-4-1.c | 3 * camss-vfe-4-1.c 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module v4.1 16 #include "camss-vfe.h" 17 #include "camss-vfe-gen1.h" 213 static u32 vfe_hw_version(struct vfe_device *vfe) in vfe_hw_version() argument 215 u32 hw_version = readl_relaxed(vfe->base + VFE_0_HW_VERSION); in vfe_hw_version() 217 dev_dbg(vfe->camss->dev, "VFE HW Version = 0x%08x\n", hw_version); in vfe_hw_version() 230 static inline void vfe_reg_clr(struct vfe_device *vfe, u32 reg, u32 clr_bits) in vfe_reg_clr() argument 232 u32 bits = readl_relaxed(vfe->base + reg); in vfe_reg_clr() 234 writel_relaxed(bits & ~clr_bits, vfe->base + reg); in vfe_reg_clr() [all …]
|
| D | camss-vfe-gen1.h | 3 * camss-vfe.h 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module 13 #include "camss-vfe.h" 21 void (*bus_connect_wm_to_rdi)(struct vfe_device *vfe, u8 wm, enum vfe_line_id id); 22 void (*bus_disconnect_wm_from_rdi)(struct vfe_device *vfe, u8 wm, enum vfe_line_id id); 23 void (*bus_enable_wr_if)(struct vfe_device *vfe, u8 enable); 24 void (*bus_reload_wm)(struct vfe_device *vfe, u8 wm); 25 int (*camif_wait_for_stop)(struct vfe_device *vfe, struct device *dev); 26 void (*enable_irq_common)(struct vfe_device *vfe); 27 void (*enable_irq_wm_line)(struct vfe_device *vfe, u8 wm, enum vfe_line_id line_id, [all …]
|
| D | camss-vfe.c | 3 * camss-vfe.c 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module 24 #include "camss-vfe.h" 29 /* VFE reset timeout */ 171 struct vfe_device *vfe = to_vfe(line); in vfe_src_pad_code() local 173 if (vfe->camss->version == CAMSS_8x16) in vfe_src_pad_code() 221 else if (vfe->camss->version == CAMSS_8x96 || in vfe_src_pad_code() 222 vfe->camss->version == CAMSS_660 || in vfe_src_pad_code() 223 vfe->camss->version == CAMSS_845 || in vfe_src_pad_code() 224 vfe->camss->version == CAMSS_8250) in vfe_src_pad_code() [all …]
|
| D | camss-vfe.h | 3 * camss-vfe.h 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module 20 #include "camss-vfe-gen1.h" 29 /* VFE halt timeout */ 104 void (*enable_irq_common)(struct vfe_device *vfe); 105 void (*global_reset)(struct vfe_device *vfe); 106 u32 (*hw_version)(struct vfe_device *vfe); 108 void (*isr_read)(struct vfe_device *vfe, u32 *value0, u32 *value1); 109 void (*pm_domain_off)(struct vfe_device *vfe); 110 int (*pm_domain_on)(struct vfe_device *vfe); [all …]
|
| D | camss-ispif.c | 275 "Error: asked reset for invalid VFE%d\n", vfe_id); in ispif_vfe_reset() 308 "ISPIF for VFE%d reset timeout\n", vfe_id); in ispif_vfe_reset() 417 * @intf: VFE interface 419 * @vfe: VFE HW module id 424 u8 vfe, u8 enable) in ispif_select_clk_mux() argument 431 val &= ~(0xf << (vfe * 8)); in ispif_select_clk_mux() 433 val |= (csid << (vfe * 8)); in ispif_select_clk_mux() 439 val &= ~(0xf << (vfe * 12)); in ispif_select_clk_mux() 441 val |= (csid << (vfe * 12)); in ispif_select_clk_mux() 447 val &= ~(0xf << (4 + (vfe * 8))); in ispif_select_clk_mux() [all …]
|
| D | Makefile | 14 camss-vfe-4-1.o \ 15 camss-vfe-4-7.o \ 16 camss-vfe-4-8.o \ 17 camss-vfe-170.o \ 18 camss-vfe-480.o \ 19 camss-vfe-gen1.o \ 20 camss-vfe.o \
|
| D | camss.c | 646 /* VFE-lite */ 1008 struct vfe_device *vfe = &camss->vfe[id]; in camss_pm_domain_on() local 1010 ret = vfe->ops->pm_domain_on(vfe); in camss_pm_domain_on() 1019 struct vfe_device *vfe = &camss->vfe[id]; in camss_pm_domain_off() local 1021 vfe->ops->pm_domain_off(vfe); in camss_pm_domain_off() 1172 /* note: SM8250 requires VFE to be initialized before CSID */ in camss_init_subdevices() 1174 ret = msm_vfe_subdev_init(camss, &camss->vfe[i], in camss_init_subdevices() 1178 "Fail to init vfe%d sub-device: %d\n", i, ret); in camss_init_subdevices() 1246 ret = msm_vfe_register_entities(&camss->vfe[i], in camss_register_entities() 1250 "Failed to register vfe%d entities: %d\n", in camss_register_entities() [all …]
|
| D | camss-csid.c | 28 /* offset of CSID registers in VFE region for VFE 480 */ 161 struct vfe_device *vfe = &camss->vfe[csid->id]; in csid_set_power() local 167 ret = vfe_get(vfe); in csid_set_power() 221 vfe_put(vfe); in csid_set_power() 595 /* for titan 480, CSID registers are inside the VFE region, in msm_csid_subdev_init() 596 * between the VFE "top" and "bus" registers. this requires in msm_csid_subdev_init() 597 * VFE to be initialized before CSID in msm_csid_subdev_init() 599 if (id >= 2) /* VFE/CSID lite */ in msm_csid_subdev_init() 600 csid->base = camss->vfe[id].base + VFE_480_LITE_CSID_OFFSET; in msm_csid_subdev_init() 602 csid->base = camss->vfe[id].base + VFE_480_CSID_OFFSET; in msm_csid_subdev_init()
|
| /kernel/linux/linux-5.10/drivers/media/platform/qcom/camss/ |
| D | camss-vfe.c | 3 * camss-vfe.c 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module 24 #include "camss-vfe.h" 35 /* VFE reset timeout */ 37 /* VFE halt timeout */ 158 struct vfe_device *vfe = to_vfe(line); in vfe_src_pad_code() local 160 if (vfe->camss->version == CAMSS_8x16) in vfe_src_pad_code() 208 else if (vfe->camss->version == CAMSS_8x96) in vfe_src_pad_code() 273 * vfe_reset - Trigger reset on VFE module and wait to complete 274 * @vfe: VFE device [all …]
|
| D | camss-vfe-4-7.c | 3 * camss-vfe-4-7.c 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module v4.7 15 #include "camss-vfe.h" 242 static void vfe_hw_version_read(struct vfe_device *vfe, struct device *dev) in vfe_hw_version_read() argument 244 u32 hw_version = readl_relaxed(vfe->base + VFE_0_HW_VERSION); in vfe_hw_version_read() 246 dev_err(dev, "VFE HW Version = 0x%08x\n", hw_version); in vfe_hw_version_read() 259 static inline void vfe_reg_clr(struct vfe_device *vfe, u32 reg, u32 clr_bits) in vfe_reg_clr() argument 261 u32 bits = readl_relaxed(vfe->base + reg); in vfe_reg_clr() 263 writel_relaxed(bits & ~clr_bits, vfe->base + reg); in vfe_reg_clr() 266 static inline void vfe_reg_set(struct vfe_device *vfe, u32 reg, u32 set_bits) in vfe_reg_set() argument [all …]
|
| D | camss-vfe-4-1.c | 3 * camss-vfe-4-1.c 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module v4.1 15 #include "camss-vfe.h" 211 static void vfe_hw_version_read(struct vfe_device *vfe, struct device *dev) in vfe_hw_version_read() argument 213 u32 hw_version = readl_relaxed(vfe->base + VFE_0_HW_VERSION); in vfe_hw_version_read() 215 dev_dbg(dev, "VFE HW Version = 0x%08x\n", hw_version); in vfe_hw_version_read() 226 static inline void vfe_reg_clr(struct vfe_device *vfe, u32 reg, u32 clr_bits) in vfe_reg_clr() argument 228 u32 bits = readl_relaxed(vfe->base + reg); in vfe_reg_clr() 230 writel_relaxed(bits & ~clr_bits, vfe->base + reg); in vfe_reg_clr() 233 static inline void vfe_reg_set(struct vfe_device *vfe, u32 reg, u32 set_bits) in vfe_reg_set() argument [all …]
|
| D | camss-vfe.h | 3 * camss-vfe.h 5 * Qualcomm MSM Camera Subsystem - VFE (Video Front End) Module 81 void (*hw_version_read)(struct vfe_device *vfe, struct device *dev); 83 void (*global_reset)(struct vfe_device *vfe); 84 void (*halt_request)(struct vfe_device *vfe); 85 void (*halt_clear)(struct vfe_device *vfe); 86 void (*wm_enable)(struct vfe_device *vfe, u8 wm, u8 enable); 87 void (*wm_frame_based)(struct vfe_device *vfe, u8 wm, u8 enable); 88 void (*wm_line_based)(struct vfe_device *vfe, u32 wm, 91 void (*wm_set_framedrop_period)(struct vfe_device *vfe, u8 wm, u8 per); [all …]
|
| D | camss-ispif.c | 390 * @intf: VFE interface 392 * @vfe: VFE HW module id 397 u8 vfe, u8 enable) in ispif_select_clk_mux() argument 404 val &= ~(0xf << (vfe * 8)); in ispif_select_clk_mux() 406 val |= (csid << (vfe * 8)); in ispif_select_clk_mux() 412 val &= ~(0xf << (vfe * 12)); in ispif_select_clk_mux() 414 val |= (csid << (vfe * 12)); in ispif_select_clk_mux() 420 val &= ~(0xf << (4 + (vfe * 8))); in ispif_select_clk_mux() 422 val |= (csid << (4 + (vfe * 8))); in ispif_select_clk_mux() 428 val &= ~(0xf << (4 + (vfe * 12))); in ispif_select_clk_mux() [all …]
|
| D | Makefile | 11 camss-vfe-4-1.o \ 12 camss-vfe-4-7.o \ 13 camss-vfe.o \
|
| D | camss.c | 570 ret = msm_vfe_subdev_init(camss, &camss->vfe[i], in camss_init_subdevices() 574 "Fail to init vfe%d sub-device: %d\n", i, ret); in camss_init_subdevices() 623 ret = msm_vfe_register_entities(&camss->vfe[i], in camss_register_entities() 627 "Failed to register vfe%d entities: %d\n", in camss_register_entities() 673 for (j = 0; j < ARRAY_SIZE(camss->vfe[k].line); j++) { in camss_register_entities() 677 &camss->vfe[k].line[j].subdev.entity, in camss_register_entities() 684 camss->vfe[k].line[j].subdev.entity.name, in camss_register_entities() 696 msm_vfe_unregister_entities(&camss->vfe[i]); in camss_register_entities() 733 msm_vfe_unregister_entities(&camss->vfe[i]); in camss_unregister_entities() 855 camss->vfe = devm_kcalloc(dev, camss->vfe_num, sizeof(*camss->vfe), in camss_probe() [all …]
|
| D | camss.h | 24 #include "camss-vfe.h" 82 struct vfe_device *vfe; member
|
| /kernel/linux/linux-6.6/Documentation/admin-guide/media/ |
| D | qcom_camss.rst | 37 the CSIDs to the inputs of the VFE; 38 - 1 / 2 VFE (Video Front End) module(s). Contain a pipeline of image processing 39 hardware blocks. The VFE has different input interfaces. The PIX (Pixel) input 43 pipeline. The VFE also contains the AXI bus interface which writes the output 54 - RDI interface of VFE 82 - PIX interface of VFE 98 - Scaling support. Configuration of the VFE Encoder Scale module 101 - Cropping support. Configuration of the VFE Encoder Crop module. 118 - 4 / 8 VFE sub-devices - VFE is represented by a number of sub-devices equal to 119 the number of the input interfaces (3 RDI and 1 PIX for each VFE). [all …]
|
| /kernel/linux/linux-5.10/Documentation/admin-guide/media/ |
| D | qcom_camss.rst | 37 the CSIDs to the inputs of the VFE; 38 - 1 / 2 VFE (Video Front End) module(s). Contain a pipeline of image processing 39 hardware blocks. The VFE has different input interfaces. The PIX (Pixel) input 43 pipeline. The VFE also contains the AXI bus interface which writes the output 54 - RDI interface of VFE 82 - PIX interface of VFE 98 - Scaling support. Configuration of the VFE Encoder Scale module 101 - Cropping support. Configuration of the VFE Encoder Crop module. 118 - 4 / 8 VFE sub-devices - VFE is represented by a number of sub-devices equal to 119 the number of the input interfaces (3 RDI and 1 PIX for each VFE). [all …]
|
| /kernel/linux/linux-6.6/drivers/media/pci/zoran/ |
| D | zoran_device.c | 589 if (zr->vfe) in jpeg_start() 590 zr36016_write(zr->vfe, 0, 1); in jpeg_start() 633 /* Take the JPEG codec and the VFE out of sleep */ in zr36057_enable_jpg() 655 /* Setup the VFE */ in zr36057_enable_jpg() 656 if (zr->vfe) { in zr36057_enable_jpg() 657 zr->vfe->control(zr->vfe, CODEC_S_JPEG_TDS_BYTE, in zr36057_enable_jpg() 659 zr->vfe->set_video(zr->vfe, zr->timing, &cap, in zr36057_enable_jpg() 661 zr->vfe->set_mode(zr->vfe, CODEC_DO_COMPRESSION); in zr36057_enable_jpg() 680 /* Take the JPEG codec and the VFE out of sleep */ in zr36057_enable_jpg() 682 /* Setup the VFE */ in zr36057_enable_jpg() [all …]
|
| /kernel/linux/linux-5.10/drivers/staging/media/zoran/ |
| D | zoran_device.c | 651 if (zr->vfe) in jpeg_start() 652 zr36016_write(zr->vfe, 0, 1); in jpeg_start() 697 /* Take the JPEG codec and the VFE out of sleep */ in zr36057_enable_jpg() 719 /* Setup the VFE */ in zr36057_enable_jpg() 720 if (zr->vfe) { in zr36057_enable_jpg() 721 zr->vfe->control(zr->vfe, CODEC_S_JPEG_TDS_BYTE, in zr36057_enable_jpg() 723 zr->vfe->set_video(zr->vfe, zr->timing, &cap, in zr36057_enable_jpg() 725 zr->vfe->set_mode(zr->vfe, CODEC_DO_COMPRESSION); in zr36057_enable_jpg() 744 /* Take the JPEG codec and the VFE out of sleep */ in zr36057_enable_jpg() 746 /* Setup the VFE */ in zr36057_enable_jpg() [all …]
|