fbdev/sh7760fb: Alloc DMA memory from hardware device
[ Upstream commit 8404e56f4bc1d1a65bfc98450ba3dae5e653dda1 ] 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: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Javier Martinez Canillas <javierm@redhat.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230613110953.24176-28-tzimmermann@suse.de Stable-dep-of: f89d17ae2ac4 ("fbdev: sh7760fb: Fix a possible memory leak in sh7760fb_alloc_mem()") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
a0961c2731
commit
c3cf380435
1 changed files with 4 additions and 4 deletions
|
@ -359,7 +359,7 @@ static void sh7760fb_free_mem(struct fb_info *info)
|
|||
if (!info->screen_base)
|
||||
return;
|
||||
|
||||
dma_free_coherent(info->dev, info->screen_size,
|
||||
dma_free_coherent(info->device, info->screen_size,
|
||||
info->screen_base, par->fbdma);
|
||||
|
||||
par->fbdma = 0;
|
||||
|
@ -408,14 +408,14 @@ static int sh7760fb_alloc_mem(struct fb_info *info)
|
|||
if (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)
|
||||
return -ENOMEM;
|
||||
|
||||
if ((par->fbdma & SH7760FB_DMA_MASK) != SH7760FB_DMA_MASK) {
|
||||
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);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
@ -486,7 +486,7 @@ static int sh7760fb_probe(struct platform_device *pdev)
|
|||
|
||||
ret = sh7760fb_alloc_mem(info);
|
||||
if (ret) {
|
||||
dev_dbg(info->dev, "framebuffer memory allocation failed!\n");
|
||||
dev_dbg(info->device, "framebuffer memory allocation failed!\n");
|
||||
goto out_unmap;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue