On Thu, Feb 05, 2026 at 04:02:30PM +0200, Vinod Govindapillai wrote: > From: Ville Syrjälä <[email protected]> > > Looks like stolen->size is in bytes, not pages. Remove the > bogus PAGE_SHIFT stuff.
It looks to me like ttm itself is the problem here. It appears to be a mismash of pages and bytes, and missing documentation on which unit applies where. Even worse, it looks like different drivers use different conventions on what units to use. Eg. ttm_resource_manager_init() sometimes gets passed the size in pages, sometimes in bytes. xe even uses both units in one driver: pages in xe_ttm_sys_mgr_init(), bytes in __xe_ttm_vram_mgr_init(). Cc'ing some ttm folks... > > Also for some rnadom reason xe rejects the FB if it takes up > exactly half of stolen, whereas i915 allows it to be used > in that case. Adjust xe to follow the i915 rule for consistency. > > v2: rebase related updates > > Signed-off-by: Ville Syrjälä <[email protected]> > Reviewed-by: Uma Shankar <[email protected]> > Signed-off-by: Vinod Govindapillai <[email protected]> > --- > drivers/gpu/drm/xe/display/xe_initial_plane.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/xe/display/xe_initial_plane.c > b/drivers/gpu/drm/xe/display/xe_initial_plane.c > index 4cfeafcc158d..38ecc201ac4e 100644 > --- a/drivers/gpu/drm/xe/display/xe_initial_plane.c > +++ b/drivers/gpu/drm/xe/display/xe_initial_plane.c > @@ -99,7 +99,7 @@ initial_plane_bo(struct xe_device *xe, > * features. > */ > if (IS_ENABLED(CONFIG_FRAMEBUFFER_CONSOLE) && > - plane_config->size * 2 >> PAGE_SHIFT >= stolen->size) > + plane_config->size * 2 > stolen->size) > return NULL; > } > > -- > 2.43.0 -- Ville Syrjälä Intel
