summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/mgag200/mgag200_g200ew3.c
diff options
context:
space:
mode:
authorThomas Zimmermann <tzimmermann@suse.de>2022-07-28 14:40:59 +0200
committerThomas Zimmermann <tzimmermann@suse.de>2022-07-29 16:01:47 +0200
commit8aeeb3144fe27b2b8aa30db262de2f654f2edb9a (patch)
treedd00892e470583818ec1c78890e6261466a3c09b /drivers/gpu/drm/mgag200/mgag200_g200ew3.c
parentdrm/mgag200: Add per-device callbacks (diff)
downloadlinux-8aeeb3144fe27b2b8aa30db262de2f654f2edb9a.tar.xz
linux-8aeeb3144fe27b2b8aa30db262de2f654f2edb9a.zip
drm/mgag200: Provide per-device callbacks for BMC synchronization
Move the BMC-related code into its own file and wire it up with device callbacks. While programming a new display mode, G200EW3 and G200WB have to de- synchronize with the BMC. Synchronization is done via VIDRST pins and controlled via VRSTEN and HRSTEN bits. Move the BMC code behind a serviceable interface and call it from the CRTC's enable and disable functions. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de> Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com> Tested-by: Jocelyn Falempe <jfalempe@redhat.com> Acked-by: Sam Ravnborg <sam@ravnborg.org> Link: https://patchwork.freedesktop.org/patch/msgid/20220728124103.30159-11-tzimmermann@suse.de
Diffstat (limited to 'drivers/gpu/drm/mgag200/mgag200_g200ew3.c')
-rw-r--r--drivers/gpu/drm/mgag200/mgag200_g200ew3.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/mgag200/mgag200_g200ew3.c b/drivers/gpu/drm/mgag200/mgag200_g200ew3.c
index 202db00bb62e..19a870120ebc 100644
--- a/drivers/gpu/drm/mgag200/mgag200_g200ew3.c
+++ b/drivers/gpu/drm/mgag200/mgag200_g200ew3.c
@@ -21,6 +21,8 @@ static const struct mgag200_device_info mgag200_g200ew3_device_info =
MGAG200_DEVICE_INFO_INIT(2048, 2048, 0, true, 0, 1, false);
static const struct mgag200_device_funcs mgag200_g200ew3_device_funcs = {
+ .disable_vidrst = mgag200_bmc_disable_vidrst,
+ .enable_vidrst = mgag200_bmc_enable_vidrst,
};
static resource_size_t mgag200_g200ew3_device_probe_vram(struct mga_device *mdev)