Message ID | 20250110123835.2719824-1-paul-pl.chen@mediatek.com (mailing list archive) |
---|---|
Headers | show |
Series | Add Mediatek Soc DRM support for mt8196 | expand |
Il 10/01/25 13:33, paul-pl.chen ha scritto: > From: "Paul-pl.Chen" <paul-pl.chen@mediatek.com> > > Add support multiple mmsys instances in the one mediatek-drm instance. > Hello Paul, EXDMA, BLENDER and OUTPROC seem to have many things in common with the current mtk_disp_ovl.c driver. Please commonize code from mtk_disp_ovl to reuse in these three components that you're adding, as there is a lot of code duplication. Thanks, Angelo > Nancy.Lin (7): > soc: mediatek: add mmsys support for MT8196 > soc: mediatek: mutex: add mutex support for MT8196 > drm/mediatek: add EXDMA support for MT8196 > drm/mediatek: add BLENDER support for MT8196 > drm/mediatek: add OUTPROC support for MT8196 > drm/mediatek: add ovlsys_adaptor support for MT8196 > drm/mediatek: Add support for multiple mmsys in the one mediatek-drm > driver > > Paul-pl.Chen (5): > dt-bindings: arm: mediatek: mmsys: add compatible for MT8196 > dt-bindings: soc: mediatek: add mutex yaml for MT8196 > dt-bindings: display: mediatek: add EXDMA yaml for MT8196 > dt-bindings: display: mediatek: add BLENDER yaml for MT8196 > dt-bindings: display: mediatek: add OUTPROC yaml for MT8196 > > .../bindings/arm/mediatek/mediatek,mmsys.yaml | 5 + > .../display/mediatek/mediatek,blender.yaml | 50 ++ > .../display/mediatek/mediatek,exdma.yaml | 77 ++ > .../display/mediatek/mediatek,outproc.yaml | 57 ++ > .../bindings/soc/mediatek/mediatek,mutex.yaml | 2 + > drivers/gpu/drm/mediatek/Makefile | 4 + > drivers/gpu/drm/mediatek/mtk_crtc.c | 350 ++++++-- > drivers/gpu/drm/mediatek/mtk_crtc.h | 6 +- > drivers/gpu/drm/mediatek/mtk_ddp_comp.c | 134 +++- > drivers/gpu/drm/mediatek/mtk_ddp_comp.h | 6 + > drivers/gpu/drm/mediatek/mtk_disp_blender.c | 352 ++++++++ > drivers/gpu/drm/mediatek/mtk_disp_blender.h | 17 + > drivers/gpu/drm/mediatek/mtk_disp_drv.h | 66 +- > drivers/gpu/drm/mediatek/mtk_disp_exdma.c | 447 +++++++++++ > drivers/gpu/drm/mediatek/mtk_disp_outproc.c | 244 ++++++ > drivers/gpu/drm/mediatek/mtk_disp_outproc.h | 22 + > .../drm/mediatek/mtk_disp_ovlsys_adaptor.c | 758 ++++++++++++++++++ > drivers/gpu/drm/mediatek/mtk_drm_drv.c | 287 ++++++- > drivers/gpu/drm/mediatek/mtk_drm_drv.h | 28 +- > drivers/soc/mediatek/mt8196-mmsys.h | 447 +++++++++++ > drivers/soc/mediatek/mtk-mmsys.c | 204 ++++- > drivers/soc/mediatek/mtk-mmsys.h | 18 + > drivers/soc/mediatek/mtk-mutex.c | 233 +++++- > include/linux/soc/mediatek/mtk-mmsys.h | 60 ++ > include/linux/soc/mediatek/mtk-mutex.h | 2 + > 25 files changed, 3734 insertions(+), 142 deletions(-) > create mode 100644 Documentation/devicetree/bindings/display/mediatek/mediatek,blender.yaml > create mode 100644 Documentation/devicetree/bindings/display/mediatek/mediatek,exdma.yaml > create mode 100644 Documentation/devicetree/bindings/display/mediatek/mediatek,outproc.yaml > create mode 100644 drivers/gpu/drm/mediatek/mtk_disp_blender.c > create mode 100644 drivers/gpu/drm/mediatek/mtk_disp_blender.h > create mode 100644 drivers/gpu/drm/mediatek/mtk_disp_exdma.c > create mode 100644 drivers/gpu/drm/mediatek/mtk_disp_outproc.c > create mode 100644 drivers/gpu/drm/mediatek/mtk_disp_outproc.h > create mode 100644 drivers/gpu/drm/mediatek/mtk_disp_ovlsys_adaptor.c > create mode 100644 drivers/soc/mediatek/mt8196-mmsys.h >
On Mon, 2025-01-13 at 13:50 +0100, AngeloGioacchino Del Regno wrote: > > External email : Please do not click links or open attachments until > you have verified the sender or the content. > > > Il 10/01/25 13:33, paul-pl.chen ha scritto: > > From: "Paul-pl.Chen" <paul-pl.chen@mediatek.com> > > > > Add support multiple mmsys instances in the one mediatek-drm > > instance. > > > > Hello Paul, > > EXDMA, BLENDER and OUTPROC seem to have many things in common with > the current > mtk_disp_ovl.c driver. > > Please commonize code from mtk_disp_ovl to reuse in these three > components that > you're adding, as there is a lot of code duplication. > Hi Angelo, Thanks for the review and feedback. In this patch, we have separated the new EXDMA, BLENDER, and OUTPROC from the original OVL hardware IP. While EXDMA, BLENDER, OUTPROC, and OVL share similar functionalities, they are fundamentally independent hardware components with distinct register bases and offsets. Merging them into a single driver would introduce unnecessary complexity due to these differences, making maintenance and future development more challenging. For eample: 1. Register Differences: Taking EXDMA and OVL as an example: OVL:// OVL Reset Register #define DISP_REG_OVL_RST 0x0014 EXDMA:// EXDMA Reset Register #define DISP_REG_OVL_RST 0x0024 Although the macro names are similar, the register addresses differ. This means that any operation involving these registers must account for different base addresses and offsets. 2. Function Implementation Variations: These register differences impact function implementations: OVL Function: mtk_ovl_config(); EXDMA Function: mtk_disp_exdma_stop(); Integrating these functions would necessitate conditional logic to handle the different registers and behaviors, leading to less readable and maintainable code. Best, Paul > Thanks, > Angelo //snip
From: "Paul-pl.Chen" <paul-pl.chen@mediatek.com> Add support multiple mmsys instances in the one mediatek-drm instance. Nancy.Lin (7): soc: mediatek: add mmsys support for MT8196 soc: mediatek: mutex: add mutex support for MT8196 drm/mediatek: add EXDMA support for MT8196 drm/mediatek: add BLENDER support for MT8196 drm/mediatek: add OUTPROC support for MT8196 drm/mediatek: add ovlsys_adaptor support for MT8196 drm/mediatek: Add support for multiple mmsys in the one mediatek-drm driver Paul-pl.Chen (5): dt-bindings: arm: mediatek: mmsys: add compatible for MT8196 dt-bindings: soc: mediatek: add mutex yaml for MT8196 dt-bindings: display: mediatek: add EXDMA yaml for MT8196 dt-bindings: display: mediatek: add BLENDER yaml for MT8196 dt-bindings: display: mediatek: add OUTPROC yaml for MT8196 .../bindings/arm/mediatek/mediatek,mmsys.yaml | 5 + .../display/mediatek/mediatek,blender.yaml | 50 ++ .../display/mediatek/mediatek,exdma.yaml | 77 ++ .../display/mediatek/mediatek,outproc.yaml | 57 ++ .../bindings/soc/mediatek/mediatek,mutex.yaml | 2 + drivers/gpu/drm/mediatek/Makefile | 4 + drivers/gpu/drm/mediatek/mtk_crtc.c | 350 ++++++-- drivers/gpu/drm/mediatek/mtk_crtc.h | 6 +- drivers/gpu/drm/mediatek/mtk_ddp_comp.c | 134 +++- drivers/gpu/drm/mediatek/mtk_ddp_comp.h | 6 + drivers/gpu/drm/mediatek/mtk_disp_blender.c | 352 ++++++++ drivers/gpu/drm/mediatek/mtk_disp_blender.h | 17 + drivers/gpu/drm/mediatek/mtk_disp_drv.h | 66 +- drivers/gpu/drm/mediatek/mtk_disp_exdma.c | 447 +++++++++++ drivers/gpu/drm/mediatek/mtk_disp_outproc.c | 244 ++++++ drivers/gpu/drm/mediatek/mtk_disp_outproc.h | 22 + .../drm/mediatek/mtk_disp_ovlsys_adaptor.c | 758 ++++++++++++++++++ drivers/gpu/drm/mediatek/mtk_drm_drv.c | 287 ++++++- drivers/gpu/drm/mediatek/mtk_drm_drv.h | 28 +- drivers/soc/mediatek/mt8196-mmsys.h | 447 +++++++++++ drivers/soc/mediatek/mtk-mmsys.c | 204 ++++- drivers/soc/mediatek/mtk-mmsys.h | 18 + drivers/soc/mediatek/mtk-mutex.c | 233 +++++- include/linux/soc/mediatek/mtk-mmsys.h | 60 ++ include/linux/soc/mediatek/mtk-mutex.h | 2 + 25 files changed, 3734 insertions(+), 142 deletions(-) create mode 100644 Documentation/devicetree/bindings/display/mediatek/mediatek,blender.yaml create mode 100644 Documentation/devicetree/bindings/display/mediatek/mediatek,exdma.yaml create mode 100644 Documentation/devicetree/bindings/display/mediatek/mediatek,outproc.yaml create mode 100644 drivers/gpu/drm/mediatek/mtk_disp_blender.c create mode 100644 drivers/gpu/drm/mediatek/mtk_disp_blender.h create mode 100644 drivers/gpu/drm/mediatek/mtk_disp_exdma.c create mode 100644 drivers/gpu/drm/mediatek/mtk_disp_outproc.c create mode 100644 drivers/gpu/drm/mediatek/mtk_disp_outproc.h create mode 100644 drivers/gpu/drm/mediatek/mtk_disp_ovlsys_adaptor.c create mode 100644 drivers/soc/mediatek/mt8196-mmsys.h