Re: [PATCH 01/12] drm/i915: Fix cursor coordinates on bigjoiner slave

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxx>
> > 
> > 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@xxxxxxxxxxxxxxx>
> > ---
> >  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



[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux