File linux-5.10-framebuffer-fixes.patch of Package virtualbox.openSUSE_Leap_15.2_Update

Index: b/src/VBox/Additions/linux/drm/vbox_drv.h
===================================================================
--- a/src/VBox/Additions/linux/drm/vbox_drv.h
+++ b/src/VBox/Additions/linux/drm/vbox_drv.h
@@ -205,6 +205,13 @@ static inline void drm_gem_object_put(st
 }
 #endif
 
+#ifndef TTM_PL_FLAG_SYSTEM
+#define TTM_PL_FLAG_SYSTEM      (1 << TTM_PL_SYSTEM)
+#endif
+#ifndef TTM_PL_FLAG_VRAM
+#define TTM_PL_FLAG_VRAM        (1 << TTM_PL_VRAM)
+#endif
+
 #define DRIVER_AUTHOR       VBOX_VENDOR
 
 #define DRIVER_NAME         "vboxvideo"
Index: b/src/VBox/Additions/linux/drm/vbox_ttm.c
===================================================================
--- a/src/VBox/Additions/linux/drm/vbox_ttm.c
+++ b/src/VBox/Additions/linux/drm/vbox_ttm.c
@@ -373,11 +373,23 @@ void vbox_ttm_placement(struct vbox_bo *
 	bo->placement.busy_placement = bo->placements;
 
 	if (domain & TTM_PL_FLAG_VRAM)
+#if RTLNX_VER_MIN(5,10,0)
+		bo->placements[c].mem_type = TTM_PL_VRAM;
+		PLACEMENT_FLAGS(bo->placements[c++]) =
+		    TTM_PL_FLAG_WC | TTM_PL_FLAG_UNCACHED;
+#else
 		PLACEMENT_FLAGS(bo->placements[c++]) =
 		    TTM_PL_FLAG_WC | TTM_PL_FLAG_UNCACHED | TTM_PL_FLAG_VRAM;
+#endif
 	if (domain & TTM_PL_FLAG_SYSTEM)
+#if RTLNX_VER_MIN(5,10,0)
+		bo->placements[c].mem_type = TTM_PL_SYSTEM;
+		PLACEMENT_FLAGS(bo->placements[c++]) =
+		    TTM_PL_MASK_CACHING;
+#else
 		PLACEMENT_FLAGS(bo->placements[c++]) =
 		    TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM;
+#endif
 	if (!c)
 		PLACEMENT_FLAGS(bo->placements[c++]) =
 		    TTM_PL_MASK_CACHING | TTM_PL_FLAG_SYSTEM;
openSUSE Build Service is sponsored by