[Intel-gfx] [PATCH 01/12] drm/i915: Fix cursor coordinates on bigjoiner slave

Ville Syrjälä ville.syrjala at linux.intel.com
Wed Feb 16 08:39:56 UTC 2022


On Tue, Feb 15, 2022 at 07:25:36PM -0800, Navare, Manasi wrote:
> On Tue, Feb 15, 2022 at 08:31:57PM +0200, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > 
> > Adjust the cursor dst coordinates appripriately when it's on
> > the bigjoiner slave pipe. intel_atomic_plane_check_clipping()
> > already did this but with the cursor we discard those results
> > (apart from uapi.visible and error checks) since the hardware
> > will be doing the clipping for us.
> > 
> > v2: Rebase due to bigjoiner bitmask usage
> > 
> > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > ---
> >  drivers/gpu/drm/i915/display/intel_cursor.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_cursor.c b/drivers/gpu/drm/i915/display/intel_cursor.c
> > index 2ade8fdd9bdd..3e80763aa828 100644
> > --- a/drivers/gpu/drm/i915/display/intel_cursor.c
> > +++ b/drivers/gpu/drm/i915/display/intel_cursor.c
> > @@ -152,6 +152,9 @@ static int intel_check_cursor(struct intel_crtc_state *crtc_state,
> >  	/* Use the unclipped src/dst rectangles, which we program to hw */
> >  	plane_state->uapi.src = src;
> >  	plane_state->uapi.dst = dst;
> > +	if (intel_crtc_is_bigjoiner_slave(crtc_state))
> > +		drm_rect_translate(&plane_state->uapi.dst,
> > +				   -crtc_state->pipe_src_w, 0);
> 
> So this is basically to offset the cursor position from say 3860 to 0, 3861 to 1 ....7680 to 3860 for the right half
> of the screen right?
> And without this, it will just keep it at first rectangle?

Yes. The original rectangle came from userspace and is thus
relative to the whole area covered by all the joined pipes.
But the plane coordinates we hand to the hardware must be
relative to their respective pipe.

It's a bit ugly as is but works for now. The last patch make
this much nicer by removing all the assumptions here about
the relative positions of the pipes.

-- 
Ville Syrjälä
Intel


More information about the Intel-gfx mailing list