Re: [PATCH v3 09/15] drm/sun4i: Add A83T support

From: Maxime Ripard
Date: Thu Dec 07 2017 - 05:55:27 EST


Hi,

On Wed, Dec 06, 2017 at 05:37:47PM +0100, Jernej Åkrabec wrote:
> Hi,
>
> Dne torek, 05. december 2017 ob 16:42:55 CET je Jernej Åkrabec napisal(a):
> > Hi Maxime,
> >
> > Dne torek, 05. december 2017 ob 16:10:21 CET je Maxime Ripard napisal(a):
> > > Add support for the A83T display pipeline.
> > >
> > > Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx>
> > > Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx>
> > > ---
> > >
> > > drivers/gpu/drm/sun4i/sun4i_drv.c | 1 +
> > > drivers/gpu/drm/sun4i/sun4i_tcon.c | 5 +++++
> > > drivers/gpu/drm/sun4i/sun8i_mixer.c | 9 +++++++++
> > > 3 files changed, 15 insertions(+)
> > >
> > > diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c
> > > b/drivers/gpu/drm/sun4i/sun4i_drv.c index 49215d91c853..6f5e721b545e
> > > 100644
> > > --- a/drivers/gpu/drm/sun4i/sun4i_drv.c
> > > +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
> > > @@ -347,6 +347,7 @@ static const struct of_device_id sun4i_drv_of_table[]
> > > =
> > > { { .compatible = "allwinner,sun6i-a31s-display-engine" },
> > >
> > > { .compatible = "allwinner,sun7i-a20-display-engine" },
> > > { .compatible = "allwinner,sun8i-a33-display-engine" },
> > >
> > > + { .compatible = "allwinner,sun8i-a83t-display-engine" },
> > >
> > > { .compatible = "allwinner,sun8i-v3s-display-engine" },
> > > { }
> > >
> > > };
> > >
> > > diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c
> > > b/drivers/gpu/drm/sun4i/sun4i_tcon.c index 92f4738101e6..9b757450555f
> > > 100644
> > > --- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
> > > +++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c
> > > @@ -1132,6 +1132,10 @@ static const struct sun4i_tcon_quirks
> > > sun8i_a33_quirks = { .has_lvds_pll = true,
> > >
> > > };
> > >
> > > +static const struct sun4i_tcon_quirks sun8i_a83t_lcd_quirks = {
> > > + /* nothing is supported */
> > > +};
> > > +
> > >
> > > static const struct sun4i_tcon_quirks sun8i_v3s_quirks = {
> > >
> > > /* nothing is supported */
> > >
> > > };
> > >
> > > @@ -1144,6 +1148,7 @@ const struct of_device_id sun4i_tcon_of_table[] = {
> > >
> > > { .compatible = "allwinner,sun6i-a31s-tcon", .data =
> &sun6i_a31s_quirks
> > > },
> > >
> > > { .compatible = "allwinner,sun7i-a20-tcon", .data = &sun7i_a20_quirks }, {
> > > .compatible = "allwinner,sun8i-a33-tcon", .data = &sun8i_a33_quirks }, +
> {
> > > .compatible = "allwinner,sun8i-a83t-tcon-lcd", .data =
> > > &sun8i_a83t_lcd_quirks }, { .compatible = "allwinner,sun8i-v3s-tcon",
> > > .data
> > > = &sun8i_v3s_quirks }, { }
> > >
> > > };
> > >
> > > diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c
> > > b/drivers/gpu/drm/sun4i/sun8i_mixer.c index ff235e3228ce..6829bec4ba68
> > > 100644
> > > --- a/drivers/gpu/drm/sun4i/sun8i_mixer.c
> > > +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c
> > > @@ -477,6 +477,11 @@ static int sun8i_mixer_remove(struct platform_device
> > > *pdev) return 0;
> > >
> > > }
> > >
> > > +static const struct sun8i_mixer_cfg sun8i_a83t_mixer_cfg = {
> > > + .vi_num = 1,
> > > + .ui_num = 3,
> > > +};
> > > +
> >
> > I think you should expand that structure with:
> > .ccsc = 0,
> > .scaler_mask = 0xf,
> > .mod_rate = 150000000,
>
> I guess you could set higher clock if CLK_SET_RATE_PARENT flag is set to de_clk
> in A83T CCU driver. BSP sets it to 500 MHz, which is a bit high...

Actually, I didn't have to change the rate used by default, so it's
not clear what it should be on the A83T.

And yeah, I'd like to avoid setting it at 500MHz without any
particular reason. The A83T draws way to much power already without
making it worse.

I'll add the CCSC and scaler_mask fields.

Maxime

--
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

Attachment: signature.asc
Description: PGP signature