summaryrefslogtreecommitdiff
path: root/src/uxa/intel_display.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2015-05-04 14:00:13 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2015-05-04 14:05:27 +0100
commit5054e2271210a52bf88b0f12c35d687ce9e8210d (patch)
tree6b5cb40fc34015e46e0a642962a999f076404064 /src/uxa/intel_display.c
parentb400dd22c28a08d7644b4ede076be9d8c2b8ca9d (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.c14
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 */