[Intel-gfx] [ANNOUNCE] xf86-video-intel 2.7.99.901 (2.8.0 rc1)

Adam Lantos hege at playma.org
Fri Jun 12 01:45:51 CEST 2009


Thanks Keith, this one fixes the load-time enabling, but xrandr still
sees VGA1 as connected.

LVDS and VGA only use the default modelines, so unless I set
HorizSync, VRefresh and PreferredMode in Monitor section, I won't get
native resolution on external VGA. Also can somebody confirm that
these log lines are normal when using KMS?

i2c-adapter i2c-1: unable to read EDID block.
i915 0000:00:02.0: LVDS-1: no EDID data
i2c-adapter i2c-0: unable to read EDID block.
i915 0000:00:02.0: VGA-1: no EDID data


thanks,
 Adam


On Thu, Jun 11, 2009 at 11:48 PM, Keith Packard<keithp at keithp.com> wrote:
> On Thu, 2009-06-11 at 12:42 +0200, Adam Lantos wrote:
>
>> When starting X with VGA _unplugged_, KMS enables the VGA connector
>> and xrandr extendes my desktop.
>
> 2.6.30 is missing a patch that makes load-detect work.
>
> (It's in Eric's tree, commit 03d6069912babc07a3da20e715dd6a5dc8f0f867):
>
> commit 03d6069912babc07a3da20e715dd6a5dc8f0f867
> Author: Keith Packard <keithp at keithp.com>
> Date:   Fri Jun 5 18:19:56 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 <keithp at keithp.com>
>    Signed-off-by: Eric Anholt <eric at anholt.net>
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index a87eeff..b32a51f 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -2136,6 +2136,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);
> @@ -2171,6 +2172,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);
>
>
> --
> keith.packard at intel.com
>



More information about the Intel-gfx mailing list