[PATCH 0/3] Subject: [PATCH 0/3] media: qcom: Add Qualcomm JPEG encoder driver
From: Atanas Filipov
Date: Fri May 15 2026 - 08:12:39 EST
Add a new Qualcomm JPEG V4L2 mem2mem encoder driver for Qualcomm SoCs.
The driver provides hardware-accelerated JPEG encoding through the V4L2
mem2mem framework.
Currently supported platforms are:
- sc7180
- sm8250
- sm7325
- sc7280
- qcm6490
- sm8550
The driver has been functionally verified only on qcm6490 hardware at
this time. Support for the remaining platforms is based on matching
hardware compatibility and available platform integration data.
Main features:
- V4L2 mem2mem encoder interface
- Hardware JPEG encoding
- DMA-based buffer handling
- Device-tree based platform integration
- Runtime PM support
Testing performed on qcm6490:
- JPEG encoding
- Multiple image resolutions
- Repeated streaming start/stop
- Long-running encode stability tests
- GStreamer pipeline validation
Known limitations:
- Image scaling is currently not supported
- Image width and height must be aligned to 16 pixels
- Other listed platforms are compile-tested only
This series includes:
- DT bindings for Qualcomm JPEG encoder hardware
- core JPEG encoder driver implementation
- V4L2 mem2mem integration
- platform support for supported Qualcomm SoCs
- runtime PM integration
To: Gjorgji Rosikopulos <grosikop@xxxxxxxxxxx>
To: Kapatrala Syed <akapatra@xxxxxxxxxxx>
To: Hariram Purushothaman <hariramp@xxxxxxxxxxx>
Signed-off-by: Atanas Filipov <atanas.filipov@xxxxxxxxxxxxxxxx>
---
Atanas Filipov (3):
media: dt-bindings: qcom: add JPEG encoder binding
qcom: media: jpeg: Add Qualcomm JPEG V4L2 encoder
arm64: qcom: dts: qcm6490: Add JPEG encoder DT properties
.../bindings/media/qcom,jpeg-encoder.yaml | 122 ++
arch/arm64/boot/dts/qcom/kodiak.dtsi | 52 +
drivers/media/platform/qcom/Kconfig | 1 +
drivers/media/platform/qcom/Makefile | 1 +
drivers/media/platform/qcom/jpeg/Kconfig | 17 +
drivers/media/platform/qcom/jpeg/Makefile | 9 +
drivers/media/platform/qcom/jpeg/qcom_jenc_defs.h | 253 ++++
drivers/media/platform/qcom/jpeg/qcom_jenc_dev.c | 370 +++++
drivers/media/platform/qcom/jpeg/qcom_jenc_dev.h | 111 ++
drivers/media/platform/qcom/jpeg/qcom_jenc_hdr.c | 388 +++++
drivers/media/platform/qcom/jpeg/qcom_jenc_hdr.h | 130 ++
drivers/media/platform/qcom/jpeg/qcom_jenc_ops.c | 1522 ++++++++++++++++++++
drivers/media/platform/qcom/jpeg/qcom_jenc_ops.h | 49 +
drivers/media/platform/qcom/jpeg/qcom_jenc_res.c | 268 ++++
drivers/media/platform/qcom/jpeg/qcom_jenc_res.h | 70 +
drivers/media/platform/qcom/jpeg/qcom_jenc_v4l2.c | 1082 ++++++++++++++
drivers/media/platform/qcom/jpeg/qcom_jenc_v4l2.h | 27 +
.../platform/qcom/jpeg/qcom_v165_jenc_hw_info.h | 509 +++++++
.../platform/qcom/jpeg/qcom_v580_jenc_hw_info.h | 509 +++++++
.../platform/qcom/jpeg/qcom_v680_jenc_hw_info.h | 509 +++++++
.../platform/qcom/jpeg/qcom_v780_jenc_hw_info.h | 509 +++++++
21 files changed, 6508 insertions(+)
---
base-commit: 804a18eddd6d57bd554e0716034c764f48659b0a
change-id: 20260515-qcom-jpeg-v4l2-5014defb5bcf
Best regards,
--
Atanas Filipov <atanas.filipov@xxxxxxxxxxxxxxxx>