modesetting: Check DPMS mode in ms_covering_crtc().
crtc->enabled is insufficient; we should also make sure DPMS is on. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Keith Packard <keithp@keithp.com> Tested-by: Jason Ekstrand <jason.ekstrand@intel.com> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
8affaade2c
commit
7d1fc04d27
|
@ -88,6 +88,14 @@ static int ms_box_area(BoxPtr box)
|
||||||
return (int)(box->x2 - box->x1) * (int)(box->y2 - box->y1);
|
return (int)(box->x2 - box->x1) * (int)(box->y2 - box->y1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Bool
|
||||||
|
ms_crtc_on(xf86CrtcPtr crtc)
|
||||||
|
{
|
||||||
|
drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;
|
||||||
|
|
||||||
|
return crtc->enabled && drmmode_crtc->dpms_mode == DPMSModeOn;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return the crtc covering 'box'. If two crtcs cover a portion of
|
* Return the crtc covering 'box'. If two crtcs cover a portion of
|
||||||
* 'box', then prefer 'desired'. If 'desired' is NULL, then prefer the crtc
|
* 'box', then prefer 'desired'. If 'desired' is NULL, then prefer the crtc
|
||||||
|
@ -114,7 +122,7 @@ ms_covering_crtc(ScrnInfoPtr scrn,
|
||||||
crtc = xf86_config->crtc[c];
|
crtc = xf86_config->crtc[c];
|
||||||
|
|
||||||
/* If the CRTC is off, treat it as not covering */
|
/* If the CRTC is off, treat it as not covering */
|
||||||
if (!crtc->enabled)
|
if (!ms_crtc_on(crtc))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
ms_crtc_box(crtc, &crtc_box);
|
ms_crtc_box(crtc, &crtc_box);
|
||||||
|
|
Loading…
Reference in New Issue