From 45012aa352f1da78f912595c00846edde2b58189 Mon Sep 17 00:00:00 2001 From: Daniel Vetter Date: Tue, 11 Aug 2009 16:05:30 +0200 Subject: [PATCH] --- yaml --- r: 163967 b: refs/heads/master c: c05422d52ee6b4cff8b63eab1a7351780518fc5e h: refs/heads/master i: 163965: d81fa8e628c1b311a50ae616f256ea660f46dd6c 163963: 75d203d92b8cb729c9a808171f21f7045387fcd1 163959: 09eb8007a6a6e833ba3159e55f9e9b3bf24780c4 163951: 770359c7f71b0fb7ffbcedae4dc60ffdfef368b0 163935: 6a57a175b79903defa2fc058e0e67b59b0024302 163903: f869842fd0863deb553cbe03cfc94bd999cc1478 163839: 820908f85d8f79136026e16e4e366ec7895ebcf6 v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/i915/intel_display.c | 20 ++++++++------------ 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index b431709fc4a7..3e95f9546b23 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 67cf781bea52d461b7c8b63b23be19e87c33d7bf +refs/heads/master: c05422d52ee6b4cff8b63eab1a7351780518fc5e diff --git a/trunk/drivers/gpu/drm/i915/intel_display.c b/trunk/drivers/gpu/drm/i915/intel_display.c index 35e86196c062..f0f38f5e752c 100644 --- a/trunk/drivers/gpu/drm/i915/intel_display.c +++ b/trunk/drivers/gpu/drm/i915/intel_display.c @@ -3557,30 +3557,26 @@ int intel_get_pipe_from_crtc_id(struct drm_device *dev, void *data, { drm_i915_private_t *dev_priv = dev->dev_private; struct drm_i915_get_pipe_from_crtc_id *pipe_from_crtc_id = data; - struct drm_crtc *crtc = NULL; - int pipe = -1; + struct drm_mode_object *drmmode_obj; + struct intel_crtc *crtc; if (!dev_priv) { DRM_ERROR("called with no initialization\n"); return -EINVAL; } - list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { - struct intel_crtc *intel_crtc = to_intel_crtc(crtc); - if (crtc->base.id == pipe_from_crtc_id->crtc_id) { - pipe = intel_crtc->pipe; - break; - } - } + drmmode_obj = drm_mode_object_find(dev, pipe_from_crtc_id->crtc_id, + DRM_MODE_OBJECT_CRTC); - if (pipe == -1) { + if (!drmmode_obj) { DRM_ERROR("no such CRTC id\n"); return -EINVAL; } - pipe_from_crtc_id->pipe = pipe; + crtc = to_intel_crtc(obj_to_crtc(drmmode_obj)); + pipe_from_crtc_id->pipe = crtc->pipe; - return 0; + return 0; } struct drm_crtc *intel_get_crtc_from_pipe(struct drm_device *dev, int pipe)