|
|
Subscribe / Log in / New account

Add V4L2 M2M Driver for E5010 JPEG Encoder

From:  Devarsh Thakkar <devarsht-AT-ti.com>
To:  <mchehab-AT-kernel.org>, <robh+dt-AT-kernel.org>, <krzysztof.kozlowski+dt-AT-linaro.org>, <conor+dt-AT-kernel.org>, <hverkuil-cisco-AT-xs4all.nl>, <linux-media-AT-vger.kernel.org>, <devicetree-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org>
Subject:  [PATCH v3 0/4] Add V4L2 M2M Driver for E5010 JPEG Encoder
Date:  Wed, 16 Aug 2023 20:52:06 +0530
Message-ID:  <20230816152210.4080779-1-devarsht@ti.com>
Cc:  <laurent.pinchart-AT-ideasonboard.com>, <eugen.hristev-AT-collabora.com>, <ezequiel-AT-vanguardiasur.com.ar>, <u.kleine-koenig-AT-pengutronix.de>, <sakari.ailus-AT-linux.intel.com>, <praneeth-AT-ti.com>, <nm-AT-ti.com>, <vigneshr-AT-ti.com>, <a-bhatia1-AT-ti.com>, <j-luthra-AT-ti.com>, <b-brnich-AT-ti.com>, <detheridge-AT-ti.com>, <p-mantena-AT-ti.com>, <vijayp-AT-ti.com>, <devarsht-AT-ti.com>
Archive-link:  Article

This adds support for V4L2 M2M based driver for E5010 JPEG Encoder
which is a stateful JPEG encoder from Imagination technologies
and is present in TI AM62A SoC.

v4l2-compliance test :
Link: https://gist.github.com/devarsht/17348fc509fe375a630a7981...

E5010 JPEG Encoder Manual tests :

Performance:
Link: https://gist.github.com/devarsht/ef5aba211aae45166681b8b4...

Functionality:
Link: https://gist.github.com/devarsht/bfef1e3ead8e858b09cbf418...

Compression Quality:
Link: https://gist.github.com/devarsht/345df9bf7157b4ca09429376...

Multi Instance:
Link: https://gist.github.com/devarsht/4b4d734eeb9e0e616837c083...

Devarsh Thakkar (4):
  dt-bindings: media: Add bindings for Imagination E5010 JPEG Encoder
    driver
  media: imagination: Add E5010 JPEG Encoder driver
  arm64: dts: ti: k3-am62a : Add E5010 JPEG Encoder
  arm64: defconfig: Enable E5010 JPEG Encoder

 .../bindings/media/img,e5010-jpeg-enc.yaml    |   81 +
 MAINTAINERS                                   |    7 +
 arch/arm64/boot/dts/ti/k3-am62a-main.dtsi     |   11 +
 arch/arm64/boot/dts/ti/k3-am62a.dtsi          |    2 +
 arch/arm64/configs/defconfig                  |  117 +-
 drivers/media/platform/Kconfig                |    1 +
 drivers/media/platform/Makefile               |    1 +
 drivers/media/platform/imagination/Kconfig    |   12 +
 drivers/media/platform/imagination/Makefile   |    3 +
 .../platform/imagination/e5010-core-regs.h    |  585 ++++++
 .../platform/imagination/e5010-jpeg-enc-hw.c  |  320 ++++
 .../platform/imagination/e5010-jpeg-enc-hw.h  |   42 +
 .../platform/imagination/e5010-jpeg-enc.c     | 1678 +++++++++++++++++
 .../platform/imagination/e5010-jpeg-enc.h     |  169 ++
 .../platform/imagination/e5010-mmu-regs.h     |  311 +++
 15 files changed, 3265 insertions(+), 75 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/media/img,e5010-jpeg-enc.yaml
 create mode 100644 drivers/media/platform/imagination/Kconfig
 create mode 100644 drivers/media/platform/imagination/Makefile
 create mode 100644 drivers/media/platform/imagination/e5010-core-regs.h
 create mode 100644 drivers/media/platform/imagination/e5010-jpeg-enc-hw.c
 create mode 100644 drivers/media/platform/imagination/e5010-jpeg-enc-hw.h
 create mode 100644 drivers/media/platform/imagination/e5010-jpeg-enc.c
 create mode 100644 drivers/media/platform/imagination/e5010-jpeg-enc.h
 create mode 100644 drivers/media/platform/imagination/e5010-mmu-regs.h

---
Changelog:
V1->V2: 
No change (sending dt-binding and driver together)

V2->V3:
- Add DONOTMERGE patches for dts and defconfig
- Update driver with below changes :
  - Correct license headers
  - Use more generic name core instead of jasper for base registers
  - Add Comment for forward declarations
  - Simplify quantization table calculations
  - Use v4l2_apply_frmsize_constraints for updating framesize and remove unrequired functions
  - Place TODO at top of file and in commit message too
  - Use dev_err_probe helper in probe function
  - Fix return value checking for failure scenarios in probe function
  - Use v4l2_err/info/warn helpers instead of dev_err/info/warn helpers
  - Fix unexpected indentation
  - Correct commit message
- Update dt-bindings with below changes :
  - Add vendor specific compatible 
  - Fix commit title and message
  - Update reg names
  - Update clocks to 1
  - Fix dts example with proper naming
-- 
2.34.1



Copyright © 2023, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds