forked from luck/tmp_suning_uos_patched
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>
This commit is contained in:
parent
c241a0e0c2
commit
97d16fe69b
|
@ -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. */
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Reference in New Issue
Block a user