diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2015-05-04 14:00:13 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2015-05-04 14:05:27 +0100 |
commit | 5054e2271210a52bf88b0f12c35d687ce9e8210d (patch) | |
tree | 6b5cb40fc34015e46e0a642962a999f076404064 /src/uxa/intel_display.c | |
parent | b400dd22c28a08d7644b4ede076be9d8c2b8ca9d (diff) |
Remove the driver option to delete connectors on unplugging
With a MST topology change, we can find outputs may disappear. We offered
a choice as to whether to simply disable them or completely remove them
from the listing of available outputs. However, clients never expected
that their operation on any output could trigger a BadID XError (or that
there is anyway to prevent race conditions). As such an option was made to
disable by default, but allow testing complete removal. Now the RandR
protocol has been clarified such that XID assigned to outputs are now
permanent, as such the option breaks the spec, so drop it.
See randrproto commit 895ee5264524c7c239ee4ef5e39c4e295323fb51
Author: Dave Airlie <airlied@redhat.com>
Date: Wed Apr 22 10:58:18 2015 +1000
randrproto: clarify output XID lifetimes.
This just makes a note that randr won't make outputs disappear
dynamically.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'src/uxa/intel_display.c')
-rw-r--r-- | src/uxa/intel_display.c | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/src/uxa/intel_display.c b/src/uxa/intel_display.c index a95b3de5..0cdc8d26 100644 --- a/src/uxa/intel_display.c +++ b/src/uxa/intel_display.c @@ -94,8 +94,6 @@ struct intel_mode { intel_pageflip_abort_proc abort; void *data; } pageflip; - - Bool delete_dp_12_displays; }; struct intel_pageflip { @@ -2248,10 +2246,6 @@ Bool intel_mode_pre_init(ScrnInfoPtr scrn, int fd, int cpp) intel->use_pageflipping = TRUE; } - if (xf86ReturnOptValBool(intel->Options, OPTION_DELETE_DP12, FALSE)) { - mode->delete_dp_12_displays = TRUE; - } - intel->modes = mode; drmModeFreeResources(mode_res); return TRUE; @@ -2515,12 +2509,11 @@ intel_mode_hotplug(struct intel_screen_private *intel) int i, j; Bool found; Bool changed = FALSE; - struct intel_mode *mode = intel->modes; + mode_res = drmModeGetResources(intel->drmSubFD); if (!mode_res) goto out; -restart_destroy: for (i = 0; i < config->num_output; i++) { xf86OutputPtr output = config->output[i]; struct intel_output *intel_output; @@ -2542,11 +2535,6 @@ restart_destroy: RROutputChanged(output->randr_output, TRUE); changed = TRUE; - if (mode->delete_dp_12_displays) { - RROutputDestroy(output->randr_output); - xf86OutputDestroy(output); - goto restart_destroy; - } } /* find new output ids we don't have outputs for */ |