| From b150145d227ef18df096e576b87269046932d347 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Tue, 13 Jun 2023 13:07:02 +0200 |
| Subject: fbdev/sh7760fb: Alloc DMA memory from hardware device |
| |
| From: Thomas Zimmermann <tzimmermann@suse.de> |
| |
| [ 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> |
| --- |
| drivers/video/fbdev/sh7760fb.c | 8 ++++---- |
| 1 file changed, 4 insertions(+), 4 deletions(-) |
| |
| diff --git a/drivers/video/fbdev/sh7760fb.c b/drivers/video/fbdev/sh7760fb.c |
| index 5978a89212322..6adf048c1bae8 100644 |
| --- a/drivers/video/fbdev/sh7760fb.c |
| +++ b/drivers/video/fbdev/sh7760fb.c |
| @@ -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; |
| } |
| |
| -- |
| 2.43.0 |
| |