diff mbox series

drm/vmwgfx: Stop using dev_private to store driver data.

Message ID 20240502004033.107533-1-maaz.mombasawala@broadcom.com (mailing list archive)
State New, archived
Headers show
Series drm/vmwgfx: Stop using dev_private to store driver data. | expand

Commit Message

Maaz Mombasawala May 2, 2024, 12:40 a.m. UTC
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>
---
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 2 --
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
 drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 4 ++--
 3 files changed, 3 insertions(+), 5 deletions(-)

Comments

Zack Rusin May 2, 2024, 2:02 a.m. UTC | #1
On Wed, May 1, 2024 at 8:41 PM Maaz Mombasawala
<maaz.mombasawala@broadcom.com> wrote:
>
> 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>
> ---
>  drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 2 --
>  drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 2 +-
>  drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 4 ++--
>  3 files changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
> index bdad93864b98..97e48e93dbbf 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
> @@ -858,8 +858,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);
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
> index 4ecaea0026fc..df89e468a1fc 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
> @@ -638,7 +638,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)
> diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> index 13b2820cae51..b3f0fb6828de 100644
> --- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
> @@ -276,7 +276,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;
> @@ -515,7 +515,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]);
> --
> 2.34.1
>

Looks good.
Reviewed-by: Zack Rusin <zack.rusin@broadcom.com>

z
diff mbox series

Patch

diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
index bdad93864b98..97e48e93dbbf 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
@@ -858,8 +858,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);
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
index 4ecaea0026fc..df89e468a1fc 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
@@ -638,7 +638,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)
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
index 13b2820cae51..b3f0fb6828de 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
@@ -276,7 +276,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;
@@ -515,7 +515,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]);