linux/drivers/media/platform/qcom/camss
Loic Poulain 6a75e3d4f6 media: qcom: camss: vfe-340: Support for PIX client
Add support for the vfe-340 PIX write engine, enabling frame capture
through the PIX video device (e.g. msm_vfe0_pix). The PIX path requires
a separate configuration flow from RDI, including cropping setup, line-
based write engine configuration, and the correct packer format based
on the input pixel format.

In contrast to RDI, the PIX interface embeds a lightweight processing
engine we can use for cropping, configuring custom stride/alignment,
and, in the future, extracting frame statistics.

The functionality has been validated on Arduino-Uno-Q with:
media-ctl -d /dev/media0 --reset
media-ctl -d /dev/media0 -l '"msm_csiphy0":1->"msm_csid0":0[1],"msm_csid0":4->"msm_vfe0_pix":0[1]'
media-ctl -d /dev/media0 -V '"imx219 1-0010":0[fmt:SRGGB8_1X8/640x480 field:none]'
media-ctl -d /dev/media0 -V '"msm_csiphy0":0[fmt:SRGGB8_1X8/640x480 field:none]'
media-ctl -d /dev/media0 -V '"msm_csid0":0[fmt:SRGGB8_1X8/640x480 field:none]'
media-ctl -d /dev/media0 -V '"msm_vfe0_pix":0[fmt:SRGGB8_1X8/640x480 field:none]'
yavta -B capture-mplane --capture=3 -n 3 -f SRGGB8 -s 640x480 /dev/video3

Signed-off-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
[bod: Squash down fix for bpp unused in vfe_packer_format]
Signed-off-by: Bryan O'Donoghue <bod@kernel.org>
2026-05-31 12:26:41 +01:00
..
camss-csid-4-1.c media: qcom: camss: csid: Move common code into csid core 2025-02-06 13:49:31 +01:00
camss-csid-4-7.c media: qcom: camss: csid: Move common code into csid core 2025-02-06 13:49:31 +01:00
camss-csid-340.c media: qcom: camss: csid-340: Enable PIX interface routing 2026-05-31 09:45:20 +01:00
camss-csid-680.c media: qcom: camss: Fix RDI streaming for CSID 680 2026-05-09 00:22:59 +01:00
camss-csid-gen1.h media: camss: Add missing format identifiers 2021-03-22 12:24:28 +01:00
camss-csid-gen2.c media: qcom: camss: Fix RDI streaming for CSID GEN2 2026-05-09 00:22:59 +01:00
camss-csid-gen2.h media: camss: Add missing format identifiers 2021-03-22 12:24:28 +01:00
camss-csid-gen3.c media: qcom: camss: Fix RDI streaming for CSID GEN3 2026-05-09 00:22:59 +01:00
camss-csid-gen3.h media: qcom: camss: Rename camss-csid-780.c to camss-csid-gen3.c 2025-09-09 15:59:21 +02:00
camss-csid.c media: qcom: camss: Add link support for TPG 2026-05-09 00:22:58 +01:00
camss-csid.h media: qcom: camss: Add link support for TPG 2026-05-09 00:22:58 +01:00
camss-csiphy-2ph-1-0.c media: qcom: camss: csiphy: Add an init callback to CSI PHY devices 2025-02-06 13:49:31 +01:00
camss-csiphy-3ph-1-0.c media: qcom: camss: Add SM6350 support 2026-05-09 00:22:58 +01:00
camss-csiphy.c media: qcom: camss: Add link support for TPG 2026-05-09 00:22:58 +01:00
camss-csiphy.h media: qcom: camss: Add link support for TPG 2026-05-09 00:22:58 +01:00
camss-format.c media: qcom: camss: Add per-format BPL alignment helper 2026-05-09 00:22:59 +01:00
camss-format.h media: qcom: camss: Add per-format BPL alignment helper 2026-05-09 00:22:59 +01:00
camss-ispif.c media: qcom: camss: Add support for MSM8939 2025-11-06 12:43:56 +01:00
camss-ispif.h media: qcom: camss: Rename camss struct resources to camss_subdev_resources 2023-10-07 10:55:43 +02:00
camss-tpg-gen1.c media: qcom: camss: tpg: Add TPG support for multiple targets 2026-05-09 00:22:58 +01:00
camss-tpg.c media: qcom: camss: Add common TPG support 2026-05-09 00:22:58 +01:00
camss-tpg.h media: qcom: camss: Add common TPG support 2026-05-09 00:22:58 +01:00
camss-vfe-4-1.c media: qcom: camss: vfe: Add VBIF setting support 2025-11-06 12:43:56 +01:00
camss-vfe-4-7.c media: qcom: camss: vfe: Move common code into vfe core 2025-02-06 13:49:31 +01:00
camss-vfe-4-8.c media: qcom: camss: vfe: Move common code into vfe core 2025-02-06 13:49:31 +01:00
camss-vfe-17x.c media: qcom: camss: vfe: Move common code into vfe core 2025-02-06 13:49:31 +01:00
camss-vfe-340.c media: qcom: camss: vfe-340: Support for PIX client 2026-05-31 12:26:41 +01:00
camss-vfe-480.c media: qcom: camss: vfe: Fix out-of-bounds access in vfe_isr_reg_update() 2026-01-13 10:25:01 +01:00
camss-vfe-680.c media: qcom: camss: Add VFE680 support 2025-04-11 13:29:06 +02:00
camss-vfe-gen1.c media: v4l: Convert the users of v4l2_get_link_freq to call it on a pad 2025-02-15 15:22:58 +01:00
camss-vfe-gen1.h media: camss: Refactor VFE HW version support 2021-03-22 12:22:15 +01:00
camss-vfe-gen3.c media: qcom: camss: enable vfe 690 for qcs8300 2025-09-09 15:59:21 +02:00
camss-vfe-vbif.c media: qcom: camss: Add support for MSM8939 2025-11-06 12:43:56 +01:00
camss-vfe-vbif.h media: qcom: camss: vfe: Add VBIF setting support 2025-11-06 12:43:56 +01:00
camss-vfe.c media: qcom: camss: vfe: Make PIX BPL alignment format-based on CAMSS_2290 2026-05-09 00:22:59 +01:00
camss-vfe.h media: qcom: camss: vfe: Add VBIF setting support 2025-11-06 12:43:56 +01:00
camss-video.c media: qcom: camss: Use proper BPL alignment helper and non-power-of-two rounding 2026-05-09 00:22:59 +01:00
camss-video.h media: qcom: camss: Attach formats to VFE resources 2024-06-29 12:20:04 +02:00
camss.c media: qcom: camss: tpg: Add TPG support for multiple targets 2026-05-09 00:22:58 +01:00
camss.h media: qcom: camss: Add common TPG support 2026-05-09 00:22:58 +01:00
Kconfig media: Kconfig: cleanup VIDEO_DEV dependencies 2022-03-18 05:58:35 +01:00
Makefile media: qcom: camss: tpg: Add TPG support for multiple targets 2026-05-09 00:22:58 +01:00