Changeset 85705 in vbox for trunk/src/VBox/Additions
- Timestamp:
- Aug 11, 2020 7:17:09 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 139845
- Location:
- trunk/src/VBox/Additions/linux/drm
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/linux/drm/vbox_drv.c
r85704 r85705 41 41 #include <drm/drm_crtc_helper.h> 42 42 43 #if RTLNX_VER_MIN(5,1,0) || defined(RHEL_81)43 #if RTLNX_VER_MIN(5,1,0) || RTLNX_RHEL_MAJ_PREREQ(8,1) 44 44 #include <drm/drm_probe_helper.h> 45 45 #endif … … 108 108 } 109 109 110 #if RTLNX_VER_MAX(4,9,0) && ! defined(RHEL_74)110 #if RTLNX_VER_MAX(4,9,0) && !RTLNX_RHEL_MAJ_PREREQ(7,4) 111 111 static void drm_fb_helper_set_suspend_unlocked(struct drm_fb_helper *fb_helper, 112 112 bool suspend) … … 226 226 }; 227 227 228 #if RTLNX_VER_MAX(4,7,0) && ! defined(RHEL_74)228 #if RTLNX_VER_MAX(4,7,0) && !RTLNX_RHEL_MAJ_PREREQ(7,4) 229 229 /* This works around a bug in X servers prior to 1.18.4, which sometimes 230 230 * submit more dirty rectangles than the kernel is willing to handle and … … 242 242 return rc; 243 243 } 244 #endif /* RTLNX_VER_MAX(4,7,0) && !R HEL_74*/244 #endif /* RTLNX_VER_MAX(4,7,0) && !RTLNX_RHEL_MAJ_PREREQ(7,4) */ 245 245 246 246 static const struct file_operations vbox_fops = { … … 248 248 .open = drm_open, 249 249 .release = drm_release, 250 #if RTLNX_VER_MAX(4,7,0) && ! defined(RHEL_74)250 #if RTLNX_VER_MAX(4,7,0) && !RTLNX_RHEL_MAJ_PREREQ(7,4) 251 251 .unlocked_ioctl = vbox_ioctl, 252 252 #else … … 255 255 .mmap = vbox_mmap, 256 256 .poll = drm_poll, 257 #if RTLNX_VER_MAX(3,12,0) && ! defined(RHEL_70)257 #if RTLNX_VER_MAX(3,12,0) && !RTLNX_RHEL_MAJ_PREREQ(7,0) 258 258 .fasync = drm_fasync, 259 259 #endif … … 286 286 } 287 287 288 #if RTLNX_VER_MAX(4,8,0) && ! defined(RHEL_74)288 #if RTLNX_VER_MAX(4,8,0) && !RTLNX_RHEL_MAJ_PREREQ(7,4) 289 289 static void vbox_master_drop(struct drm_device *dev, 290 290 struct drm_file *file_priv, bool from_release) … … 308 308 .driver_features = 309 309 DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ | 310 # if RTLNX_VER_MAX(5,1,0) && ! defined(RHEL_81)310 # if RTLNX_VER_MAX(5,1,0) && !RTLNX_RHEL_MAJ_PREREQ(8,1) 311 311 DRIVER_IRQ_SHARED | 312 # endif /* < 5.1.0 && !defined(RHEL_81) */312 # endif 313 313 DRIVER_PRIME, 314 314 #else /* >= 5.4.0 */ … … 325 325 .master_set = vbox_master_set, 326 326 .master_drop = vbox_master_drop, 327 #if RTLNX_VER_MIN(3,18,0) || defined(RHEL_72)328 # if RTLNX_VER_MAX(4,14,0) && ! defined(RHEL_75) \327 #if RTLNX_VER_MIN(3,18,0) || RTLNX_RHEL_MAJ_PREREQ(7,2) 328 # if RTLNX_VER_MAX(4,14,0) && !RTLNX_RHEL_MAJ_PREREQ(7,5) \ 329 329 && !defined(OPENSUSE_151) && !defined(OPENSUSE_125) 330 330 .set_busid = drm_pci_set_busid, … … 348 348 .dumb_create = vbox_dumb_create, 349 349 .dumb_map_offset = vbox_dumb_mmap_offset, 350 #if RTLNX_VER_MAX(3,12,0) && ! defined(RHEL_73)350 #if RTLNX_VER_MAX(3,12,0) && !RTLNX_RHEL_MAJ_PREREQ(7,3) 351 351 .dumb_destroy = vbox_dumb_destroy, 352 352 #else … … 376 376 return -EINVAL; 377 377 378 #if RTLNX_VER_MIN(3,18,0) || defined(RHEL_73)378 #if RTLNX_VER_MIN(3,18,0) || RTLNX_RHEL_MAJ_PREREQ(7,3) 379 379 return pci_register_driver(&vbox_pci_driver); 380 380 #else … … 385 385 static void __exit vbox_exit(void) 386 386 { 387 #if RTLNX_VER_MIN(3,18,0) || defined(RHEL_73)387 #if RTLNX_VER_MIN(3,18,0) || RTLNX_RHEL_MAJ_PREREQ(7,3) 388 388 pci_unregister_driver(&vbox_pci_driver); 389 389 #else -
trunk/src/VBox/Additions/linux/drm/vbox_drv.h
r85704 r85705 136 136 #include <linux/pci.h> 137 137 138 /** @def VBOX_RHEL_MAJ_PREREQ139 * Require a minium minor release number for the given RedHat release.140 * @param a_iMajor RHEL_MAJOR must _equal_ this.141 * @param a_iMinor RHEL_MINOR must be greater or equal to this.142 */143 #if defined(RHEL_MAJOR) && defined(RHEL_MINOR)144 # define VBOX_RHEL_MAJ_PREREQ(a_iMajor, a_iMinor) ((RHEL_MAJOR) == (a_iMajor) && (RHEL_MINOR) >= (a_iMinor))145 # if RHEL_MAJOR == 8 && RHEL_MINOR >= 2146 # define RHEL_82147 # endif148 # if RHEL_MAJOR == 8 && RHEL_MINOR >= 1149 # define RHEL_81150 # endif151 # if RHEL_MAJOR == 8 && RHEL_MINOR >= 0152 # define RHEL_80153 # endif154 # if RHEL_MAJOR == 7 && RHEL_MINOR >= 7155 # define RHEL_77156 # endif157 # if RHEL_MAJOR == 7 && RHEL_MINOR >= 6158 # define RHEL_76159 # endif160 # if RHEL_MAJOR == 7 && RHEL_MINOR >= 5161 # define RHEL_75162 # endif163 # if RHEL_MAJOR == 7 && RHEL_MINOR >= 4164 # define RHEL_74165 # endif166 # if RHEL_MAJOR == 7 && RHEL_MINOR >= 3167 # define RHEL_73168 # endif169 # if RHEL_MAJOR == 7 && RHEL_MINOR >= 2170 # define RHEL_72171 # endif172 # if RHEL_MAJOR == 7 && RHEL_MINOR >= 1173 # define RHEL_71174 # endif175 # if RHEL_MAJOR == 7 && RHEL_MINOR >= 0176 # define RHEL_70177 # endif178 #else179 # define VBOX_RHEL_MAJ_PREREQ(a_iMajor, a_iMinor) 0180 #endif181 182 138 #if defined(CONFIG_SUSE_VERSION) 183 139 # if CONFIG_SUSE_VERSION == 15 && CONFIG_SUSE_PATCHLEVEL == 1 … … 189 145 #endif 190 146 191 #if RTLNX_VER_MAX(3,14,0) || defined(RHEL_71)147 #if RTLNX_VER_MAX(3,14,0) || RTLNX_RHEL_MAJ_PREREQ(7,1) 192 148 #define U8_MAX ((u8)~0U) 193 149 #define S8_MAX ((s8)(U8_MAX>>1)) … … 215 171 #include <drm/drm_vblank.h> 216 172 #endif /* >= 5.5.0 */ 217 #if RTLNX_VER_MIN(4,11,0) || defined(RHEL_75)173 #if RTLNX_VER_MIN(4,11,0) || RTLNX_RHEL_MAJ_PREREQ(7,5) 218 174 #include <drm/drm_encoder.h> 219 175 #endif 220 176 #include <drm/drm_fb_helper.h> 221 #if RTLNX_VER_MIN(3,18,0) || defined(RHEL_72)177 #if RTLNX_VER_MIN(3,18,0) || RTLNX_RHEL_MAJ_PREREQ(7,2) 222 178 #include <drm/drm_gem.h> 223 179 #endif … … 235 191 #include "product-generated.h" 236 192 237 #if RTLNX_VER_MAX(4,12,0) && ! defined(RHEL_75)193 #if RTLNX_VER_MAX(4,12,0) && !RTLNX_RHEL_MAJ_PREREQ(7,5) 238 194 static inline void drm_gem_object_put_unlocked(struct drm_gem_object *obj) 239 195 { … … 242 198 #endif 243 199 244 #if RTLNX_VER_MAX(4,12,0) && ! defined(RHEL_75)200 #if RTLNX_VER_MAX(4,12,0) && !RTLNX_RHEL_MAJ_PREREQ(7,5) 245 201 static inline void drm_gem_object_put(struct drm_gem_object *obj) 246 202 { … … 276 232 #define VBOX_REFRESH_PERIOD (HZ / 2) 277 233 278 #if RTLNX_VER_MAX(3,13,0) && ! defined(RHEL_72)234 #if RTLNX_VER_MAX(3,13,0) && !RTLNX_RHEL_MAJ_PREREQ(7,2) 279 235 static inline void *devm_kcalloc(struct device *dev, size_t n, size_t size, 280 236 gfp_t flags) … … 307 263 308 264 struct { 309 #if RTLNX_VER_MAX(5,0,0) && ! defined(RHEL_77) && !defined(RHEL_81)265 #if RTLNX_VER_MAX(5,0,0) && !RTLNX_RHEL_MAJ_PREREQ(7,7) && !RTLNX_RHEL_MAJ_PREREQ(8,1) 310 266 struct drm_global_reference mem_global_ref; 311 267 struct ttm_bo_global_ref bo_global_ref; … … 356 312 int vbox_driver_load(struct drm_device *dev); 357 313 #endif 358 #if RTLNX_VER_MIN(4,11,0) || defined(RHEL_75)314 #if RTLNX_VER_MIN(4,11,0) || RTLNX_RHEL_MAJ_PREREQ(7,5) 359 315 void vbox_driver_unload(struct drm_device *dev); 360 316 #else … … 424 380 #endif 425 381 426 #if RTLNX_VER_MAX(3,15,0) && ! defined(RHEL_71)382 #if RTLNX_VER_MAX(3,15,0) && !RTLNX_RHEL_MAJ_PREREQ(7,1) 427 383 #define CRTC_FB(crtc) ((crtc)->fb) 428 384 #else … … 440 396 int vbox_framebuffer_init(struct drm_device *dev, 441 397 struct vbox_framebuffer *vbox_fb, 442 #if RTLNX_VER_MIN(4,5,0) || defined(RHEL_73)398 #if RTLNX_VER_MIN(4,5,0) || RTLNX_RHEL_MAJ_PREREQ(7,3) 443 399 const struct DRM_MODE_FB_CMD *mode_cmd, 444 400 #else … … 456 412 struct ttm_bo_kmap_obj kmap; 457 413 struct drm_gem_object gem; 458 #if RTLNX_VER_MAX(3,18,0) && ! defined(RHEL_72)414 #if RTLNX_VER_MAX(3,18,0) && !RTLNX_RHEL_MAJ_PREREQ(7,2) 459 415 u32 placements[3]; 460 416 #else … … 476 432 struct drm_device *dev, 477 433 struct drm_mode_create_dumb *args); 478 #if RTLNX_VER_MAX(3,12,0) && ! defined(RHEL_73)434 #if RTLNX_VER_MAX(3,12,0) && !RTLNX_RHEL_MAJ_PREREQ(7,3) 479 435 int vbox_dumb_destroy(struct drm_file *file, 480 436 struct drm_device *dev, u32 handle); … … 504 460 int ret; 505 461 506 #if RTLNX_VER_MIN(4,7,0) || defined(RHEL_74)462 #if RTLNX_VER_MIN(4,7,0) || RTLNX_RHEL_MAJ_PREREQ(7,4) 507 463 ret = ttm_bo_reserve(&bo->bo, true, no_wait, NULL); 508 464 #else … … 530 486 void vbox_gem_prime_unpin(struct drm_gem_object *obj); 531 487 struct sg_table *vbox_gem_prime_get_sg_table(struct drm_gem_object *obj); 532 #if RTLNX_VER_MAX(3,18,0) && ! defined(RHEL_72)488 #if RTLNX_VER_MAX(3,18,0) && !RTLNX_RHEL_MAJ_PREREQ(7,2) 533 489 struct drm_gem_object *vbox_gem_prime_import_sg_table( 534 490 struct drm_device *dev, size_t size, struct sg_table *table); -
trunk/src/VBox/Additions/linux/drm/vbox_fb.c
r85704 r85705 51 51 #include <VBoxVideo.h> 52 52 53 #if RTLNX_VER_MAX(4,7,0) && ! defined(RHEL_74)53 #if RTLNX_VER_MAX(4,7,0) && !RTLNX_RHEL_MAJ_PREREQ(7,4) 54 54 /** 55 55 * Tell the host about dirty rectangles to update. … … 127 127 128 128 #ifdef CONFIG_FB_DEFERRED_IO 129 # if RTLNX_VER_MAX(4,7,0) && ! defined(RHEL_74)129 # if RTLNX_VER_MAX(4,7,0) && !RTLNX_RHEL_MAJ_PREREQ(7,4) 130 130 static void drm_fb_helper_deferred_io(struct fb_info *info, struct list_head *pagelist) 131 131 { … … 160 160 #endif 161 161 162 #if RTLNX_VER_MAX(4,3,0) && ! defined(RHEL_73)162 #if RTLNX_VER_MAX(4,3,0) && !RTLNX_RHEL_MAJ_PREREQ(7,3) 163 163 static void drm_fb_helper_sys_fillrect(struct fb_info *info, const struct fb_fillrect *rect) 164 164 { … … 226 226 } 227 227 228 #if RTLNX_VER_MAX(4,3,0) && ! defined(RHEL_73)228 #if RTLNX_VER_MAX(4,3,0) && !RTLNX_RHEL_MAJ_PREREQ(7,3) 229 229 static struct fb_info *drm_fb_helper_alloc_fbi(struct drm_fb_helper *helper) 230 230 { … … 336 336 info->apertures->ranges[0].size = pci_resource_len(dev->pdev, 0); 337 337 338 #if RTLNX_VER_MIN(5,2,0) || defined(RHEL_82)338 #if RTLNX_VER_MIN(5,2,0) || RTLNX_RHEL_MAJ_PREREQ(8,2) 339 339 /* 340 340 * The corresponding 5.2-rc1 Linux DRM kernel changes have been … … 342 342 */ 343 343 drm_fb_helper_fill_info(info, &fbdev->helper, sizes); 344 #elif RTLNX_VER_MIN(4,11,0) || VBOX_RHEL_MAJ_PREREQ(7, 5)344 #elif RTLNX_VER_MIN(4,11,0) || RTLNX_RHEL_MAJ_PREREQ(7, 5) 345 345 drm_fb_helper_fill_fix(info, fb->pitches[0], fb->format->depth); 346 346 #else 347 347 drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth); 348 348 #endif 349 #if RTLNX_VER_MAX(5,2,0) && ! defined(RHEL_82)349 #if RTLNX_VER_MAX(5,2,0) && !RTLNX_RHEL_MAJ_PREREQ(8,2) 350 350 drm_fb_helper_fill_var(info, &fbdev->helper, sizes->fb_width, 351 351 sizes->fb_height); … … 371 371 }; 372 372 373 #if RTLNX_VER_MAX(4,3,0) && ! defined(RHEL_73)373 #if RTLNX_VER_MAX(4,3,0) && !RTLNX_RHEL_MAJ_PREREQ(7,3) 374 374 static void drm_fb_helper_unregister_fbi(struct drm_fb_helper *fb_helper) 375 375 { … … 430 430 spin_lock_init(&fbdev->dirty_lock); 431 431 432 #if RTLNX_VER_MAX(3,17,0) && ! defined(RHEL_72)432 #if RTLNX_VER_MAX(3,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,2) 433 433 fbdev->helper.funcs = &vbox_fb_helper_funcs; 434 434 #else … … 437 437 #if RTLNX_VER_MIN(5,7,0) 438 438 ret = drm_fb_helper_init(dev, &fbdev->helper); 439 #elif RTLNX_VER_MIN(4,11,0) || defined(RHEL_75)439 #elif RTLNX_VER_MIN(4,11,0) || RTLNX_RHEL_MAJ_PREREQ(7,5) 440 440 ret = drm_fb_helper_init(dev, &fbdev->helper, vbox->num_crtcs); 441 441 #else /* < 4.11.0 */ -
trunk/src/VBox/Additions/linux/drm/vbox_irq.c
r85704 r85705 36 36 #if RTLNX_VER_MAX(5,1,0) 37 37 #include <drm/drm_crtc_helper.h> 38 # if defined(RHEL_81)38 # if RTLNX_RHEL_MAJ_PREREQ(8,1) 39 39 # include <drm/drm_probe_helper.h> 40 40 # endif … … 206 206 INIT_WORK(&vbox->hotplug_work, vbox_hotplug_worker); 207 207 vbox_update_mode_hints(vbox); 208 #if RTLNX_VER_MIN(3,16,0) || defined(RHEL_71)208 #if RTLNX_VER_MIN(3,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,1) 209 209 return drm_irq_install(vbox->dev, vbox->dev->pdev->irq); 210 210 #else -
trunk/src/VBox/Additions/linux/drm/vbox_main.c
r85704 r85705 164 164 int vbox_framebuffer_init(struct drm_device *dev, 165 165 struct vbox_framebuffer *vbox_fb, 166 #if RTLNX_VER_MIN(4,5,0) || defined(RHEL_73)166 #if RTLNX_VER_MIN(4,5,0) || RTLNX_RHEL_MAJ_PREREQ(7,3) 167 167 const struct DRM_MODE_FB_CMD *mode_cmd, 168 168 #else … … 173 173 int ret; 174 174 175 #if RTLNX_VER_MIN(4,11,0) || defined(RHEL_75)175 #if RTLNX_VER_MIN(4,11,0) || RTLNX_RHEL_MAJ_PREREQ(7,5) 176 176 drm_helper_mode_fill_fb_struct(dev, &vbox_fb->base, mode_cmd); 177 177 #else … … 191 191 struct drm_device *dev, 192 192 struct drm_file *filp, 193 #if RTLNX_VER_MIN(4,5,0) || defined(RHEL_73)193 #if RTLNX_VER_MIN(4,5,0) || RTLNX_RHEL_MAJ_PREREQ(7,3) 194 194 const struct drm_mode_fb_cmd2 *mode_cmd) 195 195 #else … … 201 201 int ret = -ENOMEM; 202 202 203 #if RTLNX_VER_MIN(4,7,0) || defined(RHEL_74)203 #if RTLNX_VER_MIN(4,7,0) || RTLNX_RHEL_MAJ_PREREQ(7,4) 204 204 obj = drm_gem_object_lookup(filp, mode_cmd->handles[0]); 205 205 #else … … 230 230 }; 231 231 232 #if RTLNX_VER_MAX(4,0,0) && ! defined(RHEL_73)232 #if RTLNX_VER_MAX(4,0,0) && !RTLNX_RHEL_MAJ_PREREQ(7,3) 233 233 #define pci_iomap_range(dev, bar, offset, maxlen) \ 234 234 ioremap(pci_resource_start(dev, bar) + (offset), maxlen) … … 512 512 } 513 513 514 #if RTLNX_VER_MIN(4,11,0) || defined(RHEL_75)514 #if RTLNX_VER_MIN(4,11,0) || RTLNX_RHEL_MAJ_PREREQ(7,5) 515 515 void vbox_driver_unload(struct drm_device *dev) 516 516 #else … … 526 526 vbox_mm_fini(vbox); 527 527 vbox_hw_fini(vbox); 528 #if RTLNX_VER_MAX(4,11,0) && ! defined(RHEL_75)528 #if RTLNX_VER_MAX(4,11,0) && !RTLNX_RHEL_MAJ_PREREQ(7,5) 529 529 return 0; 530 530 #endif … … 539 539 struct vbox_private *vbox = dev->dev_private; 540 540 541 #if RTLNX_VER_MIN(3,16,0) || defined(RHEL_71)541 #if RTLNX_VER_MIN(3,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,1) 542 542 if (vbox->fbdev) 543 543 drm_fb_helper_restore_fbdev_mode_unlocked(&vbox->fbdev->helper); … … 598 598 } 599 599 600 #if RTLNX_VER_MAX(3,12,0) && ! defined(RHEL_73)600 #if RTLNX_VER_MAX(3,12,0) && !RTLNX_RHEL_MAJ_PREREQ(7,3) 601 601 int vbox_dumb_destroy(struct drm_file *file, 602 602 struct drm_device *dev, u32 handle) … … 607 607 608 608 #if RTLNX_VER_MAX(4,19,0) && !defined(OPENSUSE_151) && !defined(OPENSUSE_125) \ 609 && ! defined(RHEL_77) && !defined(RHEL_81)609 && !RTLNX_RHEL_MAJ_PREREQ(7,7) && !RTLNX_RHEL_MAJ_PREREQ(8,1) 610 610 static void ttm_bo_put(struct ttm_buffer_object *bo) 611 611 { … … 625 625 #if RTLNX_VER_MIN(5,4,0) 626 626 return drm_vma_node_offset_addr(&bo->bo.base.vma_node); 627 #elif RTLNX_VER_MAX(3,12,0) && ! defined(RHEL_70)627 #elif RTLNX_VER_MAX(3,12,0) && !RTLNX_RHEL_MAJ_PREREQ(7,0) 628 628 return bo->bo.addr_space_offset; 629 629 #else … … 642 642 643 643 mutex_lock(&dev->struct_mutex); 644 #if RTLNX_VER_MIN(4,7,0) || defined(RHEL_74)644 #if RTLNX_VER_MIN(4,7,0) || RTLNX_RHEL_MAJ_PREREQ(7,4) 645 645 obj = drm_gem_object_lookup(file, handle); 646 646 #else -
trunk/src/VBox/Additions/linux/drm/vbox_mode.c
r85704 r85705 40 40 #include <linux/export.h> 41 41 #include <drm/drm_crtc_helper.h> 42 #if RTLNX_VER_MIN(3,18,0) || defined(RHEL_72)42 #if RTLNX_VER_MIN(3,18,0) || RTLNX_RHEL_MAJ_PREREQ(7,2) 43 43 #include <drm/drm_plane_helper.h> 44 44 #endif 45 #if RTLNX_VER_MIN(5,1,0) || defined(RHEL_81)45 #if RTLNX_VER_MIN(5,1,0) || RTLNX_RHEL_MAJ_PREREQ(8,1) 46 46 #include <drm/drm_probe_helper.h> 47 47 #endif … … 70 70 width = mode->hdisplay ? mode->hdisplay : 640; 71 71 height = mode->vdisplay ? mode->vdisplay : 480; 72 #if RTLNX_VER_MIN(4,11,0) || defined(RHEL_75)72 #if RTLNX_VER_MIN(4,11,0) || RTLNX_RHEL_MAJ_PREREQ(7,5) 73 73 bpp = crtc->enabled ? CRTC_FB(crtc)->format->cpp[0] * 8 : 32; 74 74 pitch = crtc->enabled ? CRTC_FB(crtc)->pitches[0] : width * bpp / 8; … … 94 94 VBoxVideoSetModeRegisters( 95 95 width, height, pitch * 8 / bpp, 96 #if RTLNX_VER_MIN(4,11,0) || defined(RHEL_75)96 #if RTLNX_VER_MIN(4,11,0) || RTLNX_RHEL_MAJ_PREREQ(7,5) 97 97 CRTC_FB(crtc)->format->cpp[0] * 8, 98 98 #else … … 285 285 static int vbox_crtc_page_flip(struct drm_crtc *crtc, 286 286 struct drm_framebuffer *fb, 287 #if RTLNX_VER_MIN(4,12,0) || defined(RHEL_75)287 #if RTLNX_VER_MIN(4,12,0) || RTLNX_RHEL_MAJ_PREREQ(7,5) 288 288 struct drm_pending_vblank_event *event, 289 289 uint32_t page_flip_flags, 290 290 struct drm_modeset_acquire_ctx *ctx) 291 #elif RTLNX_VER_MIN(3,12,0) || defined(RHEL_70)291 #elif RTLNX_VER_MIN(3,12,0) || RTLNX_RHEL_MAJ_PREREQ(7,0) 292 292 struct drm_pending_vblank_event *event, 293 293 uint32_t page_flip_flags) … … 311 311 312 312 if (event) 313 #if RTLNX_VER_MIN(3,19,0) || defined(RHEL_72)313 #if RTLNX_VER_MIN(3,19,0) || RTLNX_RHEL_MAJ_PREREQ(7,2) 314 314 drm_crtc_send_vblank_event(crtc, event); 315 315 #else … … 386 386 } 387 387 388 #if RTLNX_VER_MAX(3,13,0) && ! defined(RHEL_71)388 #if RTLNX_VER_MAX(3,13,0) && !RTLNX_RHEL_MAJ_PREREQ(7,1) 389 389 static struct drm_encoder *drm_encoder_find(struct drm_device *dev, u32 id) 390 390 { … … 410 410 /* pick the encoder ids */ 411 411 if (enc_id) 412 # if RTLNX_VER_MIN(4,15,0) || \ 413 (defined(CONFIG_SUSE_VERSION) && \ 414 RTLNX_VER_MIN(4,12,0)) || \ 415 defined(RHEL_76) 412 # if RTLNX_VER_MIN(4,15,0) \ 413 || RTLNX_RHEL_MAJ_PREREQ(7,6) \ 414 || (defined(CONFIG_SUSE_VERSION) && RTLNX_VER_MIN(4,12,0)) 416 415 return drm_encoder_find(connector->dev, NULL, enc_id); 417 416 # else … … 469 468 470 469 drm_encoder_init(dev, &vbox_encoder->base, &vbox_enc_funcs, 471 #if RTLNX_VER_MIN(4,5,0) || defined(RHEL_73)470 #if RTLNX_VER_MIN(4,5,0) || RTLNX_RHEL_MAJ_PREREQ(7,3) 472 471 DRM_MODE_ENCODER_DAC, NULL); 473 472 #else … … 549 548 edid[EDID_SIZE - 1] = (0x100 - (sum & 0xFF)) & 0xFF; 550 549 #if RTLNX_VER_MIN(4,19,0) || defined(OPENSUSE_151) || defined(OPENSUSE_125) \ 551 || defined(RHEL_77) || defined(RHEL_81)550 || RTLNX_RHEL_MAJ_PREREQ(7,7) || RTLNX_RHEL_MAJ_PREREQ(8,1) 552 551 drm_connector_update_edid_property(connector, (struct edid *)edid); 553 552 #else … … 607 606 vbox_set_edid(connector, preferred_width, preferred_height); 608 607 609 #if RTLNX_VER_MIN(3,19,0) || defined(RHEL_72)608 #if RTLNX_VER_MIN(3,19,0) || RTLNX_RHEL_MAJ_PREREQ(7,2) 610 609 if (vbox_connector->vbox_crtc->x_hint != -1) 611 610 drm_object_property_set_value(&connector->base, … … 628 627 } 629 628 630 #if RTLNX_VER_MAX(3,14,0) && ! defined(RHEL_71)629 #if RTLNX_VER_MAX(3,14,0) && !RTLNX_RHEL_MAJ_PREREQ(7,1) 631 630 static int vbox_mode_valid(struct drm_connector *connector, 632 631 #else … … 640 639 static void vbox_connector_destroy(struct drm_connector *connector) 641 640 { 642 #if RTLNX_VER_MAX(3,17,0) && ! defined(RHEL_72)641 #if RTLNX_VER_MAX(3,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,2) 643 642 drm_sysfs_connector_remove(connector); 644 643 #else … … 711 710 connector->doublescan_allowed = 0; 712 711 713 #if RTLNX_VER_MIN(3,19,0) || defined(RHEL_72)712 #if RTLNX_VER_MIN(3,19,0) || RTLNX_RHEL_MAJ_PREREQ(7,2) 714 713 drm_mode_create_suggested_offset_properties(dev); 715 714 drm_object_attach_property(&connector->base, … … 718 717 dev->mode_config.suggested_y_property, 0); 719 718 #endif 720 #if RTLNX_VER_MAX(3,17,0) && ! defined(RHEL_72)719 #if RTLNX_VER_MAX(3,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,2) 721 720 drm_sysfs_connector_add(connector); 722 721 #else … … 725 724 726 725 #if RTLNX_VER_MIN(4,19,0) || defined(OPENSUSE_151) || defined(OPENSUSE_125) \ 727 || defined(RHEL_77) || defined(RHEL_81)726 || RTLNX_RHEL_MAJ_PREREQ(7,7) || RTLNX_RHEL_MAJ_PREREQ(8,1) 728 727 drm_connector_attach_encoder(connector, encoder); 729 728 #else … … 833 832 } 834 833 835 #if RTLNX_VER_MIN(4,7,0) || defined(RHEL_74)834 #if RTLNX_VER_MIN(4,7,0) || RTLNX_RHEL_MAJ_PREREQ(7,4) 836 835 obj = drm_gem_object_lookup(file_priv, handle); 837 836 #else -
trunk/src/VBox/Additions/linux/drm/vbox_prime.c
r85704 r85705 50 50 } 51 51 52 #if RTLNX_VER_MAX(3,18,0) && ! defined(RHEL_72)52 #if RTLNX_VER_MAX(3,18,0) && !RTLNX_RHEL_MAJ_PREREQ(7,2) 53 53 struct drm_gem_object *vbox_gem_prime_import_sg_table( 54 54 struct drm_device *dev, size_t size, struct sg_table *table) -
trunk/src/VBox/Additions/linux/drm/vbox_ttm.c
r85704 r85705 36 36 #include <drm/ttm/ttm_page_alloc.h> 37 37 38 #if RTLNX_VER_MAX(3,18,0) && ! defined(RHEL_72)38 #if RTLNX_VER_MAX(3,18,0) && !RTLNX_RHEL_MAJ_PREREQ(7,2) 39 39 #define PLACEMENT_FLAGS(placement) (placement) 40 40 #else … … 47 47 } 48 48 49 #if RTLNX_VER_MAX(5,0,0) && ! defined(RHEL_77) && !defined(RHEL_81)49 #if RTLNX_VER_MAX(5,0,0) && !RTLNX_RHEL_MAJ_PREREQ(7,7) && !RTLNX_RHEL_MAJ_PREREQ(8,1) 50 50 static int vbox_ttm_mem_global_init(struct drm_global_reference *ref) 51 51 { … … 211 211 }; 212 212 213 #if (RTLNX_VER_MAX(4,17,0)) && !defined(RHEL_76) \213 #if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) \ 214 214 && !defined(OPENSUSE_151) && !defined(OPENSUSE_125) 215 215 static struct ttm_tt *vbox_ttm_tt_create(struct ttm_bo_device *bdev, … … 229 229 230 230 tt->func = &vbox_tt_backend_func; 231 #if (RTLNX_VER_MAX(4,17,0)) && !defined(RHEL_76) \231 #if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) \ 232 232 && !defined(OPENSUSE_151) && !defined(OPENSUSE_125) 233 233 if (ttm_tt_init(tt, bdev, size, page_flags, dummy_read_page)) { … … 243 243 244 244 #if RTLNX_VER_MAX(4,17,0) 245 # if (RTLNX_VER_MAX(4,16,0)) && ! defined(RHEL_76) \245 # if (RTLNX_VER_MAX(4,16,0)) && !RTLNX_RHEL_MAJ_PREREQ(7,6) \ 246 246 && !defined(OPENSUSE_151) && !defined(OPENSUSE_125) 247 247 static int vbox_ttm_tt_populate(struct ttm_tt *ttm) … … 270 270 #endif 271 271 .init_mem_type = vbox_bo_init_mem_type, 272 #if RTLNX_VER_MIN(4,10,0) || defined(RHEL_74)272 #if RTLNX_VER_MIN(4,10,0) || RTLNX_RHEL_MAJ_PREREQ(7,4) 273 273 .eviction_valuable = ttm_bo_eviction_valuable, 274 274 #endif … … 277 277 .io_mem_reserve = &vbox_ttm_io_mem_reserve, 278 278 .io_mem_free = &vbox_ttm_io_mem_free, 279 #if RTLNX_VER_MIN(4,12,0) || defined(RHEL_75)280 # if (RTLNX_VER_MAX(4,16,0)) && ! defined(RHEL_76) \279 #if RTLNX_VER_MIN(4,12,0) || RTLNX_RHEL_MAJ_PREREQ(7,5) 280 # if (RTLNX_VER_MAX(4,16,0)) && !RTLNX_RHEL_MAJ_PREREQ(7,6) \ 281 281 && !defined(OPENSUSE_151) && !defined(OPENSUSE_125) 282 282 .io_mem_pfn = ttm_bo_default_io_mem_pfn, 283 283 # endif 284 284 #endif 285 #if (RTLNX_VER_RANGE(4,7,0, 4,11,0) || defined(RHEL_74)) && !defined(RHEL_75)285 #if (RTLNX_VER_RANGE(4,7,0, 4,11,0) || RTLNX_RHEL_MAJ_PREREQ(7,4)) && !RTLNX_RHEL_MAJ_PREREQ(7,5) 286 286 .lru_tail = &ttm_bo_default_lru_tail, 287 287 .swap_lru_tail = &ttm_bo_default_swap_lru_tail, … … 295 295 struct ttm_bo_device *bdev = &vbox->ttm.bdev; 296 296 297 #if RTLNX_VER_MAX(5,0,0) && ! defined(RHEL_77) && !defined(RHEL_81)297 #if RTLNX_VER_MAX(5,0,0) && !RTLNX_RHEL_MAJ_PREREQ(7,7) && !RTLNX_RHEL_MAJ_PREREQ(8,1) 298 298 ret = vbox_ttm_global_init(vbox); 299 299 if (ret) … … 301 301 #endif 302 302 ret = ttm_bo_device_init(&vbox->ttm.bdev, 303 #if RTLNX_VER_MAX(5,0,0) && ! defined(RHEL_77) && !defined(RHEL_81)303 #if RTLNX_VER_MAX(5,0,0) && !RTLNX_RHEL_MAJ_PREREQ(7,7) && !RTLNX_RHEL_MAJ_PREREQ(8,1) 304 304 vbox->ttm.bo_global_ref.ref.object, 305 305 #endif 306 306 &vbox_bo_driver, 307 #if RTLNX_VER_MIN(3,15,0) || defined(RHEL_71)307 #if RTLNX_VER_MIN(3,15,0) || RTLNX_RHEL_MAJ_PREREQ(7,1) 308 308 dev->anon_inode->i_mapping, 309 309 #endif 310 310 #if RTLNX_VER_MIN(5,5,0) 311 311 dev->vma_offset_manager, 312 #elif RTLNX_VER_MAX(5,2,0) && ! defined(RHEL_82)312 #elif RTLNX_VER_MAX(5,2,0) && !RTLNX_RHEL_MAJ_PREREQ(8,2) 313 313 DRM_FILE_PAGE_OFFSET, 314 314 #endif … … 316 316 if (ret) { 317 317 DRM_ERROR("Error initialising bo driver; %d\n", ret); 318 #if RTLNX_VER_MAX(5,0,0) && ! defined(RHEL_77) && !defined(RHEL_81)318 #if RTLNX_VER_MAX(5,0,0) && !RTLNX_RHEL_MAJ_PREREQ(7,7) && !RTLNX_RHEL_MAJ_PREREQ(8,1) 319 319 goto err_ttm_global_release; 320 320 #else … … 342 342 err_device_release: 343 343 ttm_bo_device_release(&vbox->ttm.bdev); 344 #if RTLNX_VER_MAX(5,0,0) && ! defined(RHEL_77) && !defined(RHEL_81)344 #if RTLNX_VER_MAX(5,0,0) && !RTLNX_RHEL_MAJ_PREREQ(7,7) && !RTLNX_RHEL_MAJ_PREREQ(8,1) 345 345 err_ttm_global_release: 346 346 vbox_ttm_global_release(vbox); … … 359 359 #endif 360 360 ttm_bo_device_release(&vbox->ttm.bdev); 361 #if RTLNX_VER_MAX(5,0,0) && ! defined(RHEL_77) && !defined(RHEL_81)361 #if RTLNX_VER_MAX(5,0,0) && !RTLNX_RHEL_MAJ_PREREQ(7,7) && !RTLNX_RHEL_MAJ_PREREQ(8,1) 362 362 vbox_ttm_global_release(vbox); 363 363 #endif … … 367 367 { 368 368 u32 c = 0; 369 #if RTLNX_VER_MAX(3,18,0) && ! defined(RHEL_72)369 #if RTLNX_VER_MAX(3,18,0) && !RTLNX_RHEL_MAJ_PREREQ(7,2) 370 370 bo->placement.fpfn = 0; 371 371 bo->placement.lpfn = 0; … … 390 390 bo->placement.num_busy_placement = c; 391 391 392 #if RTLNX_VER_MIN(3,18,0) || defined(RHEL_72)392 #if RTLNX_VER_MIN(3,18,0) || RTLNX_RHEL_MAJ_PREREQ(7,2) 393 393 for (i = 0; i < c; ++i) { 394 394 bo->placements[i].fpfn = 0; … … 415 415 416 416 vboxbo->bo.bdev = &vbox->ttm.bdev; 417 #if RTLNX_VER_MAX(3,15,0) && ! defined(RHEL_71)417 #if RTLNX_VER_MAX(3,15,0) && !RTLNX_RHEL_MAJ_PREREQ(7,1) 418 418 vboxbo->bo.bdev->dev_mapping = dev->dev_mapping; 419 419 #endif … … 426 426 ret = ttm_bo_init(&vbox->ttm.bdev, &vboxbo->bo, size, 427 427 ttm_bo_type_device, &vboxbo->placement, 428 #if RTLNX_VER_MAX(4,17,0) && ! defined(RHEL_76) \428 #if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) \ 429 429 && !defined(OPENSUSE_151) && !defined(OPENSUSE_125) 430 430 align >> PAGE_SHIFT, false, NULL, acc_size, … … 432 432 align >> PAGE_SHIFT, false, acc_size, 433 433 #endif 434 #if RTLNX_VER_MIN(3,18,0) || defined(RHEL_72)434 #if RTLNX_VER_MIN(3,18,0) || RTLNX_RHEL_MAJ_PREREQ(7,2) 435 435 NULL, NULL, vbox_bo_ttm_destroy); 436 436 #else … … 456 456 int vbox_bo_pin(struct vbox_bo *bo, u32 pl_flag, u64 *gpu_addr) 457 457 { 458 #if (RTLNX_VER_MIN(4,16,0)) || defined(RHEL_76) \458 #if (RTLNX_VER_MIN(4,16,0)) || RTLNX_RHEL_MAJ_PREREQ(7,6) \ 459 459 || defined(OPENSUSE_151) || defined(OPENSUSE_125) 460 460 struct ttm_operation_ctx ctx = { false, false }; … … 475 475 PLACEMENT_FLAGS(bo->placements[i]) |= TTM_PL_FLAG_NO_EVICT; 476 476 477 #if (RTLNX_VER_MAX(4,16,0)) && ! defined(RHEL_76) \477 #if (RTLNX_VER_MAX(4,16,0)) && !RTLNX_RHEL_MAJ_PREREQ(7,6) \ 478 478 && !defined(OPENSUSE_151) && !defined(OPENSUSE_125) 479 479 ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false); … … 494 494 int vbox_bo_unpin(struct vbox_bo *bo) 495 495 { 496 #if (RTLNX_VER_MIN(4,16,0)) || defined(RHEL_76) \496 #if (RTLNX_VER_MIN(4,16,0)) || RTLNX_RHEL_MAJ_PREREQ(7,6) \ 497 497 || defined(OPENSUSE_151) || defined(OPENSUSE_125) 498 498 struct ttm_operation_ctx ctx = { false, false }; … … 511 511 PLACEMENT_FLAGS(bo->placements[i]) &= ~TTM_PL_FLAG_NO_EVICT; 512 512 513 #if (RTLNX_VER_MAX(4,16,0)) && ! defined(RHEL_76) \513 #if (RTLNX_VER_MAX(4,16,0)) && !RTLNX_RHEL_MAJ_PREREQ(7,6) \ 514 514 && !defined(OPENSUSE_151) && !defined(OPENSUSE_125) 515 515 ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false); … … 530 530 int vbox_bo_push_sysram(struct vbox_bo *bo) 531 531 { 532 #if (RTLNX_VER_MIN(4,16,0)) || defined(RHEL_76) \532 #if (RTLNX_VER_MIN(4,16,0)) || RTLNX_RHEL_MAJ_PREREQ(7,6) \ 533 533 || defined(OPENSUSE_151) || defined(OPENSUSE_125) 534 534 struct ttm_operation_ctx ctx = { false, false }; … … 552 552 PLACEMENT_FLAGS(bo->placements[i]) |= TTM_PL_FLAG_NO_EVICT; 553 553 554 #if (RTLNX_VER_MAX(4,16,0)) && ! defined(RHEL_76) \554 #if (RTLNX_VER_MAX(4,16,0)) && !RTLNX_RHEL_MAJ_PREREQ(7,6) \ 555 555 && !defined(OPENSUSE_151) && !defined(OPENSUSE_125) 556 556 ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
Note:
See TracChangeset
for help on using the changeset viewer.