mbox series

[v5,0/6] Add Mediatek Soc DRM (vdosys0) support for mt8195

Message ID 20210729170737.21424-1-jason-jh.lin@mediatek.com (mailing list archive)
Headers show
Series Add Mediatek Soc DRM (vdosys0) support for mt8195 | expand

Message

Jason-JH Lin (林睿祥) July 29, 2021, 5:07 p.m. UTC
The hardware path of vdosys0 with eDP panel output need to go through
by several modules, such as, OVL, RDMA, COLOR, CCORR, AAL, GAMMA,
DITHER, DSC and MERGE.

Change in v5:
- add power-domain property into vdosys0 and vdosys1 dts node.
- add MT8195 prifix and remove unused VDO1 define in mt8195-mmsys.h

Change in v4:
- extract dt-binding patches to another patch series
  https://patchwork.kernel.org/project/linux-mediatek/list/?series=519597
- squash DSC module into mtk_drm_ddp_comp.c
- add coment and simplify MERGE config function

Change in v3:
- change mmsys and display dt-bindings document from txt to yaml
- add MERGE additional description in display dt-bindings document
- fix mboxes-cells number of vdosys0 node in dts
- drop mutex eof convert define
- remove pm_runtime apis in DSC and MERGE
- change DSC and MERGE enum to alphabetic order

Change in v2:
- add DSC yaml file
- add mt8195 drm driver porting parts in to one patch
- remove useless define, variable, structure member and function
- simplify DSC and MERGE file and switch threre order

jason-jh.lin (6):
  arm64: dts: mt8195: add display node for vdosys0
  soc: mediatek: add mtk-mmsys support for mt8195 vdosys0
  soc: mediatek: add mtk-mutex support for mt8195 vdosys0
  drm/mediatek: add mediatek-drm of vdosys0 support for mt8195
  drm/mediatek: add DSC support for mt8195
  drm/mediatek: add MERGE support for mt8195

 arch/arm64/boot/dts/mediatek/mt8195.dtsi    | 112 ++++++++
 drivers/gpu/drm/mediatek/Makefile           |   1 +
 drivers/gpu/drm/mediatek/mtk_disp_drv.h     |   8 +
 drivers/gpu/drm/mediatek/mtk_disp_merge.c   | 277 ++++++++++++++++++++
 drivers/gpu/drm/mediatek/mtk_disp_rdma.c    |   6 +
 drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c |  62 +++++
 drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h |   2 +
 drivers/gpu/drm/mediatek/mtk_drm_drv.c      |  32 ++-
 drivers/gpu/drm/mediatek/mtk_drm_drv.h      |   1 +
 drivers/soc/mediatek/mt8195-mmsys.h         |  96 +++++++
 drivers/soc/mediatek/mtk-mmsys.c            |  11 +
 drivers/soc/mediatek/mtk-mutex.c            |  93 ++++++-
 include/linux/soc/mediatek/mtk-mmsys.h      |   9 +
 13 files changed, 706 insertions(+), 4 deletions(-)
 create mode 100644 drivers/gpu/drm/mediatek/mtk_disp_merge.c
 create mode 100644 drivers/soc/mediatek/mt8195-mmsys.h

Comments

Enric Balletbo i Serra July 30, 2021, 11:45 a.m. UTC | #1
Hi Jason,

Thank you for your patch.

On 29/7/21 19:07, jason-jh.lin wrote:
> The hardware path of vdosys0 with eDP panel output need to go through
> by several modules, such as, OVL, RDMA, COLOR, CCORR, AAL, GAMMA,
> DITHER, DSC and MERGE.
> 


You said in other discussions that vdosys0 has eDP panel output and vdosys1 has
DP output. Is it possible to switch the outputs? What I am wondering is if this
configuration is hardware specific or board specific, i.e it'll be possible to
have another board that has DP output on vdosys0 and eDP output for vdosys1?

Thanks,
  Enric


> Change in v5:
> - add power-domain property into vdosys0 and vdosys1 dts node.
> - add MT8195 prifix and remove unused VDO1 define in mt8195-mmsys.h
> 
> Change in v4:
> - extract dt-binding patches to another patch series
>   https://patchwork.kernel.org/project/linux-mediatek/list/?series=519597
> - squash DSC module into mtk_drm_ddp_comp.c
> - add coment and simplify MERGE config function
> 
> Change in v3:
> - change mmsys and display dt-bindings document from txt to yaml
> - add MERGE additional description in display dt-bindings document
> - fix mboxes-cells number of vdosys0 node in dts
> - drop mutex eof convert define
> - remove pm_runtime apis in DSC and MERGE
> - change DSC and MERGE enum to alphabetic order
> 
> Change in v2:
> - add DSC yaml file
> - add mt8195 drm driver porting parts in to one patch
> - remove useless define, variable, structure member and function
> - simplify DSC and MERGE file and switch threre order
> 
> jason-jh.lin (6):
>   arm64: dts: mt8195: add display node for vdosys0
>   soc: mediatek: add mtk-mmsys support for mt8195 vdosys0
>   soc: mediatek: add mtk-mutex support for mt8195 vdosys0
>   drm/mediatek: add mediatek-drm of vdosys0 support for mt8195
>   drm/mediatek: add DSC support for mt8195
>   drm/mediatek: add MERGE support for mt8195
> 
>  arch/arm64/boot/dts/mediatek/mt8195.dtsi    | 112 ++++++++
>  drivers/gpu/drm/mediatek/Makefile           |   1 +
>  drivers/gpu/drm/mediatek/mtk_disp_drv.h     |   8 +
>  drivers/gpu/drm/mediatek/mtk_disp_merge.c   | 277 ++++++++++++++++++++
>  drivers/gpu/drm/mediatek/mtk_disp_rdma.c    |   6 +
>  drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c |  62 +++++
>  drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h |   2 +
>  drivers/gpu/drm/mediatek/mtk_drm_drv.c      |  32 ++-
>  drivers/gpu/drm/mediatek/mtk_drm_drv.h      |   1 +
>  drivers/soc/mediatek/mt8195-mmsys.h         |  96 +++++++
>  drivers/soc/mediatek/mtk-mmsys.c            |  11 +
>  drivers/soc/mediatek/mtk-mutex.c            |  93 ++++++-
>  include/linux/soc/mediatek/mtk-mmsys.h      |   9 +
>  13 files changed, 706 insertions(+), 4 deletions(-)
>  create mode 100644 drivers/gpu/drm/mediatek/mtk_disp_merge.c
>  create mode 100644 drivers/soc/mediatek/mt8195-mmsys.h
>
Jason-JH Lin (林睿祥) Aug. 3, 2021, 2:24 a.m. UTC | #2
Hi Enric,

