mbox series

[v3,0/4] Add V4L2 M2M Driver for E5010 JPEG Encoder

Message ID 20230816152210.4080779-1-devarsht@ti.com (mailing list archive)
Headers show
Series Add V4L2 M2M Driver for E5010 JPEG Encoder | expand

Message

Devarsh Thakkar Aug. 16, 2023, 3:22 p.m. UTC
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/17348fc509fe375a630a798196edbb73

E5010 JPEG Encoder Manual tests :

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

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

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

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

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