mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-01-17 22:10:29 +01:00
hw/xfree86: Only report SetDesiredModes() failed if at least one modeset fails
commit6703a7c7cfAuthor: Keith Packard <keithp@keithp.com> Date: Tue Jan 8 20:24:32 2013 -0800 hw/xfree86: Require only one working CRTC to start the server. changed the logic to try to set the mode on all connected outputs rather than abort upon the first failure. The return error code was then tweaked such that it reported success if it set a mode on any crtc. However, this confuses the headless case where we never enable any crtcs and also, importantly, never fail to set a crtc. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=59190 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Also-written-by: Maarten Lankhorst <maarten.lankhorst@canonical.com> Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Keith Packard <keithp@keithp.com> (cherry picked from commit451ba4bd41)
This commit is contained in:
parent
5c296c32d9
commit
c760fb0154
1 changed files with 3 additions and 2 deletions
|
|
@ -2598,8 +2598,8 @@ xf86SetDesiredModes(ScrnInfoPtr scrn)
|
|||
{
|
||||
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(scrn);
|
||||
xf86CrtcPtr crtc = config->crtc[0];
|
||||
int enabled = 0, failed = 0;
|
||||
int c;
|
||||
int enabled = 0;
|
||||
|
||||
/* A driver with this hook will take care of this */
|
||||
if (!crtc->funcs->set_mode_major) {
|
||||
|
|
@ -2659,11 +2659,12 @@ xf86SetDesiredModes(ScrnInfoPtr scrn)
|
|||
if (config->output[o]->crtc == crtc)
|
||||
config->output[o]->crtc = NULL;
|
||||
crtc->enabled = FALSE;
|
||||
++failed;
|
||||
}
|
||||
}
|
||||
|
||||
xf86DisableUnusedFunctions(scrn);
|
||||
return enabled != 0;
|
||||
return enabled != 0 || failed == 0;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue