aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/omapdrm/omap_fbdev.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2015-01-14 10:54:40 -0500
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2015-03-20 08:30:19 -0400
commit5a35876e2830511cb8110667fc426c6a6165a593 (patch)
tree10b8c91d6b6f6b57f2c5ef25c6f9b788a84d1777 /drivers/gpu/drm/omapdrm/omap_fbdev.c
parent5dbe44336811a7e8ef4c958c6ac054772ee47637 (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.c57
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
45static void omap_fbdev_flush(struct fb_info *fbi, int x, int y, int w, int h);
46static struct drm_fb_helper *get_fb(struct fb_info *fbi); 45static struct drm_fb_helper *get_fb(struct fb_info *fbi);
47 46
48static 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
59static 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
66static 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
73static 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
81static void pan_worker(struct work_struct *work) 47static 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 */
300static 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 */
313struct drm_fb_helper *omap_fbdev_init(struct drm_device *dev) 264struct drm_fb_helper *omap_fbdev_init(struct drm_device *dev)
314{ 265{