All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rodrigo Vivi <rodrigo.vivi@gmail.com>
To: Paulo Zanoni <przanoni@gmail.com>
Cc: intel-gfx@lists.freedesktop.org, Paulo Zanoni <paulo.r.zanoni@intel.com>
Subject: Re: [PATCH 17/18] drm/i915: turn the eDP DDI panel on/off
Date: Wed, 24 Oct 2012 13:20:44 -0200	[thread overview]
Message-ID: <CABVU7+vbc8J1RZd043URVK8p9_cssirnm8yuFnEw6Mbd32Mhsw@mail.gmail.com> (raw)
In-Reply-To: <1351024208-3489-18-git-send-email-przanoni@gmail.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>

On Tue, Oct 23, 2012 at 6:30 PM, Paulo Zanoni <przanoni@gmail.com> wrote:
> From: Paulo Zanoni <paulo.r.zanoni@intel.com>
>
> It's an important step :)
>
> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_ddi.c | 18 ++++++++++++++++--
>  drivers/gpu/drm/i915/intel_dp.c  | 11 ++++-------
>  drivers/gpu/drm/i915/intel_drv.h |  4 ++++
>  3 files changed, 24 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index 232f2d0..47b52eb 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -1163,12 +1163,19 @@ void intel_ddi_pre_enable(struct intel_encoder *intel_encoder)
>         struct drm_i915_private *dev_priv = encoder->dev->dev_private;
>         struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
>         enum port port = intel_ddi_get_encoder_port(intel_encoder);
> +       int type = intel_encoder->type;
>
> -       WARN_ON(intel_crtc->ddi_pll_sel == PORT_CLK_SEL_NONE);
> +       if (type == INTEL_OUTPUT_EDP) {
> +               struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> +               ironlake_edp_panel_vdd_on(intel_dp);
> +               ironlake_edp_panel_on(intel_dp);
> +               ironlake_edp_panel_vdd_off(intel_dp, true);
> +       }
>
> +       WARN_ON(intel_crtc->ddi_pll_sel == PORT_CLK_SEL_NONE);
>         I915_WRITE(PORT_CLK_SEL(port), intel_crtc->ddi_pll_sel);
>
> -       if (intel_encoder->type == INTEL_OUTPUT_DISPLAYPORT) {
> +       if (type == INTEL_OUTPUT_DISPLAYPORT || type == INTEL_OUTPUT_EDP) {
>                 struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
>
>                 intel_dp_sink_dpms(intel_dp, DRM_MODE_DPMS_ON);
> @@ -1196,6 +1203,7 @@ void intel_ddi_post_disable(struct intel_encoder *intel_encoder)
>         struct drm_encoder *encoder = &intel_encoder->base;
>         struct drm_i915_private *dev_priv = encoder->dev->dev_private;
>         enum port port = intel_ddi_get_encoder_port(intel_encoder);
> +       int type = intel_encoder->type;
>         uint32_t val;
>         bool wait = false;
>
> @@ -1214,6 +1222,12 @@ void intel_ddi_post_disable(struct intel_encoder *intel_encoder)
>         if (wait)
>                 intel_wait_ddi_buf_idle(dev_priv, port);
>
> +       if (type == INTEL_OUTPUT_EDP) {
> +               struct intel_dp *intel_dp = enc_to_intel_dp(encoder);
> +               ironlake_edp_panel_vdd_on(intel_dp);
> +               ironlake_edp_panel_off(intel_dp);
> +       }
> +
>         I915_WRITE(PORT_CLK_SEL(port), PORT_CLK_SEL_NONE);
>  }
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index d926f99..2f7acba 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -651,9 +651,6 @@ intel_dp_i2c_aux_ch(struct i2c_adapter *adapter, int mode,
>         return -EREMOTEIO;
>  }
>
> -static void ironlake_edp_panel_vdd_on(struct intel_dp *intel_dp);
> -static void ironlake_edp_panel_vdd_off(struct intel_dp *intel_dp, bool sync);
> -
>  static int
>  intel_dp_i2c_init(struct intel_dp *intel_dp,
>                   struct intel_connector *intel_connector, const char *name)
> @@ -1004,7 +1001,7 @@ static  u32 ironlake_get_pp_control(struct drm_i915_private *dev_priv)
>         return control;
>  }
>
> -static void ironlake_edp_panel_vdd_on(struct intel_dp *intel_dp)
> +void ironlake_edp_panel_vdd_on(struct intel_dp *intel_dp)
>  {
>         struct drm_device *dev = intel_dp->base.base.dev;
>         struct drm_i915_private *dev_priv = dev->dev_private;
> @@ -1074,7 +1071,7 @@ static void ironlake_panel_vdd_work(struct work_struct *__work)
>         mutex_unlock(&dev->mode_config.mutex);
>  }
>
> -static void ironlake_edp_panel_vdd_off(struct intel_dp *intel_dp, bool sync)
> +void ironlake_edp_panel_vdd_off(struct intel_dp *intel_dp, bool sync)
>  {
>         if (!is_edp(intel_dp))
>                 return;
> @@ -1097,7 +1094,7 @@ static void ironlake_edp_panel_vdd_off(struct intel_dp *intel_dp, bool sync)
>         }
>  }
>
> -static void ironlake_edp_panel_on(struct intel_dp *intel_dp)
> +void ironlake_edp_panel_on(struct intel_dp *intel_dp)
>  {
>         struct drm_device *dev = intel_dp->base.base.dev;
>         struct drm_i915_private *dev_priv = dev->dev_private;
> @@ -1139,7 +1136,7 @@ static void ironlake_edp_panel_on(struct intel_dp *intel_dp)
>         }
>  }
>
> -static void ironlake_edp_panel_off(struct intel_dp *intel_dp)
> +void ironlake_edp_panel_off(struct intel_dp *intel_dp)
>  {
>         struct drm_device *dev = intel_dp->base.base.dev;
>         struct drm_i915_private *dev_priv = dev->dev_private;
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 47d62fb..b9faeec 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -441,6 +441,10 @@ extern void intel_dp_sink_dpms(struct intel_dp *intel_dp, int mode);
>  extern bool intel_dpd_is_edp(struct drm_device *dev);
>  extern void ironlake_edp_backlight_on(struct intel_dp *intel_dp);
>  extern void ironlake_edp_backlight_off(struct intel_dp *intel_dp);
> +extern void ironlake_edp_panel_on(struct intel_dp *intel_dp);
> +extern void ironlake_edp_panel_off(struct intel_dp *intel_dp);
> +extern void ironlake_edp_panel_vdd_on(struct intel_dp *intel_dp);
> +extern void ironlake_edp_panel_vdd_off(struct intel_dp *intel_dp, bool sync);
>  extern void intel_edp_link_config(struct intel_encoder *, int *, int *);
>  extern int intel_edp_target_clock(struct intel_encoder *,
>                                   struct drm_display_mode *mode);
> --
> 1.7.11.4
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx



-- 
Rodrigo Vivi
Blog: http://blog.vivi.eng.br

  reply	other threads:[~2012-10-24 15:20 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-23 20:29 [PATCH 00/18] Haswell eDP enablement v3 Paulo Zanoni
2012-10-23 20:29 ` [PATCH 01/18] drm/i915: fork a Haswell version of ironlake_crtc_{enable, disable} Paulo Zanoni
2012-10-24 13:15   ` Rodrigo Vivi
2012-10-25 11:03   ` Jani Nikula
2012-10-23 20:29 ` [PATCH 02/18] drm/i915: fix the checks inside Ironlake/Haswell crtc enable/disable Paulo Zanoni
2012-10-24 13:18   ` Rodrigo Vivi
2012-10-24 13:31   ` Paulo Zanoni
2012-10-23 20:29 ` [PATCH 03/18] drm/i915: simplify intel_crtc_driving_pch Paulo Zanoni
2012-10-25 11:13   ` Jani Nikula
2012-10-25 12:04     ` Paulo Zanoni
2012-10-25 12:37   ` Paulo Zanoni
2012-10-23 20:29 ` [PATCH 04/18] drm/i915: don't call Haswell PCH code when we can't or don't need Paulo Zanoni
2012-10-25 12:18   ` Jani Nikula
2012-10-23 20:29 ` [PATCH 05/18] drm/i915: add TRANSCODER_EDP Paulo Zanoni
2012-10-24 14:50   ` Lespiau, Damien
2012-10-24 16:33     ` Paulo Zanoni
2012-10-24 16:43       ` Daniel Vetter
2012-10-24 17:59   ` Paulo Zanoni
2012-10-25 10:23     ` Lespiau, Damien
2012-10-23 20:29 ` [PATCH 06/18] drm/i915: convert PIPE_CLK_SEL to transcoder Paulo Zanoni
2012-10-24 14:55   ` Lespiau, Damien
2012-10-23 20:29 ` [PATCH 07/18] drm/i915: convert DDI_FUNC_CTL " Paulo Zanoni
2012-10-24 15:12   ` Lespiau, Damien
2012-10-24 15:30   ` Lespiau, Damien
2012-10-24 16:44     ` Paulo Zanoni
2012-10-24 18:06   ` Paulo Zanoni
2012-10-25 10:24     ` Lespiau, Damien
2012-10-23 20:29 ` [PATCH 08/18] drm/i915: check TRANSCODER_EDP on intel_modeset_setup_hw_state Paulo Zanoni
2012-10-24 12:38   ` Daniel Vetter
2012-10-24 15:45     ` Lespiau, Damien
2012-10-24 15:50       ` Daniel Vetter
2012-10-24 18:09   ` Paulo Zanoni
2012-10-25 10:26     ` Lespiau, Damien
2012-10-23 20:29 ` [PATCH 09/18] drm/i915: convert PIPECONF to use transcoder instead of pipe Paulo Zanoni
2012-10-25 11:12   ` Lespiau, Damien
2012-10-23 20:30 ` [PATCH 10/18] drm/i915: convert PIPE_MSA_MISC to transcoder Paulo Zanoni
2012-10-25 11:09   ` Lespiau, Damien
2012-10-23 20:30 ` [PATCH 11/18] drm/i915: convert CPU M/N timings " Paulo Zanoni
2012-10-25 11:10   ` Lespiau, Damien
2012-10-23 20:30 ` [PATCH 12/18] drm/i915: convert pipe timing definitions " Paulo Zanoni
2012-10-25 11:12   ` Lespiau, Damien
2012-10-23 20:30 ` [PATCH 13/18] drm/i915: implement workaround for VTOTAL when using TRANSCODER_EDP Paulo Zanoni
2012-10-23 20:44   ` Daniel Vetter
2012-10-24 13:34   ` Paulo Zanoni
2012-10-24 15:24     ` Rodrigo Vivi
2012-10-23 20:30 ` [PATCH 14/18] drm/i915: select the correct pipe " Paulo Zanoni
2012-10-24 13:58   ` Rodrigo Vivi
2012-10-23 20:30 ` [PATCH 15/18] drm/i915: set the correct eDP aux channel clock divider on DDI Paulo Zanoni
2012-10-24 14:07   ` Rodrigo Vivi
2012-10-23 20:30 ` [PATCH 16/18] drm/i915: set/unset the DDI eDP backlight Paulo Zanoni
2012-10-24 14:11   ` Rodrigo Vivi
2012-10-24 14:22   ` Daniel Vetter
2012-10-24 14:43     ` Paulo Zanoni
2012-10-23 20:30 ` [PATCH 17/18] drm/i915: turn the eDP DDI panel on/off Paulo Zanoni
2012-10-24 15:20   ` Rodrigo Vivi [this message]
2012-10-23 20:30 ` [PATCH 18/18] drm/i915: enable DDI eDP Paulo Zanoni
2012-10-24 14:24   ` Rodrigo Vivi
2012-10-25 20:17     ` Daniel Vetter
2012-10-24 13:31 ` [PATCH 02-1/18] drm/i915: fix checks inside ironlake_crtc_{enable, disable} Paulo Zanoni
2012-10-24 13:32   ` [PATCH 02-2/18] drm/i915: fix checks inside haswell_crtc_{enable, disable} Paulo Zanoni
2012-10-25 11:07     ` Jani Nikula
2012-10-25 11:04   ` [PATCH 02-1/18] drm/i915: fix checks inside ironlake_crtc_{enable, disable} Jani Nikula

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CABVU7+vbc8J1RZd043URVK8p9_cssirnm8yuFnEw6Mbd32Mhsw@mail.gmail.com \
    --to=rodrigo.vivi@gmail.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=paulo.r.zanoni@intel.com \
    --cc=przanoni@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.