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/7ad3d344e11e2c17befbf16bc079f817 E5010 JPEG Encoder Manual tests : Performance: Link: https://gist.github.com/devarsht/02397fa4ecee5104898cba67ff08dd4f Functionality: Link: https://gist.github.com/devarsht/b2c4f537d7b0f822dd4da28ffdd970c0 Compression Quality: Link: https://gist.github.com/devarsht/ef14fb216c9b5c484a712c94fffeb26b Multi Instance: Link: https://gist.github.com/devarsht/0e4949e72d55d0f608f7a28de5e2a4f9 Devarsh Thakkar (3): media: dt-bindings: Add Imagination E5010 JPEG Encoder media: jpeg: Add reference quantization and huffman tables media: imagination: Add E5010 JPEG Encoder driver --- Link to previous version of this series: V2: https://lore.kernel.org/all/20230727112546.2201995-1-devarsht@xxxxxx/ V3: https://lore.kernel.org/all/20230816152210.4080779-1-devarsht@xxxxxx/ V4: https://lore.kernel.org/all/20240205114239.924697-1-devarsht@xxxxxx/ V3->V4 Range diff : https://gist.github.com/devarsht/22a744d999080de6e813bcfb5a596272 V4->V5 Range diff : https://gist.github.com/devarsht/298790af819f299a0a05fec89371097b .../bindings/media/img,e5010-jpeg-enc.yaml | 75 + MAINTAINERS | 7 + 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 | 267 +++ .../platform/imagination/e5010-jpeg-enc-hw.h | 42 + .../platform/imagination/e5010-jpeg-enc.c | 1552 +++++++++++++++++ .../platform/imagination/e5010-jpeg-enc.h | 169 ++ .../platform/imagination/e5010-mmu-regs.h | 311 ++++ include/media/jpeg-enc-reftables.h | 112 ++ include/media/jpeg.h | 4 + 14 files changed, 3141 insertions(+) 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 create mode 100644 include/media/jpeg-enc-reftables.h -- 2.34.1