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 |
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 --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]);
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(-)