Commit 81540428 authored by Dave Airlie's avatar Dave Airlie
Browse files

Merge branch 'linux-5.12' of git://github.com/skeggsb/linux into drm-fixes

parents 5165fe0b d3999c1f
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -2693,9 +2693,20 @@ nv50_display_create(struct drm_device *dev)
	else
		nouveau_display(dev)->format_modifiers = disp50xx_modifiers;

	if (disp->disp->object.oclass >= GK104_DISP) {
	/* FIXME: 256x256 cursors are supported on Kepler, however unlike Maxwell and later
	 * generations Kepler requires that we use small pages (4K) for cursor scanout surfaces. The
	 * proper fix for this is to teach nouveau to migrate fbs being used for the cursor plane to
	 * small page allocations in prepare_fb(). When this is implemented, we should also force
	 * large pages (128K) for ovly fbs in order to fix Kepler ovlys.
	 * But until then, just limit cursors to 128x128 - which is small enough to avoid ever using
	 * large pages.
	 */
	if (disp->disp->object.oclass >= GM107_DISP) {
		dev->mode_config.cursor_width = 256;
		dev->mode_config.cursor_height = 256;
	} else if (disp->disp->object.oclass >= GK104_DISP) {
		dev->mode_config.cursor_width = 128;
		dev->mode_config.cursor_height = 128;
	} else {
		dev->mode_config.cursor_width = 64;
		dev->mode_config.cursor_height = 64;