29 #include <linux/module.h>
30 #include <linux/kernel.h>
31 #include <linux/errno.h>
32 #include <linux/string.h>
34 #include <linux/slab.h>
40 #include <linux/list.h>
53 #define AUOK1900_CMD_PARTIALDISP 0x1001
54 #define AUOK1900_CMD_ROTATION 0x1006
55 #define AUOK1900_CMD_LUT_STOP 0x1009
57 #define AUOK1900_INIT_TEMP_AVERAGE (1 << 13)
58 #define AUOK1900_INIT_ROTATE(_x) ((_x & 0x3) << 10)
59 #define AUOK1900_INIT_RESOLUTION(_res) ((_res & 0x7) << 2)
83 unsigned char *
buf = (
unsigned char *)par->
info->screen_base;
84 int xres = par->
info->var.xres;
87 pm_runtime_get_sync(dev);
95 dev_dbg(dev,
"update (x,y,w,h,mode)=(%d,%d,%d,%d,%d)\n",
96 1, y1+1, xres, y2-y1, mode);
105 ((y2 - y1) * xres)/2, (
u16 *) buf);
112 pm_runtime_mark_last_busy(dev);
113 pm_runtime_put_autosuspend(dev);
116 static void auok1900fb_dpy_update_pages(
struct auok190xfb_par *par,
132 auok1900_update_region(par, mode, y1, y2);
150 auok1900_update_region(par, mode, 0, par->
info->var.yres);
165 board = pdev->
dev.platform_data;
170 init.id =
"auo_k1900fb";
172 init.update_partial = auok1900fb_dpy_update_pages;
173 init.update_all = auok1900fb_dpy_update;
174 init.need_refresh = auok1900fb_need_refresh;
175 init.init = auok1900_init;
186 .probe = auok1900fb_probe,
190 .name =
"auo_k1900fb",