]> git.baikalelectronics.ru Git - kernel.git/commit
media: platform: mtk-mdp3: add MediaTek MDP3 driver
authorMoudy Ho <moudy.ho@mediatek.com>
Tue, 23 Aug 2022 02:38:03 +0000 (04:38 +0200)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Tue, 30 Aug 2022 14:25:51 +0000 (16:25 +0200)
commit0eba8ed8044fc1c3116b01e544574f994a4f9c17
tree75f43e9b018cd2ca8892cd696e3ff91b372b905b
parentf21729a8fc82f0fa6e9fde718b1038bc4aec8fcf
media: platform: mtk-mdp3: add MediaTek MDP3 driver

This patch adds driver for MediaTek's Media Data Path ver.3 (MDP3).
It provides the following functions:
  color transform, format conversion, resize, crop, rotate, flip
  and additional image quality enhancement.

The MDP3 driver is mainly used for Google Chromebook products to
import the new architecture to set the HW settings as shown below:
  User -> V4L2 framework
    -> MDP3 driver -> SCP (setting calculations)
      -> MDP3 driver -> CMDQ (GCE driver) -> HW

Each modules' related operation control is sited in mtk-mdp3-comp.c
Each modules' register table is defined in file with "mdp_reg_" prefix
GCE related API, operation control  sited in mtk-mdp3-cmdq.c
V4L2 m2m device functions are implemented in mtk-mdp3-m2m.c
Probe, power, suspend/resume, system level functions are defined in
mtk-mdp3-core.c

[hverkuil: add 'depends on REMOTEPROC']

Signed-off-by: Ping-Hsun Wu <ping-hsun.wu@mediatek.com>
Signed-off-by: daoyuan huang <daoyuan.huang@mediatek.com>
Signed-off-by: Moudy Ho <moudy.ho@mediatek.com>
Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
22 files changed:
drivers/media/platform/mediatek/Kconfig
drivers/media/platform/mediatek/Makefile
drivers/media/platform/mediatek/mdp3/Kconfig [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/Makefile [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/mdp_reg_ccorr.h [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/mdp_reg_rdma.h [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/mdp_reg_rsz.h [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/mdp_reg_wdma.h [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/mdp_reg_wrot.h [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/mtk-img-ipi.h [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.c [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/mtk-mdp3-cmdq.h [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/mtk-mdp3-comp.c [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/mtk-mdp3-comp.h [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.h [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/mtk-mdp3-m2m.c [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/mtk-mdp3-m2m.h [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/mtk-mdp3-regs.c [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/mtk-mdp3-regs.h [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.c [new file with mode: 0644]
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.h [new file with mode: 0644]