VirtualBox

Changeset 89278 in vbox for trunk/src/VBox/Additions/linux


Ignore:
Timestamp:
May 25, 2021 4:23:05 PM (4 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
144624
Message:

Additions: Linux: vboxvideo: adapt code to 5.13-rc3 changes, bugref:10020.

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

Legend:

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

    r88274 r89278  
    174174#include <drm/ttm/ttm_bo_driver.h>
    175175#include <drm/ttm/ttm_placement.h>
    176 #include <drm/ttm/ttm_memory.h>
     176#if RTLNX_VER_MAX(5,13,0)
     177# include <drm/ttm/ttm_memory.h>
     178#endif
    177179#if RTLNX_VER_MAX(5,12,0)
    178180# include <drm/ttm/ttm_module.h>
     
    264266                struct ttm_bo_global_ref bo_global_ref;
    265267#endif
     268#if RTLNX_VER_MIN(5,13,0)
     269                struct ttm_device bdev;
     270#else
    266271                struct ttm_bo_device bdev;
     272#endif
    267273                bool mm_initialised;
    268274        } ttm;
  • trunk/src/VBox/Additions/linux/drm/vbox_ttm.c

    r88509 r89278  
    4949
    5050
     51#if RTLNX_VER_MIN(5,13,0)
     52static inline struct vbox_private *vbox_bdev(struct ttm_device *bd)
     53#else
    5154static inline struct vbox_private *vbox_bdev(struct ttm_bo_device *bd)
     55#endif
    5256{
    5357        return container_of(bd, struct vbox_private, ttm.bdev);
     
    206210}
    207211#else
     212# if RTLNX_VER_MAX(5,13,0)
    208213static int vbox_ttm_io_mem_reserve(struct ttm_bo_device *bdev,
    209214                                   struct ttm_resource *mem)
     215# else /* > 5.13.0 */
     216static int vbox_ttm_io_mem_reserve(struct ttm_device *bdev,
     217                                   struct ttm_resource *mem)
     218# endif /* > 5.13.0 */
    210219{
    211220        struct vbox_private *vbox = vbox_bdev(bdev);
     
    242251
    243252
    244 #if RTLNX_VER_MIN(5,10,0)
     253#if RTLNX_VER_MIN(5,13,0)
     254static void vbox_ttm_io_mem_free(struct ttm_device *bdev,
     255                                 struct ttm_resource *mem)
     256{
     257}
     258#elif RTLNX_VER_MIN(5,10,0)
    245259static void vbox_ttm_io_mem_free(struct ttm_bo_device *bdev,
    246260                                 struct ttm_resource *mem)
     
    254268#endif
    255269
    256 #if RTLNX_VER_MIN(5,10,0)
     270#if RTLNX_VER_MIN(5,13,0)
     271static void vbox_ttm_tt_destroy(struct ttm_device *bdev, struct ttm_tt *tt)
     272{
     273        ttm_tt_fini(tt);
     274        kfree(tt);
     275}
     276#elif RTLNX_VER_MIN(5,10,0)
    257277static void vbox_ttm_tt_destroy(struct ttm_bo_device *bdev, struct ttm_tt *tt)
    258278{
     
    334354#endif
    335355
     356#if RTLNX_VER_MIN(5,13,0)
     357static struct ttm_device_funcs vbox_bo_driver = {
     358#else /* < 5.13.0 */
    336359static struct ttm_bo_driver vbox_bo_driver = {
     360#endif /* < 5.13.0 */
    337361        .ttm_tt_create = vbox_ttm_tt_create,
    338362#if RTLNX_VER_MIN(5,10,0)
     
    371395        int ret;
    372396        struct drm_device *dev = vbox->dev;
     397#if RTLNX_VER_MIN(5,13,0)
     398        struct ttm_device *bdev = &vbox->ttm.bdev;
     399#else
    373400        struct ttm_bo_device *bdev = &vbox->ttm.bdev;
     401#endif
    374402
    375403#if RTLNX_VER_MAX(5,0,0) && !RTLNX_RHEL_MAJ_PREREQ(7,7) && !RTLNX_RHEL_MAJ_PREREQ(8,1)
     
    378406                return ret;
    379407#endif
     408#if RTLNX_VER_MIN(5,13,0)
     409        ret = ttm_device_init(&vbox->ttm.bdev,
     410#else
    380411        ret = ttm_bo_device_init(&vbox->ttm.bdev,
     412#endif
    381413#if RTLNX_VER_MAX(5,0,0) && !RTLNX_RHEL_MAJ_PREREQ(7,7) && !RTLNX_RHEL_MAJ_PREREQ(8,1)
    382414                                 vbox->ttm.bo_global_ref.ref.object,
     
    430462
    431463err_device_release:
     464#if RTLNX_VER_MIN(5,13,0)
     465        ttm_device_fini(&vbox->ttm.bdev);
     466#else
    432467        ttm_bo_device_release(&vbox->ttm.bdev);
     468#endif
    433469#if RTLNX_VER_MAX(5,0,0) && !RTLNX_RHEL_MAJ_PREREQ(7,7) && !RTLNX_RHEL_MAJ_PREREQ(8,1)
    434470err_ttm_global_release:
     
    447483        arch_phys_wc_del(vbox->fb_mtrr);
    448484#endif
     485#if RTLNX_VER_MIN(5,13,0)
     486        ttm_device_fini(&vbox->ttm.bdev);
     487#else
    449488        ttm_bo_device_release(&vbox->ttm.bdev);
     489#endif
    450490#if RTLNX_VER_MAX(5,0,0) && !RTLNX_RHEL_MAJ_PREREQ(7,7) && !RTLNX_RHEL_MAJ_PREREQ(8,1)
    451491        vbox_ttm_global_release(vbox);
     
    529569        struct vbox_private *vbox = dev->dev_private;
    530570        struct vbox_bo *vboxbo;
     571#if RTLNX_VER_MAX(5,13,0)
    531572        size_t acc_size;
     573#endif
    532574        int ret;
    533575
     
    552594        vbox_ttm_placement(vboxbo, VBOX_MEM_TYPE_VRAM | VBOX_MEM_TYPE_SYSTEM);
    553595
     596#if RTLNX_VER_MAX(5,13,0)
    554597        acc_size = ttm_bo_dma_acc_size(&vbox->ttm.bdev, size,
    555598                                       sizeof(struct vbox_bo));
     599#endif
    556600
    557601        ret = ttm_bo_init(&vbox->ttm.bdev, &vboxbo->bo, size,
     
    559603#if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5)
    560604                          align >> PAGE_SHIFT, false, NULL, acc_size,
    561 #else
     605#elif RTLNX_VER_MAX(5,13,0) /* < 5.13.0 */
    562606                          align >> PAGE_SHIFT, false, acc_size,
    563 #endif
     607#else /* > 5.13.0 */
     608                          align >> PAGE_SHIFT, false,
     609#endif /* > 5.13.0 */
    564610#if RTLNX_VER_MIN(3,18,0) || RTLNX_RHEL_MAJ_PREREQ(7,2)
    565611                          NULL, NULL, vbox_bo_ttm_destroy);
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