VirtualBox

Changeset 68334 in vbox


Ignore:
Timestamp:
Aug 8, 2017 9:26:39 AM (7 years ago)
Author:
vboxsync
Message:

Additions/linux/drm: refined the RHEL_7 test to distinguish between RHEL_73 (DRM patchlevel 4.6.5) and RHEL_74 (DRM patchlevel 4.10.13)

Location:
trunk/src/VBox/Additions/linux/drm
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/linux/drm/vbox_drv.c

    r68297 r68334  
    176176};
    177177
    178 #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0)
     178#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) && !defined(RHEL_74)
    179179/* This works around a bug in X servers prior to 1.18.4, which sometimes
    180180 * submit more dirty rectangles than the kernel is willing to handle and
     
    192192        return rc;
    193193}
    194 #endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) */
     194#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0) && !RHEL_74 */
    195195
    196196static const struct file_operations vbox_fops = {
     
    198198        .open = drm_open,
    199199        .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)
    201201        .unlocked_ioctl = vbox_ioctl,
    202202#else
     
    205205        .mmap = vbox_mmap,
    206206        .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)
    208208        .fasync = drm_fasync,
    209209#endif
     
    272272        .master_set = vbox_master_set,
    273273        .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)
    275275        .set_busid = drm_pci_set_busid,
    276276#endif
     
    288288        .dumb_create = vbox_dumb_create,
    289289        .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)
    291291        .dumb_destroy = vbox_dumb_destroy,
    292292#else
  • trunk/src/VBox/Additions/linux/drm/vbox_drv.h

    r68297 r68334  
    5050
    5151#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
    5456# endif
    5557#endif
    5658
    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)
    5860#include <drm/drm_gem.h>
    5961#endif
     
    213215#endif
    214216
    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)
    216218#define CRTC_FB(crtc) ((crtc)->fb)
    217219#else
     
    229231int vbox_framebuffer_init(struct drm_device *dev,
    230232                          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)
    232234                          const
    233235#endif
     
    245247        struct ttm_bo_kmap_obj kmap;
    246248        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)
    248250        u32 placements[3];
    249251#else
     
    265267                     struct drm_device *dev,
    266268                     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)
    268270int vbox_dumb_destroy(struct drm_file *file,
    269271                      struct drm_device *dev, u32 handle);
     
    293295        int ret;
    294296
    295 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
     297#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) || defined(RHEL_74)
    296298        ret = ttm_bo_reserve(&bo->bo, true, no_wait, NULL);
    297299#else
     
    320322struct sg_table *vbox_gem_prime_get_sg_table(struct drm_gem_object *obj);
    321323struct 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)
    323325                                                      size_t size,
    324326#else
  • trunk/src/VBox/Additions/linux/drm/vbox_fb.c

    r68297 r68334  
    409409        spin_lock_init(&fbdev->dirty_lock);
    410410
    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)
    412412        fbdev->helper.funcs = &vbox_fb_helper_funcs;
    413413#else
  • trunk/src/VBox/Additions/linux/drm/vbox_irq.c

    r68297 r68334  
    200200
    201201        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)
    203203        ret = drm_irq_install(vbox->dev, vbox->dev->pdev->irq);
    204204#else
  • trunk/src/VBox/Additions/linux/drm/vbox_main.c

    r68297 r68334  
    165165int vbox_framebuffer_init(struct drm_device *dev,
    166166                          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)
    168168                          const
    169169#endif
     
    191191                struct drm_device *dev,
    192192                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)
    194194                const struct drm_mode_fb_cmd2 *mode_cmd)
    195195#else
     
    201201        int ret;
    202202
    203 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
     203#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) || defined(RHEL_74)
    204204        obj = drm_gem_object_lookup(filp, mode_cmd->handles[0]);
    205205#else
     
    242242}
    243243
    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)
    245245#define pci_iomap_range(dev, bar, offset, maxlen) \
    246246        ioremap(pci_resource_start(dev, bar) + (offset), maxlen)
     
    440440        struct vbox_private *vbox = dev->dev_private;
    441441
    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)
    443443        if (vbox->fbdev)
    444444                drm_fb_helper_restore_fbdev_mode_unlocked(&vbox->fbdev->helper);
     
    499499}
    500500
    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)
    502502int vbox_dumb_destroy(struct drm_file *file,
    503503                      struct drm_device *dev, u32 handle)
     
    529529static inline u64 vbox_bo_mmap_offset(struct vbox_bo *bo)
    530530{
    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)
    532532        return bo->bo.addr_space_offset;
    533533#else
     
    546546
    547547        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)
    549549        obj = drm_gem_object_lookup(file, handle);
    550550#else
  • trunk/src/VBox/Additions/linux/drm/vbox_mode.c

    r68300 r68334  
    4343#include <linux/export.h>
    4444#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)
    4646#include <drm/drm_plane_helper.h>
    4747#endif
     
    396396}
    397397
    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)
    399399static struct drm_encoder *drm_encoder_find(struct drm_device *dev, u32 id)
    400400{
     
    466466        drm_encoder_init(dev, &vbox_encoder->base, &vbox_enc_funcs,
    467467                         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)
    469469                         , NULL
    470470#endif
     
    593593        }
    594594        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)
    596596        drm_object_property_set_value(
    597597                &connector->base, vbox->dev->mode_config.suggested_x_property,
     
    616616
    617617        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)
    619619        drm_sysfs_connector_remove(connector);
    620620#else
     
    688688        connector->doublescan_allowed = 0;
    689689
    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)
    691691        drm_mode_create_suggested_offset_properties(dev);
    692692        drm_object_attach_property(&connector->base,
     
    695695                                   dev->mode_config.suggested_y_property, -1);
    696696#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)
    698698        drm_sysfs_connector_add(connector);
    699699#else
     
    806806                return -EBUSY;
    807807
    808 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
     808#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) || defined(RHEL_74)
    809809        obj = drm_gem_object_lookup(file_priv, handle);
    810810#else
  • trunk/src/VBox/Additions/linux/drm/vbox_prime.c

    r68297 r68334  
    5050
    5151struct 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)
    5353                                                      size_t size,
    5454#else
  • trunk/src/VBox/Additions/linux/drm/vbox_ttm.c

    r68297 r68334  
    3636#include <ttm/ttm_page_alloc.h>
    3737
    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)
    3939#define PLACEMENT_FLAGS(placement) (placement)
    4040#else
     
    290290                                 vbox->ttm.bo_global_ref.ref.object,
    291291                                 &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)
    293293                                 dev->anon_inode->i_mapping,
    294294#endif
     
    342342{
    343343        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)
    345345        bo->placement.fpfn = 0;
    346346        bo->placement.lpfn = 0;
     
    364364        bo->placement.num_placement = c;
    365365        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)
    367367        for (i = 0; i < c; ++i) {
    368368                bo->placements[i].fpfn = 0;
     
    391391
    392392        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)
    394394        vboxbo->bo.bdev->dev_mapping = dev->dev_mapping;
    395395#endif
     
    403403                          ttm_bo_type_device, &vboxbo->placement,
    404404                          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)
    406406                          NULL,
    407407#endif
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette