Message ID | 20191126134707.22385-7-tzimmermann@suse.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/udl: Convert to simple-pipe helpers and clean up | expand |
On Tue, Nov 26, 2019 at 02:47:06PM +0100, Thomas Zimmermann wrote: > The udl driver stores the currently active framebuffer to know from > where to accept damage updates. > > With the conversion to plane-state damage handling, this is not necessary > any longer. The currently active framebuffer and damaged area are always > stored in the plane state. > > Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Imo makes sense to garbage-collect that as a follow-up since it's not really functional stuff, so doesn't make sense to squash that into the previous patch. -Daniel > --- > drivers/gpu/drm/udl/udl_drv.h | 4 ---- > drivers/gpu/drm/udl/udl_fb.c | 7 ------- > drivers/gpu/drm/udl/udl_main.c | 3 --- > drivers/gpu/drm/udl/udl_modeset.c | 9 --------- > 4 files changed, 23 deletions(-) > > diff --git a/drivers/gpu/drm/udl/udl_drv.h b/drivers/gpu/drm/udl/udl_drv.h > index c6fd5c08f5fc..e540f8e64aa1 100644 > --- a/drivers/gpu/drm/udl/udl_drv.h > +++ b/drivers/gpu/drm/udl/udl_drv.h > @@ -55,10 +55,6 @@ struct udl_device { > > struct drm_simple_display_pipe display_pipe; > > - /* active framebuffer on the 16-bit channel */ > - const struct drm_framebuffer *active_fb_16; > - spinlock_t active_fb_16_lock; > - > struct mutex gem_lock; > > int sku_pixel_limit; > diff --git a/drivers/gpu/drm/udl/udl_fb.c b/drivers/gpu/drm/udl/udl_fb.c > index ed01ebaaf468..3d8cf674dfa5 100644 > --- a/drivers/gpu/drm/udl/udl_fb.c > +++ b/drivers/gpu/drm/udl/udl_fb.c > @@ -76,13 +76,6 @@ int udl_handle_damage(struct drm_framebuffer *fb, int x, int y, > > log_bpp = __ffs(fb->format->cpp[0]); > > - spin_lock(&udl->active_fb_16_lock); > - if (udl->active_fb_16 != fb) { > - spin_unlock(&udl->active_fb_16_lock); > - return 0; > - } > - spin_unlock(&udl->active_fb_16_lock); > - > vaddr = drm_gem_shmem_vmap(fb->obj[0]); > if (IS_ERR(vaddr)) { > DRM_ERROR("failed to vmap fb\n"); > diff --git a/drivers/gpu/drm/udl/udl_main.c b/drivers/gpu/drm/udl/udl_main.c > index a23218fc7d8e..9b091b5b063e 100644 > --- a/drivers/gpu/drm/udl/udl_main.c > +++ b/drivers/gpu/drm/udl/udl_main.c > @@ -317,9 +317,6 @@ int udl_init(struct udl_device *udl) > > DRM_DEBUG("\n"); > > - udl->active_fb_16 = NULL; > - spin_lock_init(&udl->active_fb_16_lock); > - > mutex_init(&udl->gem_lock); > > if (!udl_parse_vendor_descriptor(dev, udl->udev)) { > diff --git a/drivers/gpu/drm/udl/udl_modeset.c b/drivers/gpu/drm/udl/udl_modeset.c > index aade61ad097b..83e80083e0b2 100644 > --- a/drivers/gpu/drm/udl/udl_modeset.c > +++ b/drivers/gpu/drm/udl/udl_modeset.c > @@ -333,9 +333,6 @@ udl_simple_display_pipe_enable(struct drm_simple_display_pipe *pipe, > > wrptr = udl_dummy_render(wrptr); > > - spin_lock(&udl->active_fb_16_lock); > - udl->active_fb_16 = fb; > - spin_unlock(&udl->active_fb_16_lock); > udl->mode_buf_len = wrptr - buf; > > udl_handle_damage(fb, 0, 0, fb->width, fb->height); > @@ -363,16 +360,10 @@ static void > udl_simple_display_pipe_update(struct drm_simple_display_pipe *pipe, > struct drm_plane_state *old_plane_state) > { > - struct drm_device *dev = pipe->crtc.dev; > - struct udl_device *udl = dev->dev_private; > struct drm_plane_state *state = pipe->plane.state; > struct drm_framebuffer *fb = state->fb; > struct drm_rect rect; > > - spin_lock(&udl->active_fb_16_lock); > - udl->active_fb_16 = fb; > - spin_unlock(&udl->active_fb_16_lock); > - > if (!fb) > return; > > -- > 2.23.0 >
diff --git a/drivers/gpu/drm/udl/udl_drv.h b/drivers/gpu/drm/udl/udl_drv.h index c6fd5c08f5fc..e540f8e64aa1 100644 --- a/drivers/gpu/drm/udl/udl_drv.h +++ b/drivers/gpu/drm/udl/udl_drv.h @@ -55,10 +55,6 @@ struct udl_device { struct drm_simple_display_pipe display_pipe; - /* active framebuffer on the 16-bit channel */ - const struct drm_framebuffer *active_fb_16; - spinlock_t active_fb_16_lock; - struct mutex gem_lock; int sku_pixel_limit; diff --git a/drivers/gpu/drm/udl/udl_fb.c b/drivers/gpu/drm/udl/udl_fb.c index ed01ebaaf468..3d8cf674dfa5 100644 --- a/drivers/gpu/drm/udl/udl_fb.c +++ b/drivers/gpu/drm/udl/udl_fb.c @@ -76,13 +76,6 @@ int udl_handle_damage(struct drm_framebuffer *fb, int x, int y, log_bpp = __ffs(fb->format->cpp[0]); - spin_lock(&udl->active_fb_16_lock); - if (udl->active_fb_16 != fb) { - spin_unlock(&udl->active_fb_16_lock); - return 0; - } - spin_unlock(&udl->active_fb_16_lock); - vaddr = drm_gem_shmem_vmap(fb->obj[0]); if (IS_ERR(vaddr)) { DRM_ERROR("failed to vmap fb\n"); diff --git a/drivers/gpu/drm/udl/udl_main.c b/drivers/gpu/drm/udl/udl_main.c index a23218fc7d8e..9b091b5b063e 100644 --- a/drivers/gpu/drm/udl/udl_main.c +++ b/drivers/gpu/drm/udl/udl_main.c @@ -317,9 +317,6 @@ int udl_init(struct udl_device *udl) DRM_DEBUG("\n"); - udl->active_fb_16 = NULL; - spin_lock_init(&udl->active_fb_16_lock); - mutex_init(&udl->gem_lock); if (!udl_parse_vendor_descriptor(dev, udl->udev)) { diff --git a/drivers/gpu/drm/udl/udl_modeset.c b/drivers/gpu/drm/udl/udl_modeset.c index aade61ad097b..83e80083e0b2 100644 --- a/drivers/gpu/drm/udl/udl_modeset.c +++ b/drivers/gpu/drm/udl/udl_modeset.c @@ -333,9 +333,6 @@ udl_simple_display_pipe_enable(struct drm_simple_display_pipe *pipe, wrptr = udl_dummy_render(wrptr); - spin_lock(&udl->active_fb_16_lock); - udl->active_fb_16 = fb; - spin_unlock(&udl->active_fb_16_lock); udl->mode_buf_len = wrptr - buf; udl_handle_damage(fb, 0, 0, fb->width, fb->height); @@ -363,16 +360,10 @@ static void udl_simple_display_pipe_update(struct drm_simple_display_pipe *pipe, struct drm_plane_state *old_plane_state) { - struct drm_device *dev = pipe->crtc.dev; - struct udl_device *udl = dev->dev_private; struct drm_plane_state *state = pipe->plane.state; struct drm_framebuffer *fb = state->fb; struct drm_rect rect; - spin_lock(&udl->active_fb_16_lock); - udl->active_fb_16 = fb; - spin_unlock(&udl->active_fb_16_lock); - if (!fb) return;
The udl driver stores the currently active framebuffer to know from where to accept damage updates. With the conversion to plane-state damage handling, this is not necessary any longer. The currently active framebuffer and damaged area are always stored in the plane state. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> --- drivers/gpu/drm/udl/udl_drv.h | 4 ---- drivers/gpu/drm/udl/udl_fb.c | 7 ------- drivers/gpu/drm/udl/udl_main.c | 3 --- drivers/gpu/drm/udl/udl_modeset.c | 9 --------- 4 files changed, 23 deletions(-)