Commit 8404e56f authored by Thomas Zimmermann's avatar Thomas Zimmermann

fbdev/sh7760fb: Alloc DMA memory from hardware device

Pass the hardware device to the DMA helpers dma_alloc_coherent() and
dma_free_coherent(). The fbdev device that is currently being used is
a software device and does not provide DMA memory. Also update the
related dev_*() output statements similarly.
Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: default avatarJavier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230613110953.24176-28-tzimmermann@suse.de
parent 46d86f3b
...@@ -359,7 +359,7 @@ static void sh7760fb_free_mem(struct fb_info *info) ...@@ -359,7 +359,7 @@ static void sh7760fb_free_mem(struct fb_info *info)
if (!info->screen_base) if (!info->screen_base)
return; return;
dma_free_coherent(info->dev, info->screen_size, dma_free_coherent(info->device, info->screen_size,
info->screen_base, par->fbdma); info->screen_base, par->fbdma);
par->fbdma = 0; par->fbdma = 0;
...@@ -408,14 +408,14 @@ static int sh7760fb_alloc_mem(struct fb_info *info) ...@@ -408,14 +408,14 @@ static int sh7760fb_alloc_mem(struct fb_info *info)
if (vram < PAGE_SIZE) if (vram < PAGE_SIZE)
vram = PAGE_SIZE; vram = PAGE_SIZE;
fbmem = dma_alloc_coherent(info->dev, vram, &par->fbdma, GFP_KERNEL); fbmem = dma_alloc_coherent(info->device, vram, &par->fbdma, GFP_KERNEL);
if (!fbmem) if (!fbmem)
return -ENOMEM; return -ENOMEM;
if ((par->fbdma & SH7760FB_DMA_MASK) != SH7760FB_DMA_MASK) { if ((par->fbdma & SH7760FB_DMA_MASK) != SH7760FB_DMA_MASK) {
sh7760fb_free_mem(info); sh7760fb_free_mem(info);
dev_err(info->dev, "kernel gave me memory at 0x%08lx, which is" dev_err(info->device, "kernel gave me memory at 0x%08lx, which is"
"unusable for the LCDC\n", (unsigned long)par->fbdma); "unusable for the LCDC\n", (unsigned long)par->fbdma);
return -ENOMEM; return -ENOMEM;
} }
...@@ -486,7 +486,7 @@ static int sh7760fb_probe(struct platform_device *pdev) ...@@ -486,7 +486,7 @@ static int sh7760fb_probe(struct platform_device *pdev)
ret = sh7760fb_alloc_mem(info); ret = sh7760fb_alloc_mem(info);
if (ret) { if (ret) {
dev_dbg(info->dev, "framebuffer memory allocation failed!\n"); dev_dbg(info->device, "framebuffer memory allocation failed!\n");
goto out_unmap; goto out_unmap;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment