drm/vmwgfx: Stop using dev_private to store driver data.
authorMaaz Mombasawala <maaz.mombasawala@broadcom.com>
Thu, 2 May 2024 00:40:33 +0000 (17:40 -0700)
committerZack Rusin <zack.rusin@broadcom.com>
Fri, 11 Oct 2024 18:31:27 +0000 (14:31 -0400)
Currently vmwgfx uses the dev_private opaque pointer in drm_device to store
driver data in vmw_private struct. Using dev_private is deprecated, and the
recommendation is to embed struct drm_device in the larger per-device
structure.

The vmwgfx driver already embeds struct drm_device in its struct
vmw_private, so switch to using that exclusively and stop using
dev_private.

Signed-off-by: Maaz Mombasawala <maaz.mombasawala@broadcom.com>
Reviewed-by: Zack Rusin <zack.rusin@broadcom.com>
Signed-off-by: Zack Rusin <zack.rusin@broadcom.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240502004033.107533-1-maaz.mombasawala@broadcom.com
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c

index cf7a89d..2706d0b 100644 (file)
@@ -860,8 +860,6 @@ static int vmw_driver_load(struct vmw_private *dev_priv, u32 pci_id)
        bool refuse_dma = false;
        struct pci_dev *pdev = to_pci_dev(dev_priv->drm.dev);
 
-       dev_priv->drm.dev_private = dev_priv;
-
        vmw_sw_context_init(dev_priv);
 
        mutex_init(&dev_priv->cmdbuf_mutex);
index 3f4719b..4054125 100644 (file)
@@ -639,7 +639,7 @@ static inline struct vmw_surface *vmw_res_to_srf(struct vmw_resource *res)
 
 static inline struct vmw_private *vmw_priv(struct drm_device *dev)
 {
-       return (struct vmw_private *)dev->dev_private;
+       return container_of(dev, struct vmw_private, drm);
 }
 
 static inline struct vmw_private *vmw_priv_from_ttm(struct ttm_device *bdev)
index 288ed0b..50b2f23 100644 (file)
@@ -280,7 +280,7 @@ static void vmw_du_put_cursor_mob(struct vmw_cursor_plane *vcp,
 static int vmw_du_get_cursor_mob(struct vmw_cursor_plane *vcp,
                                 struct vmw_plane_state *vps)
 {
-       struct vmw_private *dev_priv = vcp->base.dev->dev_private;
+       struct vmw_private *dev_priv = vmw_priv(vcp->base.dev);
        u32 size = vmw_du_cursor_mob_size(vps->base.crtc_w, vps->base.crtc_h);
        u32 i;
        u32 cursor_max_dim, mob_max_size;
@@ -519,7 +519,7 @@ void vmw_du_cursor_plane_destroy(struct drm_plane *plane)
        struct vmw_cursor_plane *vcp = vmw_plane_to_vcp(plane);
        u32 i;
 
-       vmw_cursor_update_position(plane->dev->dev_private, false, 0, 0);
+       vmw_cursor_update_position(vmw_priv(plane->dev), false, 0, 0);
 
        for (i = 0; i < ARRAY_SIZE(vcp->cursor_mobs); i++)
                vmw_du_destroy_cursor_mob(&vcp->cursor_mobs[i]);