On Mon, Nov 27, 2017 at 05:07:04PM +0100, Jernej Škrabec wrote: > Hi Maxime, > > Dne ponedeljek, 27. november 2017 ob 16:41:29 CET je Maxime Ripard napisal(a): > > It seems like the mixer can only run properly when clocked at 150MHz. In > > order to have something more robust than simply a fire-and-forget > > assigned-clocks-rate, let's put that in the code. > > > > Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> > > --- > > drivers/gpu/drm/sun4i/sun8i_mixer.c | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c > > b/drivers/gpu/drm/sun4i/sun8i_mixer.c index cb193c5f1686..c0cdccf772a2 > > 100644 > > --- a/drivers/gpu/drm/sun4i/sun8i_mixer.c > > +++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c > > @@ -315,6 +315,13 @@ static int sun8i_mixer_bind(struct device *dev, struct > > device *master, } > > clk_prepare_enable(mixer->mod_clk); > > > > + /* > > + * It seems that we need to enforce that rate for whatever > > + * reason for the mixer to be functional. Make sure it's the > > + * case. > > + */ > > + clk_set_rate(mixer->mod_clk, 150000000); > > + > > H3 mixer works at much higher rate and if we want to support tv out, it must > be dividable by 432 MHz, so either 432 MHz or maybe even 864 MHz. > > We talked about that few months ago. > > I guess this should be read from mixer configuration structure. That works for me. Actually, I didn't need it at all for the LVDS output on the A83t, the default seems to work just fine. Do you know what it's related to? Maybe we can make that a bit more dynamic? Maxime -- Maxime Ripard, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel