On Tue, Feb 09, 2021 at 09:50:28AM +0000, Chris Wilson wrote: > Quoting Chris Wilson (2021-02-09 09:22:09) > > Quoting Ville Syrjala (2021-02-09 02:19:16) > > > + while ((src_x + src_w) * cpp > plane_state->color_plane[0].stride) { > > > + if (offset == 0) { > > > + drm_dbg_kms(&dev_priv->drm, > > > + "Unable to find suitable display surface offset due to X-tiling\n"); > > > + return -EINVAL; > > > + } > > > + > > > + offset = intel_plane_adjust_aligned_offset(&src_x, &src_y, plane_state, 0, > > > + offset, offset - alignment); > > > The reason for choosing a nearby tile offset was to reduce src_x/src_y > > to fit within the crtc limits. While remapping could be used to solve > > that, the aligned_offset computation allows reuse of a single view. > > Should there not be a second constraint on the loop to make sure src_x + > src_w is less than 4095/8191/etc? Yeah, but we don't have that in the skl code either atm. Should add it to both. And if it can actually fail I guess we should just fall back to remapping rather than telling the user they can't have a working display. So far I never did the mental gymnastics to come up with an actually failing scenario. -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx