mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-06 22:42:10 +00:00
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
3 changed files with 7 additions and 20 deletions
|
@ -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,
|
meram = mdev->ops->meram_register(mdev, ch->cfg->meram_cfg,
|
||||||
ch->pitch, ch->yres, pixelformat,
|
ch->pitch, ch->yres, pixelformat,
|
||||||
ch->base_addr_y, ch->base_addr_c,
|
|
||||||
&ch->base_addr_y, &ch->base_addr_c,
|
|
||||||
&ch->pitch);
|
&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;
|
ch->meram = meram;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Start the LCDC. */
|
/* 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,
|
const struct sh_mobile_meram_cfg *cfg,
|
||||||
unsigned int xres, unsigned int yres,
|
unsigned int xres, unsigned int yres,
|
||||||
unsigned int pixelformat,
|
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)
|
unsigned int *pitch)
|
||||||
{
|
{
|
||||||
struct sh_mobile_meram_fb_cache *cache;
|
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;
|
priv = pdata->priv;
|
||||||
pdev = pdata->pdev;
|
pdev = pdata->pdev;
|
||||||
|
|
||||||
dev_dbg(&pdev->dev, "registering %dx%d (%s) (y=%08lx, c=%08lx)",
|
dev_dbg(&pdev->dev, "registering %dx%d (%s)", xres, yres,
|
||||||
xres, yres, (!pixelformat) ? "yuv" : "rgb",
|
!pixelformat ? "yuv" : "rgb");
|
||||||
base_addr_y, base_addr_c);
|
|
||||||
|
|
||||||
/* we can't handle wider than 8192px */
|
/* we can't handle wider than 8192px */
|
||||||
if (xres > 8192) {
|
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,
|
meram_init(priv, &cache->planes[1], 2 * xres, (yres + 1) / 2,
|
||||||
&out_pitch);
|
&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:
|
err:
|
||||||
mutex_unlock(&priv->lock);
|
mutex_unlock(&priv->lock);
|
||||||
return cache;
|
return cache;
|
||||||
|
|
|
@ -46,10 +46,6 @@ struct sh_mobile_meram_ops {
|
||||||
const struct sh_mobile_meram_cfg *cfg,
|
const struct sh_mobile_meram_cfg *cfg,
|
||||||
unsigned int xres, unsigned int yres,
|
unsigned int xres, unsigned int yres,
|
||||||
unsigned int pixelformat,
|
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);
|
unsigned int *pitch);
|
||||||
|
|
||||||
/* unregister usage of meram */
|
/* unregister usage of meram */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue