[Intel-gfx] [PATCH 4/7] drm/i915: use pipe_config for lvds dithering
Daniel Vetter
daniel at ffwll.ch
Thu Apr 25 14:24:50 CEST 2013
On Thu, Apr 25, 2013 at 02:57:16PM +0300, Ville Syrjälä wrote:
> On Fri, Apr 19, 2013 at 11:14:34AM +0200, Daniel Vetter wrote:
> > diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
> > index 563f505..58a98ff 100644
> > --- a/drivers/gpu/drm/i915/intel_lvds.c
> > +++ b/drivers/gpu/drm/i915/intel_lvds.c
> > @@ -136,7 +136,7 @@ static void intel_pre_pll_enable_lvds(struct intel_encoder *encoder)
> > * special lvds dither control bit on pch-split platforms, dithering is
> > * only controlled through the PIPECONF reg. */
> > if (INTEL_INFO(dev)->gen == 4) {
> > - if (dev_priv->lvds_dither)
> > + if (intel_crtc->config.dither)
> > temp |= LVDS_ENABLE_DITHER;
> > else
> > temp &= ~LVDS_ENABLE_DITHER;
> > @@ -335,7 +335,13 @@ static bool intel_lvds_compute_config(struct intel_encoder *intel_encoder,
> > DRM_DEBUG_KMS("forcing display bpp (was %d) to LVDS (%d)\n",
> > pipe_config->pipe_bpp, lvds_bpp);
> > pipe_config->pipe_bpp = lvds_bpp;
> > +
> > + /* Make sure pre-965 set dither correctly */
> > + if (INTEL_INFO(dev)->gen < 4)
> > + pfit_control |= PANEL_8TO6_DITHER_ENABLE;
>
> I'm not quite sure about the gen4 and earlier stuff. Isn't the pipe
> always 8bpc, and then we should enable dithering on the port/pfit
> when lvds is 6bpc.
>
> Right now I think we'll start with pipe_bpp=18 when the primary plane
> surface is 16bpp, and then we wouldn't enable dithering here for 6bpc
> lvds.
Yeah, the patch does slightly change behaviour as we no longer blindly
follow the bios wrt dithering lvds. And imo trying to dither a 16bpp plane
(even if the pipe is running internally at 8bpc) is a bit pointless, since
there's simply no intermediate levels to dither down to 6bpc. Otoh just
using the dither flag unconditionally gives us a notch more unified code.
So I've opted for that.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the Intel-gfx
mailing list