On Fri, 2021-07-30 at 13:45 +0200, Enric Balletbo i Serra wrote:
> Hi Jason,
> 
> Thank you for your patch.
> 
> On 29/7/21 19:07, jason-jh.lin wrote:
> > The hardware path of vdosys0 with eDP panel output need to go
> > through
> > by several modules, such as, OVL, RDMA, COLOR, CCORR, AAL, GAMMA,
> > DITHER, DSC and MERGE.
> > 
> 
> 
> You said in other discussions that vdosys0 has eDP panel output and
> vdosys1 has
> DP output. Is it possible to switch the outputs? What I am wondering
> is if this
> configuration is hardware specific or board specific, i.e it'll be
> possible to
> have another board that has DP output on vdosys0 and eDP output for
> vdosys1?
> 
> Thanks,
>   Enric
> 

Because the configuration is hardware specific in mt8195 SoC, it is
possible to switch the output to DP or HDMI for vdosys1 and to switch
the output to DSI or eDP for vdosys0.
Due to the hot plug reqirement for HDMI and DP, vdosys1 will support
runtime sitching output. vdosys0 can do that too, but there is no hot
plug requirement for DSI panel or eDP panel.
So we configure the output to eDP for vdosys0 in build time currently.

In another board, such as mt8173 SoC, it doesn't have vdosys1 but it is
able to set the output to DSI and HDMI for vdosys0 at the same time.

Regards,
Jason-JH.Lin

> 
> > Change in v5:
> > - add power-domain property into vdosys0 and vdosys1 dts node.
> > - add MT8195 prifix and remove unused VDO1 define in mt8195-mmsys.h
> > 
> > Change in v4:
> > - extract dt-binding patches to another patch series
> >   
> > https://urldefense.com/v3/__https://patchwork.kernel.org/project/linux-mediatek/list/?series=519597__;!!CTRNKA9wMg0ARbw!3juKPT3EahvXs9aSRTDPxQfapIiXFGGx996Kss9b8DITyA19pd5F4K0AWsEp1U3C3FSl$
> >  
> > - squash DSC module into mtk_drm_ddp_comp.c
> > - add coment and simplify MERGE config function
> > 
> > Change in v3:
> > - change mmsys and display dt-bindings document from txt to yaml
> > - add MERGE additional description in display dt-bindings document
> > - fix mboxes-cells number of vdosys0 node in dts
> > - drop mutex eof convert define
> > - remove pm_runtime apis in DSC and MERGE
> > - change DSC and MERGE enum to alphabetic order
> > 
> > Change in v2:
> > - add DSC yaml file
> > - add mt8195 drm driver porting parts in to one patch
> > - remove useless define, variable, structure member and function
> > - simplify DSC and MERGE file and switch threre order
> > 
> > jason-jh.lin (6):
> >   arm64: dts: mt8195: add display node for vdosys0
> >   soc: mediatek: add mtk-mmsys support for mt8195 vdosys0
> >   soc: mediatek: add mtk-mutex support for mt8195 vdosys0
> >   drm/mediatek: add mediatek-drm of vdosys0 support for mt8195
> >   drm/mediatek: add DSC support for mt8195
> >   drm/mediatek: add MERGE support for mt8195
> > 
> >  arch/arm64/boot/dts/mediatek/mt8195.dtsi    | 112 ++++++++
> >  drivers/gpu/drm/mediatek/Makefile           |   1 +
> >  drivers/gpu/drm/mediatek/mtk_disp_drv.h     |   8 +
> >  drivers/gpu/drm/mediatek/mtk_disp_merge.c   | 277
> > ++++++++++++++++++++
> >  drivers/gpu/drm/mediatek/mtk_disp_rdma.c    |   6 +
> >  drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c |  62 +++++
> >  drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.h |   2 +
> >  drivers/gpu/drm/mediatek/mtk_drm_drv.c      |  32 ++-
> >  drivers/gpu/drm/mediatek/mtk_drm_drv.h      |   1 +
> >  drivers/soc/mediatek/mt8195-mmsys.h         |  96 +++++++
> >  drivers/soc/mediatek/mtk-mmsys.c            |  11 +
> >  drivers/soc/mediatek/mtk-mutex.c            |  93 ++++++-
> >  include/linux/soc/mediatek/mtk-mmsys.h      |   9 +
> >  13 files changed, 706 insertions(+), 4 deletions(-)
> >  create mode 100644 drivers/gpu/drm/mediatek/mtk_disp_merge.c
> >  create mode 100644 drivers/soc/mediatek/mt8195-mmsys.h
> >