Changeset 68334 in vbox
- Timestamp:
- Aug 8, 2017 9:26:39 AM (7 years ago)
- Location:
- trunk/src/VBox/Additions/linux/drm
- Files:
-
- 8 edited
-
vbox_drv.c (modified) (6 diffs)
-
vbox_drv.h (modified) (7 diffs)
-
vbox_fb.c (modified) (1 diff)
-
vbox_irq.c (modified) (1 diff)
-
vbox_main.c (modified) (8 diffs)
-
vbox_mode.c (modified) (8 diffs)
-
vbox_prime.c (modified) (1 diff)
-
vbox_ttm.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/linux/drm/vbox_drv.c
r68297 r68334 176 176 }; 177 177 178 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) 178 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) && !defined(RHEL_74) 179 179 /* This works around a bug in X servers prior to 1.18.4, which sometimes 180 180 * submit more dirty rectangles than the kernel is willing to handle and … … 192 192 return rc; 193 193 } 194 #endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) */194 #endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) && !RHEL_74 */ 195 195 196 196 static const struct file_operations vbox_fops = { … … 198 198 .open = drm_open, 199 199 .release = drm_release, 200 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) 200 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) && !defined(RHEL_74) 201 201 .unlocked_ioctl = vbox_ioctl, 202 202 #else … … 205 205 .mmap = vbox_mmap, 206 206 .poll = drm_poll, 207 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_7 )207 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_73) 208 208 .fasync = drm_fasync, 209 209 #endif … … 272 272 .master_set = vbox_master_set, 273 273 .master_drop = vbox_master_drop, 274 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_7 )274 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_73) 275 275 .set_busid = drm_pci_set_busid, 276 276 #endif … … 288 288 .dumb_create = vbox_dumb_create, 289 289 .dumb_map_offset = vbox_dumb_mmap_offset, 290 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_7 )290 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_73) 291 291 .dumb_destroy = vbox_dumb_destroy, 292 292 #else -
trunk/src/VBox/Additions/linux/drm/vbox_drv.h
r68297 r68334 50 50 51 51 #if defined(RHEL_MAJOR) && defined(RHEL_MINOR) 52 # if RHEL_MAJOR == 7 && RHEL_MINOR >= 3 53 # define RHEL_7 52 # if RHEL_MAJOR == 7 && RHEL_MINOR >= 4 53 # define RHEL_74 54 # elif RHEL_MAJOR == 7 && RHEL_MINOR >= 3 55 # define RHEL_73 54 56 # endif 55 57 #endif 56 58 57 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_7 )59 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_73) 58 60 #include <drm/drm_gem.h> 59 61 #endif … … 213 215 #endif 214 216 215 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0) && !defined(RHEL_7 )217 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0) && !defined(RHEL_73) 216 218 #define CRTC_FB(crtc) ((crtc)->fb) 217 219 #else … … 229 231 int vbox_framebuffer_init(struct drm_device *dev, 230 232 struct vbox_framebuffer *vbox_fb, 231 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) || defined(RHEL_7 )233 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) || defined(RHEL_73) 232 234 const 233 235 #endif … … 245 247 struct ttm_bo_kmap_obj kmap; 246 248 struct drm_gem_object gem; 247 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_7 )249 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_73) 248 250 u32 placements[3]; 249 251 #else … … 265 267 struct drm_device *dev, 266 268 struct drm_mode_create_dumb *args); 267 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_7 )269 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_73) 268 270 int vbox_dumb_destroy(struct drm_file *file, 269 271 struct drm_device *dev, u32 handle); … … 293 295 int ret; 294 296 295 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) 297 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) || defined(RHEL_74) 296 298 ret = ttm_bo_reserve(&bo->bo, true, no_wait, NULL); 297 299 #else … … 320 322 struct sg_table *vbox_gem_prime_get_sg_table(struct drm_gem_object *obj); 321 323 struct drm_gem_object *vbox_gem_prime_import_sg_table(struct drm_device *dev, 322 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_7 )324 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_73) 323 325 size_t size, 324 326 #else -
trunk/src/VBox/Additions/linux/drm/vbox_fb.c
r68297 r68334 409 409 spin_lock_init(&fbdev->dirty_lock); 410 410 411 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) && !defined(RHEL_7 )411 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) && !defined(RHEL_73) 412 412 fbdev->helper.funcs = &vbox_fb_helper_funcs; 413 413 #else -
trunk/src/VBox/Additions/linux/drm/vbox_irq.c
r68297 r68334 200 200 201 201 vbox_update_mode_hints(vbox); 202 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0) || defined(RHEL_7 )202 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0) || defined(RHEL_73) 203 203 ret = drm_irq_install(vbox->dev, vbox->dev->pdev->irq); 204 204 #else -
trunk/src/VBox/Additions/linux/drm/vbox_main.c
r68297 r68334 165 165 int vbox_framebuffer_init(struct drm_device *dev, 166 166 struct vbox_framebuffer *vbox_fb, 167 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) || defined(RHEL_7 )167 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) || defined(RHEL_73) 168 168 const 169 169 #endif … … 191 191 struct drm_device *dev, 192 192 struct drm_file *filp, 193 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) || defined(RHEL_7 )193 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) || defined(RHEL_73) 194 194 const struct drm_mode_fb_cmd2 *mode_cmd) 195 195 #else … … 201 201 int ret; 202 202 203 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) 203 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) || defined(RHEL_74) 204 204 obj = drm_gem_object_lookup(filp, mode_cmd->handles[0]); 205 205 #else … … 242 242 } 243 243 244 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0) && !defined(RHEL_7 )244 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 0, 0) && !defined(RHEL_73) 245 245 #define pci_iomap_range(dev, bar, offset, maxlen) \ 246 246 ioremap(pci_resource_start(dev, bar) + (offset), maxlen) … … 440 440 struct vbox_private *vbox = dev->dev_private; 441 441 442 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0) || defined(RHEL_7 )442 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0) || defined(RHEL_73) 443 443 if (vbox->fbdev) 444 444 drm_fb_helper_restore_fbdev_mode_unlocked(&vbox->fbdev->helper); … … 499 499 } 500 500 501 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_7 )501 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_73) 502 502 int vbox_dumb_destroy(struct drm_file *file, 503 503 struct drm_device *dev, u32 handle) … … 529 529 static inline u64 vbox_bo_mmap_offset(struct vbox_bo *bo) 530 530 { 531 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_7 )531 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 12, 0) && !defined(RHEL_73) 532 532 return bo->bo.addr_space_offset; 533 533 #else … … 546 546 547 547 mutex_lock(&dev->struct_mutex); 548 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) 548 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) || defined(RHEL_74) 549 549 obj = drm_gem_object_lookup(file, handle); 550 550 #else -
trunk/src/VBox/Additions/linux/drm/vbox_mode.c
r68300 r68334 43 43 #include <linux/export.h> 44 44 #include <drm/drm_crtc_helper.h> 45 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_7 )45 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_73) 46 46 #include <drm/drm_plane_helper.h> 47 47 #endif … … 396 396 } 397 397 398 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0) && !defined(RHEL_7 )398 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0) && !defined(RHEL_73) 399 399 static struct drm_encoder *drm_encoder_find(struct drm_device *dev, u32 id) 400 400 { … … 466 466 drm_encoder_init(dev, &vbox_encoder->base, &vbox_enc_funcs, 467 467 DRM_MODE_ENCODER_DAC 468 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) || defined(RHEL_7 )468 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) || defined(RHEL_73) 469 469 , NULL 470 470 #endif … … 593 593 } 594 594 vbox_set_edid(connector, preferred_width, preferred_height); 595 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) || defined(RHEL_7 )595 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) || defined(RHEL_73) 596 596 drm_object_property_set_value( 597 597 &connector->base, vbox->dev->mode_config.suggested_x_property, … … 616 616 617 617 vbox_connector = to_vbox_connector(connector); 618 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) && !defined(RHEL_7 )618 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) && !defined(RHEL_73) 619 619 drm_sysfs_connector_remove(connector); 620 620 #else … … 688 688 connector->doublescan_allowed = 0; 689 689 690 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) || defined(RHEL_7 )690 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) || defined(RHEL_73) 691 691 drm_mode_create_suggested_offset_properties(dev); 692 692 drm_object_attach_property(&connector->base, … … 695 695 dev->mode_config.suggested_y_property, -1); 696 696 #endif 697 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) && !defined(RHEL_7 )697 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) && !defined(RHEL_73) 698 698 drm_sysfs_connector_add(connector); 699 699 #else … … 806 806 return -EBUSY; 807 807 808 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) 808 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) || defined(RHEL_74) 809 809 obj = drm_gem_object_lookup(file_priv, handle); 810 810 #else -
trunk/src/VBox/Additions/linux/drm/vbox_prime.c
r68297 r68334 50 50 51 51 struct drm_gem_object *vbox_gem_prime_import_sg_table(struct drm_device *dev, 52 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_7 )52 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_73) 53 53 size_t size, 54 54 #else -
trunk/src/VBox/Additions/linux/drm/vbox_ttm.c
r68297 r68334 36 36 #include <ttm/ttm_page_alloc.h> 37 37 38 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_7 )38 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_73) 39 39 #define PLACEMENT_FLAGS(placement) (placement) 40 40 #else … … 290 290 vbox->ttm.bo_global_ref.ref.object, 291 291 &vbox_bo_driver, 292 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) || defined(RHEL_7 )292 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) || defined(RHEL_73) 293 293 dev->anon_inode->i_mapping, 294 294 #endif … … 342 342 { 343 343 u32 c = 0; 344 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_7 )344 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0) && !defined(RHEL_73) 345 345 bo->placement.fpfn = 0; 346 346 bo->placement.lpfn = 0; … … 364 364 bo->placement.num_placement = c; 365 365 bo->placement.num_busy_placement = c; 366 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_7 )366 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_73) 367 367 for (i = 0; i < c; ++i) { 368 368 bo->placements[i].fpfn = 0; … … 391 391 392 392 vboxbo->bo.bdev = &vbox->ttm.bdev; 393 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0) && !defined(RHEL_7 )393 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 15, 0) && !defined(RHEL_73) 394 394 vboxbo->bo.bdev->dev_mapping = dev->dev_mapping; 395 395 #endif … … 403 403 ttm_bo_type_device, &vboxbo->placement, 404 404 align >> PAGE_SHIFT, false, NULL, acc_size, 405 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_7 )405 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 18, 0) || defined(RHEL_73) 406 406 NULL, 407 407 #endif
Note:
See TracChangeset
for help on using the changeset viewer.

