From: Imre Deak <imre.deak@intel.com>
To: ville.syrjala@linux.intel.com
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 15/14] drm/i915: Add comments explaining the vdd on/off functions
Date: Wed, 03 Sep 2014 14:52:41 +0300 [thread overview]
Message-ID: <1409745161.15662.35.camel@intelbox> (raw)
In-Reply-To: <1408470437-12107-1-git-send-email-ville.syrjala@linux.intel.com>
[-- Attachment #1.1: Type: text/plain, Size: 3704 bytes --]
On Tue, 2014-08-19 at 20:47 +0300, ville.syrjala@linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Jani wanted some comments to explain why we call certain vdd on/off
> functions in certain places.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
> drivers/gpu/drm/i915/intel_dp.c | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 1067082..1233a10 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -1315,6 +1315,7 @@ static u32 ironlake_get_pp_control(struct intel_dp *intel_dp)
> return control;
> }
>
> +/* should be paired with edp_panel_vdd_off() */
It would be useful to clarify here the purpose of the edp_ vs.
intel_edp_* versions. Iiuc you need to hold pps_lock around the whole
edp_panel_vdd_on/off() sequence and these can be nested within an
intel_edp_panel_vdd_on/off() sequence. Otoh, you can't nest
intel_edp_panel_vdd_on() calls.
> static bool edp_panel_vdd_on(struct intel_dp *intel_dp)
> {
> struct drm_device *dev = intel_dp_to_dev(intel_dp);
> @@ -1365,6 +1366,7 @@ static bool edp_panel_vdd_on(struct intel_dp *intel_dp)
> return need_to_disable;
> }
>
> +/* should be paired with intel_edp_panel_vdd_off() */
> void intel_edp_panel_vdd_on(struct intel_dp *intel_dp)
> {
> struct drm_i915_private *dev_priv =
> @@ -1447,6 +1449,7 @@ static void edp_panel_vdd_schedule_off(struct intel_dp *intel_dp)
> schedule_delayed_work(&intel_dp->panel_vdd_work, delay);
> }
>
> +/* should be paired with edp_panel_vdd_on() */
> static void edp_panel_vdd_off(struct intel_dp *intel_dp, bool sync)
> {
> struct drm_i915_private *dev_priv =
> @@ -1467,6 +1470,7 @@ static void edp_panel_vdd_off(struct intel_dp *intel_dp, bool sync)
> edp_panel_vdd_schedule_off(intel_dp);
> }
>
> +/* should be paired with intel_edp_panel_vdd_on() */
> static void intel_edp_panel_vdd_off(struct intel_dp *intel_dp, bool sync)
> {
> struct drm_i915_private *dev_priv =
> @@ -4307,6 +4311,10 @@ void intel_dp_encoder_destroy(struct drm_encoder *encoder)
> drm_encoder_cleanup(encoder);
> if (is_edp(intel_dp)) {
> cancel_delayed_work_sync(&intel_dp->panel_vdd_work);
> + /*
> + * vdd might still be enabled do to the delayed vdd off.
s/do/due/
> + * Make sure vdd is actually turned off here.
> + */
> mutex_lock(&dev_priv->pps_mutex);
> edp_panel_vdd_off_sync(intel_dp);
> mutex_unlock(&dev_priv->pps_mutex);
> @@ -4327,6 +4335,10 @@ static void intel_dp_encoder_suspend(struct intel_encoder *intel_encoder)
> if (!is_edp(intel_dp))
> return;
>
> + /*
> + * vdd might still be enabled do to the delayed vdd off.
> + * Make sure vdd is actually turned off here.
> + */
> mutex_lock(&dev_priv->pps_mutex);
> edp_panel_vdd_off_sync(intel_dp);
> mutex_unlock(&dev_priv->pps_mutex);
> @@ -5025,6 +5037,10 @@ intel_dp_init_connector(struct intel_digital_port *intel_dig_port,
> drm_dp_aux_unregister(&intel_dp->aux);
> if (is_edp(intel_dp)) {
> cancel_delayed_work_sync(&intel_dp->panel_vdd_work);
> + /*
> + * vdd might still be enabled do to the delayed vdd off.
> + * Make sure vdd is actually turned off here.
> + */
> mutex_lock(&dev_priv->pps_mutex);
> edp_panel_vdd_off_sync(intel_dp);
> mutex_unlock(&dev_priv->pps_mutex);
edp_panel_vdd_off_sync() could also use a clarification similar to the
the rest of the API.
With or without the above changes:
Reviewed-by: Imre Deak <imre.deak@intel.com>
[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2014-09-03 11:52 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-18 19:15 [PATCH 00/14] drm/i915: edp vdd locking and prep for power sequencer kick ville.syrjala
2014-08-18 19:15 ` [PATCH 01/14] drm/i915: Parametrize PANEL_PORT_SELECT_VLV ville.syrjala
2014-08-19 6:58 ` Jani Nikula
2014-08-18 19:15 ` [PATCH 02/14] drm/i915: Reorganize vlv eDP reboot notifier ville.syrjala
2014-08-18 21:28 ` Clint Taylor
2014-08-19 7:00 ` Jani Nikula
2014-08-26 12:58 ` Ville Syrjälä
2014-08-26 13:21 ` Jani Nikula
2014-08-26 13:30 ` Ville Syrjälä
2014-08-26 13:36 ` Daniel Vetter
2014-08-26 14:06 ` Ville Syrjälä
2014-09-04 17:47 ` Clint Taylor
2014-09-05 8:23 ` Ville Syrjälä
2014-08-18 19:15 ` [PATCH 03/14] drm/i915: Use intel_edp_panel_vdd_on() in intel_dp_probe_mst() ville.syrjala
2014-08-19 7:12 ` Jani Nikula
2014-08-18 19:15 ` [PATCH 04/14] drm/i915: Rename edp vdd funcs for consistency ville.syrjala
2014-08-19 7:20 ` Jani Nikula
2014-08-19 10:24 ` [PATCH v2 " ville.syrjala
2014-08-18 19:16 ` [PATCH 05/14] drm/i915: Add a note explaining vdd on/off handling in intel_dp_aux_ch() ville.syrjala
2014-08-19 7:07 ` Jani Nikula
2014-08-18 19:16 ` [PATCH 06/14] drm/i915: Replace big nested if block with early return ville.syrjala
2014-08-19 7:24 ` Jani Nikula
2014-08-18 19:16 ` [PATCH 07/14] drm/i915: Warn about want_panel_vdd in edp_panel_vdd_off_sync() ville.syrjala
2014-08-19 7:36 ` Jani Nikula
2014-08-19 10:39 ` Ville Syrjälä
2014-08-19 13:37 ` Jani Nikula
2014-08-19 17:47 ` [PATCH 15/14] drm/i915: Add comments explaining the vdd on/off functions ville.syrjala
2014-09-03 11:52 ` Imre Deak [this message]
2014-09-04 11:55 ` [PATCH v2 " ville.syrjala
2014-09-04 13:02 ` Daniel Vetter
2014-08-26 9:21 ` [PATCH 07/14] drm/i915: Warn about want_panel_vdd in edp_panel_vdd_off_sync() Daniel Vetter
2014-08-18 19:16 ` [PATCH 08/14] drm/i915: Flatten intel_edp_panel_vdd_on() ville.syrjala
2014-08-19 7:30 ` Jani Nikula
2014-08-19 10:49 ` Ville Syrjälä
2014-08-18 19:16 ` [PATCH 09/14] drm/i915: Fix edp vdd locking ville.syrjala
2014-08-19 17:32 ` [PATCH v2 " ville.syrjala
2014-09-02 13:07 ` Imre Deak
2014-09-04 11:53 ` [PATCH v3 " ville.syrjala
2014-08-18 19:16 ` [PATCH 10/14] drm/i915: Track which port is using which pipe's power sequencer ville.syrjala
2014-08-19 17:45 ` [PATCH 10.1/14] drm/i915: Reset power sequencer pipe tracking when disp2d is off ville.syrjala
2014-08-22 14:21 ` [PATCH v2 " ville.syrjala
2014-09-02 13:47 ` Imre Deak
2014-09-04 11:54 ` [PATCH v3 " ville.syrjala
2014-09-01 11:19 ` [PATCH 10/14] drm/i915: Track which port is using which pipe's power sequencer Antti Koskipää
2014-09-04 11:54 ` [PATCH v2 " ville.syrjala
2014-08-18 19:16 ` [PATCH 11/14] drm/i915: Be more careful when picking the initial power sequencer pipe ville.syrjala
2014-09-02 13:52 ` Imre Deak
2014-09-04 12:59 ` Daniel Vetter
2014-08-18 19:16 ` [PATCH 12/14] drm/i915: Turn on panel power before doing aux transfers ville.syrjala
2014-08-19 7:33 ` Jani Nikula
2014-08-19 10:57 ` Ville Syrjälä
2014-08-26 12:41 ` Daniel Vetter
2014-09-02 14:02 ` Imre Deak
2014-08-18 19:16 ` [PATCH 13/14] drm/i915: Enable DP port earlier ville.syrjala
2014-09-03 11:02 ` Imre Deak
2014-08-18 19:16 ` [PATCH 14/14] drm/i915: Move DP port disable to post_disable for pch platforms ville.syrjala
2014-08-26 9:43 ` Daniel Vetter
2014-09-03 11:20 ` Imre Deak
2014-08-19 7:45 ` [PATCH 00/14] drm/i915: edp vdd locking and prep for power sequencer kick Jani Nikula
2014-08-26 9:37 ` Daniel Vetter
2014-08-19 8:08 ` Jani Nikula
2014-08-19 10:46 ` Ville Syrjälä
2014-08-26 9:35 ` Daniel Vetter
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=1409745161.15662.35.camel@intelbox \
--to=imre.deak@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=ville.syrjala@linux.intel.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.