summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/ast/ast_drv.h
diff options
context:
space:
mode:
authorThomas Zimmermann <tzimmermann@suse.de>2022-05-02 17:25:13 +0300
committerThomas Zimmermann <tzimmermann@suse.de>2022-05-05 10:18:32 +0300
commitf870231fdd6ce2c6c040a3584a2eac97ae473780 (patch)
treeb84e31c9b73da87b6e8376913fae8ffb08d55b57 /drivers/gpu/drm/ast/ast_drv.h
parente13f13e039dc8f31168b5569120a7658035c80ee (diff)
downloadlinux-f870231fdd6ce2c6c040a3584a2eac97ae473780.tar.xz
drm/ast: Protect concurrent access to I/O registers with lock
Add a mutex lock to protect concurrent access to I/O registers against each other. This happens between invocation of commit- tail functions and get-mode operations. Both with use the CRTC index register AST_IO_CRTC_PORT. Concurrent access can lead to failed mode-setting operations. v2: * fix typo in commit description (Jocelyn) Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reported-by: KuoHsiang Chou <kuohsiang_chou@aspeedtech.com> Link: https://patchwork.freedesktop.org/patch/msgid/20220502142514.2174-3-tzimmermann@suse.de
Diffstat (limited to 'drivers/gpu/drm/ast/ast_drv.h')
-rw-r--r--drivers/gpu/drm/ast/ast_drv.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/ast/ast_drv.h b/drivers/gpu/drm/ast/ast_drv.h
index ff1ae314bd0d..afebe35f205e 100644
--- a/drivers/gpu/drm/ast/ast_drv.h
+++ b/drivers/gpu/drm/ast/ast_drv.h
@@ -159,6 +159,7 @@ to_ast_sil164_connector(struct drm_connector *connector)
struct ast_private {
struct drm_device base;
+ struct mutex ioregs_lock; /* Protects access to I/O registers in ioregs */
void __iomem *regs;
void __iomem *ioregs;
void __iomem *dp501_fw_buf;