|
Jiri Slaby |
ef7db2 |
From: Thomas Zimmermann <tzimmermann@suse.de>
|
|
Jiri Slaby |
ef7db2 |
Date: Fri, 16 Dec 2022 20:30:05 +0100
|
|
Jiri Slaby |
ef7db2 |
Subject: [PATCH] drm/ast: Init iosys_map pointer as I/O memory for damage
|
|
Jiri Slaby |
ef7db2 |
handling
|
|
Jiri Slaby |
ef7db2 |
References: bsc#1012628
|
|
Jiri Slaby |
ef7db2 |
Patch-mainline: 6.2.3
|
|
Jiri Slaby |
ef7db2 |
Git-commit: b1def7fadfa544bd2467581ce40b659583eb7e79
|
|
Jiri Slaby |
ef7db2 |
|
|
Jiri Slaby |
ef7db2 |
[ Upstream commit b1def7fadfa544bd2467581ce40b659583eb7e79 ]
|
|
Jiri Slaby |
ef7db2 |
|
|
Jiri Slaby |
ef7db2 |
Ast hardware scans out the primary plane from video memory, which
|
|
Jiri Slaby |
ef7db2 |
is in I/O-memory space. Hence init the damage handler's iosys_map
|
|
Jiri Slaby |
ef7db2 |
pointer as I/O memory.
|
|
Jiri Slaby |
ef7db2 |
|
|
Jiri Slaby |
ef7db2 |
Not all platforms support accessing I/O memory as system memory,
|
|
Jiri Slaby |
ef7db2 |
although it's usually not a problem in ast's x86-based systems.
|
|
Jiri Slaby |
ef7db2 |
|
|
Jiri Slaby |
ef7db2 |
The error report is at [1].
|
|
Jiri Slaby |
ef7db2 |
|
|
Jiri Slaby |
ef7db2 |
Reported-by: kernel test robot <lkp@intel.com>
|
|
Jiri Slaby |
ef7db2 |
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
|
|
Jiri Slaby |
ef7db2 |
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
|
|
Jiri Slaby |
ef7db2 |
Fixes: f2fa5a99ca81 ("drm/ast: Convert ast to SHMEM")
|
|
Jiri Slaby |
ef7db2 |
Cc: Thomas Zimmermann <tzimmermann@suse.de>
|
|
Jiri Slaby |
ef7db2 |
Cc: Jocelyn Falempe <jfalempe@redhat.com>
|
|
Jiri Slaby |
ef7db2 |
Cc: Dave Airlie <airlied@redhat.com>
|
|
Jiri Slaby |
ef7db2 |
Cc: dri-devel@lists.freedesktop.org
|
|
Jiri Slaby |
ef7db2 |
Link: https://lore.kernel.org/lkml/202212170111.eInM0unS-lkp@intel.com/T/#u # 1
|
|
Jiri Slaby |
ef7db2 |
Link: https://patchwork.freedesktop.org/patch/msgid/20221216193005.30280-1-tzimmermann@suse.de
|
|
Jiri Slaby |
ef7db2 |
Signed-off-by: Sasha Levin <sashal@kernel.org>
|
|
Jiri Slaby |
ef7db2 |
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
|
|
Jiri Slaby |
ef7db2 |
---
|
|
Jiri Slaby |
ef7db2 |
drivers/gpu/drm/ast/ast_mode.c | 2 +-
|
|
Jiri Slaby |
ef7db2 |
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
Jiri Slaby |
ef7db2 |
|
|
Jiri Slaby |
ef7db2 |
diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
|
|
Jiri Slaby |
ef7db2 |
index 66a4a41c..d314b9e7 100644
|
|
Jiri Slaby |
ef7db2 |
--- a/drivers/gpu/drm/ast/ast_mode.c
|
|
Jiri Slaby |
ef7db2 |
+++ b/drivers/gpu/drm/ast/ast_mode.c
|
|
Jiri Slaby |
ef7db2 |
@@ -636,7 +636,7 @@ static void ast_handle_damage(struct ast_plane *ast_plane, struct iosys_map *src
|
|
Jiri Slaby |
ef7db2 |
struct drm_framebuffer *fb,
|
|
Jiri Slaby |
ef7db2 |
const struct drm_rect *clip)
|
|
Jiri Slaby |
ef7db2 |
{
|
|
Jiri Slaby |
ef7db2 |
- struct iosys_map dst = IOSYS_MAP_INIT_VADDR(ast_plane->vaddr);
|
|
Jiri Slaby |
ef7db2 |
+ struct iosys_map dst = IOSYS_MAP_INIT_VADDR_IOMEM(ast_plane->vaddr);
|
|
Jiri Slaby |
ef7db2 |
|
|
Jiri Slaby |
ef7db2 |
iosys_map_incr(&dst, drm_fb_clip_offset(fb->pitches[0], fb->format, clip));
|
|
Jiri Slaby |
ef7db2 |
drm_fb_memcpy(&dst, fb->pitches, src, fb, clip);
|
|
Jiri Slaby |
ef7db2 |
--
|
|
Jiri Slaby |
ef7db2 |
2.35.3
|
|
Jiri Slaby |
ef7db2 |
|