diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2015-01-14 10:54:40 -0500 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2015-03-20 08:30:19 -0400 |
commit | 5a35876e2830511cb8110667fc426c6a6165a593 (patch) | |
tree | 10b8c91d6b6f6b57f2c5ef25c6f9b788a84d1777 /drivers/gpu/drm/omapdrm/omap_fbdev.c | |
parent | 5dbe44336811a7e8ef4c958c6ac054772ee47637 (diff) |
drm: omapdrm: Remove manual update display support
All the manual update display code implements eventually ends up to just
calls to omap_connector_flush(), currently implemented as an empty TODO
stub. Remove it, the code can always be revived and implemented later if
interest in manual update displays becomes a reality.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'drivers/gpu/drm/omapdrm/omap_fbdev.c')
-rw-r--r-- | drivers/gpu/drm/omapdrm/omap_fbdev.c | 57 |
1 files changed, 4 insertions, 53 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_fbdev.c b/drivers/gpu/drm/omapdrm/omap_fbdev.c index d292d24b3a6e..950cd3389092 100644 --- a/drivers/gpu/drm/omapdrm/omap_fbdev.c +++ b/drivers/gpu/drm/omapdrm/omap_fbdev.c | |||
@@ -42,42 +42,8 @@ struct omap_fbdev { | |||
42 | struct work_struct work; | 42 | struct work_struct work; |
43 | }; | 43 | }; |
44 | 44 | ||
45 | static void omap_fbdev_flush(struct fb_info *fbi, int x, int y, int w, int h); | ||
46 | static struct drm_fb_helper *get_fb(struct fb_info *fbi); | 45 | static struct drm_fb_helper *get_fb(struct fb_info *fbi); |
47 | 46 | ||
48 | static ssize_t omap_fbdev_write(struct fb_info *fbi, const char __user *buf, | ||
49 | size_t count, loff_t *ppos) | ||
50 | { | ||
51 | ssize_t res; | ||
52 | |||
53 | res = fb_sys_write(fbi, buf, count, ppos); | ||
54 | omap_fbdev_flush(fbi, 0, 0, fbi->var.xres, fbi->var.yres); | ||
55 | |||
56 | return res; | ||
57 | } | ||
58 | |||
59 | static void omap_fbdev_fillrect(struct fb_info *fbi, | ||
60 | const struct fb_fillrect *rect) | ||
61 | { | ||
62 | sys_fillrect(fbi, rect); | ||
63 | omap_fbdev_flush(fbi, rect->dx, rect->dy, rect->width, rect->height); | ||
64 | } | ||
65 | |||
66 | static void omap_fbdev_copyarea(struct fb_info *fbi, | ||
67 | const struct fb_copyarea *area) | ||
68 | { | ||
69 | sys_copyarea(fbi, area); | ||
70 | omap_fbdev_flush(fbi, area->dx, area->dy, area->width, area->height); | ||
71 | } | ||
72 | |||
73 | static void omap_fbdev_imageblit(struct fb_info *fbi, | ||
74 | const struct fb_image *image) | ||
75 | { | ||
76 | sys_imageblit(fbi, image); | ||
77 | omap_fbdev_flush(fbi, image->dx, image->dy, | ||
78 | image->width, image->height); | ||
79 | } | ||
80 | |||
81 | static void pan_worker(struct work_struct *work) | 47 | static void pan_worker(struct work_struct *work) |
82 | { | 48 | { |
83 | struct omap_fbdev *fbdev = container_of(work, struct omap_fbdev, work); | 49 | struct omap_fbdev *fbdev = container_of(work, struct omap_fbdev, work); |
@@ -121,10 +87,10 @@ static struct fb_ops omap_fb_ops = { | |||
121 | * basic fbdev ops which write to the framebuffer | 87 | * basic fbdev ops which write to the framebuffer |
122 | */ | 88 | */ |
123 | .fb_read = fb_sys_read, | 89 | .fb_read = fb_sys_read, |
124 | .fb_write = omap_fbdev_write, | 90 | .fb_write = fb_sys_write, |
125 | .fb_fillrect = omap_fbdev_fillrect, | 91 | .fb_fillrect = sys_fillrect, |
126 | .fb_copyarea = omap_fbdev_copyarea, | 92 | .fb_copyarea = sys_copyarea, |
127 | .fb_imageblit = omap_fbdev_imageblit, | 93 | .fb_imageblit = sys_imageblit, |
128 | 94 | ||
129 | .fb_check_var = drm_fb_helper_check_var, | 95 | .fb_check_var = drm_fb_helper_check_var, |
130 | .fb_set_par = drm_fb_helper_set_par, | 96 | .fb_set_par = drm_fb_helper_set_par, |
@@ -294,21 +260,6 @@ static struct drm_fb_helper *get_fb(struct fb_info *fbi) | |||
294 | return fbi->par; | 260 | return fbi->par; |
295 | } | 261 | } |
296 | 262 | ||
297 | /* flush an area of the framebuffer (in case of manual update display that | ||
298 | * is not automatically flushed) | ||
299 | */ | ||
300 | static void omap_fbdev_flush(struct fb_info *fbi, int x, int y, int w, int h) | ||
301 | { | ||
302 | struct drm_fb_helper *helper = get_fb(fbi); | ||
303 | |||
304 | if (!helper) | ||
305 | return; | ||
306 | |||
307 | VERB("flush fbdev: %d,%d %dx%d, fbi=%p", x, y, w, h, fbi); | ||
308 | |||
309 | omap_framebuffer_flush(helper->fb, x, y, w, h); | ||
310 | } | ||
311 | |||
312 | /* initialize fbdev helper */ | 263 | /* initialize fbdev helper */ |
313 | struct drm_fb_helper *omap_fbdev_init(struct drm_device *dev) | 264 | struct drm_fb_helper *omap_fbdev_init(struct drm_device *dev) |
314 | { | 265 | { |