Skip to content

Commit

Permalink
drm/mgag200: Use adjusted mode values for CRTCs
Browse files Browse the repository at this point in the history
Use the values with the crtc_ prefix from struct drm_display_mode to
program hardware. The DRM core adjusted these values to the requirements
of CRTC hardware.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Jocelyn Falempe <jfalempe@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240718104551.575912-4-tzimmermann@suse.de
  • Loading branch information
Thomas Zimmermann committed Jul 19, 2024
1 parent b345b35 commit e8f834b
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions drivers/gpu/drm/mgag200/mgag200_mode.c
Original file line number Diff line number Diff line change
Expand Up @@ -208,19 +208,19 @@ void mgag200_set_mode_regs(struct mga_device *mdev, const struct drm_display_mod
unsigned int vdispend, vsyncstr, vsyncend, vtotal;
u8 misc, crtcext1, crtcext2, crtcext5;

hdispend = mode->hdisplay / 8 - 1;
hsyncstr = mode->hsync_start / 8 - 1;
hsyncend = mode->hsync_end / 8 - 1;
htotal = mode->htotal / 8 - 1;
hdispend = mode->crtc_hdisplay / 8 - 1;
hsyncstr = mode->crtc_hsync_start / 8 - 1;
hsyncend = mode->crtc_hsync_end / 8 - 1;
htotal = mode->crtc_htotal / 8 - 1;

/* Work around hardware quirk */
if ((htotal & 0x07) == 0x06 || (htotal & 0x07) == 0x04)
htotal++;

vdispend = mode->vdisplay - 1;
vsyncstr = mode->vsync_start - 1;
vsyncend = mode->vsync_end - 1;
vtotal = mode->vtotal - 2;
vdispend = mode->crtc_vdisplay - 1;
vsyncstr = mode->crtc_vsync_start - 1;
vsyncend = mode->crtc_vsync_end - 1;
vtotal = mode->crtc_vtotal - 2;

misc = RREG8(MGA_MISC_IN);

Expand Down

0 comments on commit e8f834b

Please sign in to comment.