summaryrefslogtreecommitdiff
path: root/drivers/video/auo_k1901fb.c
diff options
context:
space:
mode:
authorHeiko Stübner <heiko@sntech.de>2013-03-22 14:13:02 (GMT)
committerTomi Valkeinen <tomi.valkeinen@ti.com>2013-04-04 10:08:06 (GMT)
commita1655100ddfa10829b7d3b055611f268a82e335a (patch)
treeb00af82e6d7670881b27e83ab47490ed9a7d25fc /drivers/video/auo_k1901fb.c
parent07961ac7c0ee8b546658717034fe692fd12eefa9 (diff)
downloadlinux-fsl-qoriq-a1655100ddfa10829b7d3b055611f268a82e335a.tar.xz
AUO-K190x: Use correct line length
Previously all functions that used the line length used xres directly, thus hardcoding a 8bits per pixel value. This patch calculates the correct line length according to the actual bits per pixel value and changes all line length users to use the calculated line length value. Signed-off-by: Heiko Stübner <heiko@sntech.de> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/auo_k1901fb.c')
-rw-r--r--drivers/video/auo_k1901fb.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/video/auo_k1901fb.c b/drivers/video/auo_k1901fb.c
index d1db165..9efbe27 100644
--- a/drivers/video/auo_k1901fb.c
+++ b/drivers/video/auo_k1901fb.c
@@ -121,6 +121,7 @@ static void auok1901_update_region(struct auok190xfb_par *par, int mode,
struct device *dev = par->info->device;
unsigned char *buf = (unsigned char *)par->info->screen_base;
int xres = par->info->var.xres;
+ int line_length = par->info->fix.line_length;
u16 args[5];
pm_runtime_get_sync(dev);
@@ -139,9 +140,9 @@ static void auok1901_update_region(struct auok190xfb_par *par, int mode,
args[1] = y1 + 1;
args[2] = xres;
args[3] = y2 - y1;
- buf += y1 * xres;
+ buf += y1 * line_length;
auok190x_send_cmdargs_pixels_nowait(par, AUOK1901_CMD_DMA_START, 4,
- args, ((y2 - y1) * xres)/2,
+ args, ((y2 - y1) * line_length)/2,
(u16 *) buf);
auok190x_send_command_nowait(par, AUOK190X_CMD_DATA_STOP);