[Intel-gfx] [PATCH 2/3] Revert "drm/i915: set TRANSCODER_EDP even earlier"

Paulo Zanoni przanoni at gmail.com
Fri Mar 22 13:30:05 CET 2013


2013/3/22 Daniel Vetter <daniel.vetter at ffwll.ch>:
> This reverts commit cc464b2a17c59adedbdc02cc54341d630354edc3.
>
> The reason is that Takashi Iwai reported a regression bisected to this
> commit:
>
> http://www.mail-archive.com/intel-gfx@lists.freedesktop.org/msg18788.html
>
> His machine has eDP on port D (usual desktop all-in-on setup), which
> intel_dp.c identifies as an eDP panel, but the hsw ddi code
> mishandles.
>
> But in retrospective I also don't like that this leaks highly platform
> specific details into common code, and the reason is that the drm
> vblank layer sucks. So instead I think we should:
> - move the cpu_transcoder into the dynamic pipe_config tracking (once
>   that's merged).
> - fix up the drm vblank layer to finally deal with kms crtc objects
>   instead of int pipes.

Looks like we'll never get rid of all the unclaimed register errors...

Reviewed-by: Paulo Zanoni <paulo.r.zanoni at intel.com>

>
> Cc: Paulo Zanoni <paulo.r.zanoni at intel.com>
> Cc: Takashi Iwai <tiwai at suse.de>
> Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
>  drivers/gpu/drm/i915/intel_display.c |   10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 7114e68..8eec205 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -5742,6 +5742,11 @@ static int haswell_crtc_mode_set(struct drm_crtc *crtc,
>                 num_connectors++;
>         }
>
> +       if (is_cpu_edp)
> +               intel_crtc->cpu_transcoder = TRANSCODER_EDP;
> +       else
> +               intel_crtc->cpu_transcoder = pipe;
> +
>         /* We are not sure yet this won't happen. */
>         WARN(!HAS_PCH_LPT(dev), "Unexpected PCH type %d\n",
>              INTEL_PCH_TYPE(dev));
> @@ -5808,11 +5813,6 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,
>         int pipe = intel_crtc->pipe;
>         int ret;
>
> -       if (IS_HASWELL(dev) && intel_pipe_has_type(crtc, INTEL_OUTPUT_EDP))
> -               intel_crtc->cpu_transcoder = TRANSCODER_EDP;
> -       else
> -               intel_crtc->cpu_transcoder = pipe;
> -
>         drm_vblank_pre_modeset(dev, pipe);
>
>         ret = dev_priv->display.crtc_mode_set(crtc, mode, adjusted_mode,
> --
> 1.7.10.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



-- 
Paulo Zanoni



More information about the Intel-gfx mailing list