Re: [PATCH 00/11] drm/meson: Add G12A Support

From: Jerome Brunet
Date: Tue Apr 09 2019 - 04:42:44 EST


On Mon, 2019-03-25 at 15:18 +0100, Neil Armstrong wrote:
> The Amlogic G12A SoC offers very close Video Display
> functionnalities with it's older GXBB, GXL & GXM predecessors.
>
> The main differences are :
> - G12A Support now 3 "real" OSD planes with a new Blender module
> - Instead of having a single Scaler for OSD1, G12A has two scaler
> that can be applied to 2 out of the 3 OSD planes or on the outputs
> of the blender module.
> - The HDMI PHY now support RX-SENSE, Dynamic HDR and it's registers are
> now memory mapped instead of using an internal bus.
> - The VPU now support a DSI interface to connect a display, using
> the Synopsys DSI controller and a custom PHY
>
> The complex Blender routing, HDMI RX-SENSE, Dynamic HDR and DSI support
> are not handled in this patchset.
>
> This patchset implements on-par support with the currently support
> GXBB, GXL and GXM SoCs. There is no support delta with this patchset.
>
> patch 10 & 11 implements the bindings found at [1].
>
> [1] https://lkml.kernel.org/r/20190313141030.5958-1-narmstrong@xxxxxxxxxxxx
>
> Neil Armstrong (11):
> drm/meson: Switch PLL to 5.94GHz base for 297Mhz pixel clock
> drm/meson: Add registers for G12A SoC
> drm/meson: Add G12A Support for VPP setup
> drm/meson: Add G12A Support for VIU setup
> drm/meson: Add G12A support for OSD1 Plane
> drm/meson: Add G12A Support for the Overlay video plane
> drm/meson: Add G12A support for plane handling in CRTC driver
> drm/meson: Add G12A support for CVBS Encoer
> drm/meson: Add G12A Video Clock setup
> drm/meson: Add G12A compatible
> drm/meson: Add G12A support for the DW-HDMI Glue
>
> drivers/gpu/drm/meson/meson_crtc.c | 269 +++++++++++++++++++-----
> drivers/gpu/drm/meson/meson_drv.c | 1 +
> drivers/gpu/drm/meson/meson_drv.h | 4 +
> drivers/gpu/drm/meson/meson_dw_hdmi.c | 163 +++++++++++---
> drivers/gpu/drm/meson/meson_dw_hdmi.h | 32 ++-
> drivers/gpu/drm/meson/meson_overlay.c | 10 +-
> drivers/gpu/drm/meson/meson_plane.c | 15 +-
> drivers/gpu/drm/meson/meson_registers.h | 247 ++++++++++++++++++++++
> drivers/gpu/drm/meson/meson_vclk.c | 123 +++++++++--
> drivers/gpu/drm/meson/meson_venc.c | 11 +-
> drivers/gpu/drm/meson/meson_venc_cvbs.c | 25 ++-
> drivers/gpu/drm/meson/meson_viu.c | 72 ++++++-
> drivers/gpu/drm/meson/meson_vpp.c | 51 +++--
> 13 files changed, 880 insertions(+), 143 deletions(-)
>

on the u200 and sei510
Tested-by: Jerome Brunet <jbrunet@xxxxxxxxxxxx>

I can't pretend to have a deep understanding of this subsystem, but as far as
I can tell, there is nothing crazy in there. With the comments around the use
of constants and defines fixed, you can add

Reviewed-by: Jerome Brunet <jbrunet@xxxxxxxxxxxx>

As a possible future enhancement, it would be nice if you could trim the use
of *_is_compatible() functions. I think it would make the code easier to
follow and review.