[PATCH 2/2] drm/xe/display: limit dpt creation to device where it's used

Juha-Pekka Heikkila juhapekka.heikkila at gmail.com
Tue May 7 17:35:40 UTC 2024


If running on discrete graphics dpt cannot be used from system memory

Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila at gmail.com>
---
 drivers/gpu/drm/xe/display/xe_fb_pin.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/xe/display/xe_fb_pin.c b/drivers/gpu/drm/xe/display/xe_fb_pin.c
index bdb0dac5600e..b52eb15c150e 100644
--- a/drivers/gpu/drm/xe/display/xe_fb_pin.c
+++ b/drivers/gpu/drm/xe/display/xe_fb_pin.c
@@ -89,24 +89,26 @@ static int __xe_pin_fb_vma_dpt(struct intel_framebuffer *fb,
 		plane_count = ARRAY_SIZE(view->rotated.plane);
 	}
 
-	if (IS_DGFX(xe))
+	if (IS_DGFX(xe)) {
 		dpt = xe_bo_create_pin_map(xe, tile0, NULL, dpt_size,
 					   ttm_bo_type_kernel,
 					   XE_BO_FLAG_VRAM0 |
 					   XE_BO_FLAG_GGTT |
 					   XE_BO_FLAG_PAGETABLE);
-	else
+	} else {
 		dpt = xe_bo_create_pin_map(xe, tile0, NULL, dpt_size,
 					   ttm_bo_type_kernel,
 					   XE_BO_FLAG_STOLEN |
 					   XE_BO_FLAG_GGTT |
 					   XE_BO_FLAG_PAGETABLE);
-	if (IS_ERR(dpt))
-		dpt = xe_bo_create_pin_map(xe, tile0, NULL, dpt_size,
-					   ttm_bo_type_kernel,
-					   XE_BO_FLAG_SYSTEM |
-					   XE_BO_FLAG_GGTT |
-					   XE_BO_FLAG_PAGETABLE);
+		if (IS_ERR(dpt))
+			dpt = xe_bo_create_pin_map(xe, tile0, NULL, dpt_size,
+						   ttm_bo_type_kernel,
+						   XE_BO_FLAG_SYSTEM |
+						   XE_BO_FLAG_GGTT |
+						   XE_BO_FLAG_PAGETABLE);
+	}
+
 	if (IS_ERR(dpt))
 		return PTR_ERR(dpt);
 
-- 
2.43.2



More information about the Intel-xe mailing list