[Intel-gfx] [PATCH v3 2/4] drm/i915/icl: Implement Display WA_1405510057

Imre Deak imre.deak at intel.com
Fri Nov 2 01:08:51 UTC 2018


On Thu, Nov 01, 2018 at 05:34:14PM -0700, Rodrigo Vivi wrote:
> On Fri, Nov 02, 2018 at 01:52:20AM +0200, Imre Deak wrote:
> > On Thu, Nov 01, 2018 at 12:33:04PM -0700, Rodrigo Vivi wrote:
> > > On Tue, Oct 30, 2018 at 03:27:35PM -0700, Rodrigo Vivi wrote:
> > > > On Tue, Oct 30, 2018 at 01:45:02AM -0700, Radhakrishna Sripada wrote:
> > > > > Display WA_1405510057 asks to not enable YUV 420 HDMI
> > > > > 10bpc when horizontal blank size mod 8 reminder is 2.
> > > > > 
> > > > > V2: Rebase(r-b: Anusha)
> > > > > V3: crtc_state->s/ycbcr420/output_format/
> > > > > 
> > > > > Cc: Anusha Srivatsa <anusha.srivatsa at intel.com>
> > > > > Cc: Paulo Zanoni <paulo.r.zanoni at intel.com>
> > > > > Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> > > > > Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > > > > Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada at intel.com>
> > > > 
> > > > Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> > > 
> > > pushed to dinq. thanks for patches and reviews.
> > 
> > I think there was a wrong conflict resolution in this push:
> > 
> > commit 0992e781d7ce707889d81f8e349ce1561392493f
> > Merge: 10cf4fd63eed f57f9371e285
> > Author: Rodrigo Vivi <rodrigo.vivi at intel.com>
> > Date:   Thu Nov 1 12:43:25 2018 -0700
> > 
> >     Merge remote-tracking branch 'drm-intel/drm-intel-next-queued' into drm-tip
> >     
> >     # Conflicts:
> >     #       drivers/gpu/drm/i915/i915_debugfs.c
> >     #       drivers/gpu/drm/i915/i915_irq.c
> >     #       drivers/gpu/drm/i915/intel_csr.c
> >     #       drivers/gpu/drm/i915/intel_display.c
> >     #       drivers/gpu/drm/i915/intel_dp.c
> >     #       drivers/gpu/drm/i915/intel_dp_mst.c
> >     #       drivers/gpu/drm/i915/intel_drv.h
> > 
> > diff --cc drivers/gpu/drm/i915/intel_display.c
> > index 9741cc419e1b,3618d3affc89..532178763fa1
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@@ -15701,14 -15414,18 +15414,25 @@@ static void readout_plane_state(struct 
> >   		crtc_state = to_intel_crtc_state(crtc->base.state);
> >   
> >   		intel_set_plane_visible(crtc_state, plane_state, visible);
> > + 
> > + 		DRM_DEBUG_KMS("[PLANE:%d:%s] hw state readout: %s, pipe %c\n",
> > + 			      plane->base.base.id, plane->base.name,
> > + 			      enableddisabled(visible), pipe_name(pipe));
> > + 	}
> > + 
> > + 	for_each_intel_crtc(&dev_priv->drm, crtc) {
> > + 		struct intel_crtc_state *crtc_state =
> > + 			to_intel_crtc_state(crtc->base.state);
> > + 
> > + 		fixup_active_planes(crtc_state);
> >   	}
> >  +
> >  +	for_each_intel_crtc(&dev_priv->drm, crtc) {
> >  +		struct intel_crtc_state *crtc_state =
> >  +			to_intel_crtc_state(crtc->base.state);
> >  +
> >  +		fixup_active_planes(crtc_state);
> >  +	}
> >   }
> >   
> >   static void intel_modeset_readout_hw_state(struct drm_device *dev)
> > 
> > I'm resolving it with keeping only one of the for_each_intel_crtc()
> > loop.
> 
> ops, my bad.
> 
> and it was the third or forth time I was solving this same conflict
> in 1 week and got excess of confidence :/

Hm, wonder why rerere doesn't pick it up.

> 
> > 
> > > 
> > > > 
> > > > > ---
> > > > >  drivers/gpu/drm/i915/intel_hdmi.c | 11 ++++++++++-
> > > > >  1 file changed, 10 insertions(+), 1 deletion(-)
> > > > > 
> > > > > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
> > > > > index 129b880bce64..6c6c4dd12fd5 100644
> > > > > --- a/drivers/gpu/drm/i915/intel_hdmi.c
> > > > > +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> > > > > @@ -1595,6 +1595,8 @@ static bool hdmi_deep_color_possible(const struct intel_crtc_state *crtc_state,
> > > > >  	struct drm_atomic_state *state = crtc_state->base.state;
> > > > >  	struct drm_connector_state *connector_state;
> > > > >  	struct drm_connector *connector;
> > > > > +	const struct drm_display_mode *adjusted_mode =
> > > > > +		&crtc_state->base.adjusted_mode;
> > > > >  	int i;
> > > > >  
> > > > >  	if (HAS_GMCH_DISPLAY(dev_priv))
> > > > > @@ -1643,7 +1645,14 @@ static bool hdmi_deep_color_possible(const struct intel_crtc_state *crtc_state,
> > > > >  
> > > > >  	/* Display WA #1139: glk */
> > > > >  	if (bpc == 12 && IS_GLK_REVID(dev_priv, 0, GLK_REVID_A1) &&
> > > > > -	    crtc_state->base.adjusted_mode.htotal > 5460)
> > > > > +	    adjusted_mode->htotal > 5460)
> > > > > +		return false;
> > > > > +
> > > > > +	/* Display Wa_1405510057:icl */
> > > > > +	if (crtc_state->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 &&
> > > > > +	    bpc == 10 && IS_ICELAKE(dev_priv) &&
> > > > > +	    (adjusted_mode->crtc_hblank_end -
> > > > > +	     adjusted_mode->crtc_hblank_start) % 8 == 2)
> > > > >  		return false;
> > > > >  
> > > > >  	return true;
> > > > > -- 
> > > > > 2.9.3
> > > > > 
> > > > _______________________________________________
> > > > Intel-gfx mailing list
> > > > Intel-gfx at lists.freedesktop.org
> > > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
> > > _______________________________________________
> > > Intel-gfx mailing list
> > > Intel-gfx at lists.freedesktop.org
> > > https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list