diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2011-11-22 00:56:58 +0100 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2012-03-12 22:41:13 +0100 |
commit | 97d16fe69b6499a14a0c85c053f7bef54ce992a4 (patch) | |
tree | 71dd7643398c2075e1d655555cd1562391b4cfcd | |
parent | c241a0e0c27882ecab1df57a44d202db6e02012c (diff) |
fbdev: sh_mobile_meram: Don't perform update in register operation
Remove the RGB or Y/C base address update from the meram_register()
operation, as this belongs to the meram_update() operation.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r-- | drivers/video/sh_mobile_lcdcfb.c | 8 | ||||
-rw-r--r-- | drivers/video/sh_mobile_meram.c | 15 | ||||
-rw-r--r-- | include/video/sh_mobile_meram.h | 4 |
3 files changed, 7 insertions, 20 deletions
diff --git a/drivers/video/sh_mobile_lcdcfb.c b/drivers/video/sh_mobile_lcdcfb.c index 033851618323..4b54cd5c9564 100644 --- a/drivers/video/sh_mobile_lcdcfb.c +++ b/drivers/video/sh_mobile_lcdcfb.c @@ -882,11 +882,13 @@ static int sh_mobile_lcdc_start(struct sh_mobile_lcdc_priv *priv) meram = mdev->ops->meram_register(mdev, ch->cfg->meram_cfg, ch->pitch, ch->yres, pixelformat, - ch->base_addr_y, ch->base_addr_c, - &ch->base_addr_y, &ch->base_addr_c, &ch->pitch); - if (!IS_ERR(meram)) + if (!IS_ERR(meram)) { + mdev->ops->meram_update(mdev, meram, + ch->base_addr_y, ch->base_addr_c, + &ch->base_addr_y, &ch->base_addr_c); ch->meram = meram; + } } /* Start the LCDC. */ diff --git a/drivers/video/sh_mobile_meram.c b/drivers/video/sh_mobile_meram.c index 085c49ac99dd..2ce0d8f72e31 100644 --- a/drivers/video/sh_mobile_meram.c +++ b/drivers/video/sh_mobile_meram.c @@ -448,10 +448,6 @@ static void *sh_mobile_meram_register(struct sh_mobile_meram_info *pdata, const struct sh_mobile_meram_cfg *cfg, unsigned int xres, unsigned int yres, unsigned int pixelformat, - unsigned long base_addr_y, - unsigned long base_addr_c, - unsigned long *icb_addr_y, - unsigned long *icb_addr_c, unsigned int *pitch) { struct sh_mobile_meram_fb_cache *cache; @@ -470,9 +466,8 @@ static void *sh_mobile_meram_register(struct sh_mobile_meram_info *pdata, priv = pdata->priv; pdev = pdata->pdev; - dev_dbg(&pdev->dev, "registering %dx%d (%s) (y=%08lx, c=%08lx)", - xres, yres, (!pixelformat) ? "yuv" : "rgb", - base_addr_y, base_addr_c); + dev_dbg(&pdev->dev, "registering %dx%d (%s)", xres, yres, + !pixelformat ? "yuv" : "rgb"); /* we can't handle wider than 8192px */ if (xres > 8192) { @@ -500,12 +495,6 @@ static void *sh_mobile_meram_register(struct sh_mobile_meram_info *pdata, meram_init(priv, &cache->planes[1], 2 * xres, (yres + 1) / 2, &out_pitch); - meram_set_next_addr(priv, cache, base_addr_y, base_addr_c); - meram_get_next_icb_addr(pdata, cache, icb_addr_y, icb_addr_c); - - dev_dbg(&pdev->dev, "registered - can access via y=%08lx, c=%08lx", - *icb_addr_y, *icb_addr_c); - err: mutex_unlock(&priv->lock); return cache; diff --git a/include/video/sh_mobile_meram.h b/include/video/sh_mobile_meram.h index 897960733cc0..553335ce7a2c 100644 --- a/include/video/sh_mobile_meram.h +++ b/include/video/sh_mobile_meram.h @@ -46,10 +46,6 @@ struct sh_mobile_meram_ops { const struct sh_mobile_meram_cfg *cfg, unsigned int xres, unsigned int yres, unsigned int pixelformat, - unsigned long base_addr_y, - unsigned long base_addr_c, - unsigned long *icb_addr_y, - unsigned long *icb_addr_c, unsigned int *pitch); /* unregister usage of meram */ |