mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-20 02:34:23 +08:00
drm/nouveau/kms/nv50: fix setting of HeadSetRasterVertBlankDmi method
Cc: stable@vger.kernel.org [4.10+] Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
ac799acaa4
commit
aeecfcd744
@ -2043,6 +2043,7 @@ nv50_head_atomic_check_mode(struct nv50_head *head, struct nv50_head_atom *asyh)
|
||||
u32 vbackp = (mode->vtotal - mode->vsync_end) * vscan / ilace;
|
||||
u32 hfrontp = mode->hsync_start - mode->hdisplay;
|
||||
u32 vfrontp = (mode->vsync_start - mode->vdisplay) * vscan / ilace;
|
||||
u32 blankus;
|
||||
struct nv50_head_mode *m = &asyh->mode;
|
||||
|
||||
m->h.active = mode->htotal;
|
||||
@ -2056,9 +2057,10 @@ nv50_head_atomic_check_mode(struct nv50_head *head, struct nv50_head_atom *asyh)
|
||||
m->v.blanks = m->v.active - vfrontp - 1;
|
||||
|
||||
/*XXX: Safe underestimate, even "0" works */
|
||||
m->v.blankus = (m->v.active - mode->vdisplay - 2) * m->h.active;
|
||||
m->v.blankus *= 1000;
|
||||
m->v.blankus /= mode->clock;
|
||||
blankus = (m->v.active - mode->vdisplay - 2) * m->h.active;
|
||||
blankus *= 1000;
|
||||
blankus /= mode->clock;
|
||||
m->v.blankus = blankus;
|
||||
|
||||
if (mode->flags & DRM_MODE_FLAG_INTERLACE) {
|
||||
m->v.blank2e = m->v.active + m->v.synce + vbackp;
|
||||
|
Loading…
Reference in New Issue
Block a user