http://bugzilla.kernel.org/show_bug.cgi?id=13462





--- Comment #2 from Keith Packard <kei...@keithp.com>  2009-06-06 01:23:04 ---
Ok, I've discovered why this patch has this effect -- the bisected patch
changes when crtcs are determined to be 'active'. In the past, a crtc was
determined to be active if any encoders were using it, now we also require that
said encoders be hooked to some connector.

The intel load detection code wasn't hooking the TV connector to the TV
encoder, and so the mode setting operation during load detection wasn't
actually turning on the hardware, so the load detection depended on whether the
TV was already running.

I've posted the following patch to drm-devel and intel-gfx:

commit 1cdeb72d2dfc0e724b9d150db38e512fc438b13a
Author: Keith Packard <kei...@keithp.com>
Date:   Fri Jun 5 18:16:11 2009 -0700

    drm/i915: Hook connector to encoder during load detection (fixes tv/vga
detect)

    With the DRM-driven DPMS code, encoders are considered idle unless a
    connector is hooked to them, so mode setting is skipped. This makes load
    detection fail as none of the hardware is enabled.

    Signed-off-by: Keith Packard <kei...@keithp.com>

diff --git a/drivers/gpu/drm/i915/intel_display.c
b/drivers/gpu/drm/i915/intel_display.c
index 220d54d..dcb5e49 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -1676,6 +1676,7 @@ struct drm_crtc *intel_get_load_detect_pipe(struct
intel_output *intel_output,
        }

        encoder->crtc = crtc;
+       intel_output->base.encoder = encoder;
        intel_output->load_detect_temp = true;

        intel_crtc = to_intel_crtc(crtc);
@@ -1711,6 +1712,7 @@ void intel_release_load_detect_pipe(struct intel_output
*intel_output, int dpms_

        if (intel_output->load_detect_temp) {
                encoder->crtc = NULL;
+               intel_output->base.encoder = NULL;
                intel_output->load_detect_temp = false;
                crtc->enabled = drm_helper_crtc_in_use(crtc);
                drm_helper_disable_unused_functions(dev);

-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.

------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises 
looking to deploy the next generation of Solaris that includes the latest 
innovations from Sun and the OpenSource community. Download a copy and 
enjoy capabilities such as Networking, Storage and Virtualization. 
Go to: http://p.sf.net/sfu/opensolaris-get
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to