[PATCH v9 7/7] media: platform: mtk-mdp3: add Mediatek MDP3 driver

AngeloGioacchino Del Regno angelogioacchino.delregno at collabora.com
Thu Dec 2 04:07:42 PST 2021


Il 02/12/21 04:35, moudy ho ha scritto:
> On Wed, 2021-12-01 at 11:37 +0100, AngeloGioacchino Del Regno wrote:
>> Il 01/12/21 10:50, Moudy Ho ha scritto:
>>> 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
>>>
>>> Signed-off-by: Ping-Hsun Wu <ping-hsun.wu at mediatek.com>
>>> Signed-off-by: daoyuan huang <daoyuan.huang at mediatek.com>
>>> Signed-off-by: Moudy Ho <moudy.ho at mediatek.com>
>>> Reported-by: kernel test robot <lkp at intel.com>
>>> ---
>>>    drivers/media/platform/Kconfig                |   19 +
>>>    drivers/media/platform/Makefile               |    2 +
>>>    drivers/media/platform/mtk-mdp3/Makefile      |    6 +
>>>    .../media/platform/mtk-mdp3/mdp_reg_ccorr.h   |   19 +
>>>    drivers/media/platform/mtk-mdp3/mdp_reg_isp.h |   27 +
>>>    .../media/platform/mtk-mdp3/mdp_reg_rdma.h    |   65 +
>>>    drivers/media/platform/mtk-mdp3/mdp_reg_rsz.h |   39 +
>>>    .../media/platform/mtk-mdp3/mdp_reg_wdma.h    |   47 +
>>>    .../media/platform/mtk-mdp3/mdp_reg_wrot.h    |   55 +
>>>    drivers/media/platform/mtk-mdp3/mtk-img-ipi.h |  280 ++++
>>>    .../media/platform/mtk-mdp3/mtk-mdp3-cmdq.c   |  514 +++++++
>>>    .../media/platform/mtk-mdp3/mtk-mdp3-cmdq.h   |   46 +
>>>    .../media/platform/mtk-mdp3/mtk-mdp3-comp.c   | 1264
>>> +++++++++++++++++
>>>    .../media/platform/mtk-mdp3/mtk-mdp3-comp.h   |  147 ++
>>>    .../media/platform/mtk-mdp3/mtk-mdp3-core.c   |  338 +++++
>>>    .../media/platform/mtk-mdp3/mtk-mdp3-core.h   |   76 +
>>>    .../media/platform/mtk-mdp3/mtk-mdp3-m2m.c    |  789 ++++++++++
>>>    .../media/platform/mtk-mdp3/mtk-mdp3-m2m.h    |   49 +
>>>    .../media/platform/mtk-mdp3/mtk-mdp3-regs.c   |  737 ++++++++++
>>>    .../media/platform/mtk-mdp3/mtk-mdp3-regs.h   |  372 +++++
>>>    .../media/platform/mtk-mdp3/mtk-mdp3-vpu.c    |  312 ++++
>>>    .../media/platform/mtk-mdp3/mtk-mdp3-vpu.h    |   78 +
>>>    22 files changed, 5281 insertions(+)
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/Makefile
>>>    create mode 100644 drivers/media/platform/mtk-
>>> mdp3/mdp_reg_ccorr.h
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_isp.h
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_rdma.h
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_rsz.h
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_wdma.h
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/mdp_reg_wrot.h
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/mtk-img-ipi.h
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-
>>> cmdq.c
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-
>>> cmdq.h
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-
>>> comp.c
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-
>>> comp.h
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-
>>> core.c
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-
>>> core.h
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-m2m.c
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-m2m.h
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-
>>> regs.c
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-
>>> regs.h
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-vpu.c
>>>    create mode 100644 drivers/media/platform/mtk-mdp3/mtk-mdp3-vpu.h
>>>
>>
>> snip...
>>
>>> diff --git a/drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.c
>>> b/drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.c
>>> new file mode 100644
>>> index 000000000000..a643f3ee928b
>>> --- /dev/null
>>> +++ b/drivers/media/platform/mtk-mdp3/mtk-mdp3-cmdq.c
>>> @@ -0,0 +1,514 @@
>>
>> Looks like you forgot to check my review comments to this entire
>> file.
>> Can you please send a new version after applying the changes to this
>> file
>> suggested in my review of series v8?
> Hi Angelo,
> 
> Thanks for the reminder and sorry for my carelessness. Considering the
> compatibility of subsequent chips and function independence, I plan to
> move those mutex mod definition to the corresponding driver, and
> release next version ASAP.
> 
> Thanks & Regards,
> Moudy Ho
>> Thanks.
> 


Hi Moudy,

Don't worry, we're humans, it happens to the best. We're always here to improve!
Thank you for sending the v10 by the way, I will review it as soon as I can.

Regards,
- Angelo



More information about the Linux-mediatek mailing list