[Intel-gfx] [PATCH 11/29] drm/i915: share pipe count handling with Ivybridge

Daniel Vetter daniel at ffwll.ch
Tue Apr 17 13:26:19 CEST 2012


On Tue, Apr 17, 2012 at 11:36:33AM +0100, Chris Wilson wrote:
> On Tue, 17 Apr 2012 12:19:16 +0200, Daniel Vetter <daniel at ffwll.ch> wrote:
> > On Fri, Apr 13, 2012 at 05:08:47PM -0300, Eugeni Dodonov wrote:
> > > Reviewed-by: Rodrigo Vivi <rodrigo.vivi at gmail.com>
> > > Signed-off-by: Eugeni Dodonov <eugeni.dodonov at intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/intel_display.c |    2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > > index 3d78686..5ee652d 100644
> > > --- a/drivers/gpu/drm/i915/intel_display.c
> > > +++ b/drivers/gpu/drm/i915/intel_display.c
> > > @@ -2427,7 +2427,7 @@ intel_pipe_set_base(struct drm_crtc *crtc, int x, int y,
> > >  	case 1:
> > >  		break;
> > >  	case 2:
> > > -		if (IS_IVYBRIDGE(dev))
> > > +		if (IS_IVYBRIDGE(dev) || IS_HASWELL(dev))
> > >  			break;
> > >  		/* fall through otherwise */
> > >  	default:
> > 
> > Imo this code is a rather funky way to check for 3 plane support ... I
> > think we should just replace this entire switch statement with a
> > if(WARN_ON(intel_crtc->plane > dev_priv->num_pipes)) return -EINVAL;
> > 
> > Or has there been another reason for this? Chris, git blame says you've
> > originally added this in 5c3b82e2, any comments?
> 
> Yup, it's just a userspace (and internal consistency) validation check, so
> if (pipe >= dev_priv->num_pipes) return -EINVAL; would have sufficed.

Hm, how can userspace trigger this? It can only pass in crtc ids, which
the drm core validates. intel_crtc->plane is completely in our control,
hence why I think this can only be a driver bug. Or do I miss something?
-Daniel
-- 
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48



More information about the Intel-gfx mailing list