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? Manasi > > ret = intel_cursor_check_surface(plane_state); > if (ret) > -- > 2.34.1 >