From: Jani Nikula <jani.nikula@intel.com>
To: Anshuman Gupta <anshuman.gupta@intel.com>
Cc: "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH 06/13] drm/i915/pps: abstract intel_pps_vdd_off_sync
Date: Fri, 08 Jan 2021 19:46:30 +0200 [thread overview]
Message-ID: <87czyfxqx5.fsf@intel.com> (raw)
In-Reply-To: <20201229064751.GD11717@intel.com>
On Tue, 29 Dec 2020, Anshuman Gupta <anshuman.gupta@intel.com> wrote:
> On 2020-12-22 at 20:19:46 +0530, Jani Nikula wrote:
>> Add a locked version of intel_pps_vdd_off_sync_unlocked() that does
>> everything the callers expect it to.
>>
>> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
>> ---
>> drivers/gpu/drm/i915/display/intel_dp.c | 31 +++---------------------
>> drivers/gpu/drm/i915/display/intel_pps.c | 17 ++++++++++++-
>> drivers/gpu/drm/i915/display/intel_pps.h | 2 +-
>> 3 files changed, 20 insertions(+), 30 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
>> index f2794cc4292a..1a34c9351c30 100644
>> --- a/drivers/gpu/drm/i915/display/intel_dp.c
>> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
>> @@ -5809,17 +5809,8 @@ void intel_dp_encoder_flush_work(struct drm_encoder *encoder)
>> struct intel_dp *intel_dp = &dig_port->dp;
>>
>> intel_dp_mst_encoder_cleanup(dig_port);
>> - if (intel_dp_is_edp(intel_dp)) {
>> - intel_wakeref_t wakeref;
>>
>> - 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.
>> - */
>> - with_intel_pps_lock(intel_dp, wakeref)
>> - intel_pps_vdd_off_sync_unlocked(intel_dp);
>> - }
>> + intel_pps_vdd_off_sync(intel_dp);
>>
>> intel_dp_aux_fini(intel_dp);
>> }
>> @@ -5835,18 +5826,8 @@ static void intel_dp_encoder_destroy(struct drm_encoder *encoder)
>> void intel_dp_encoder_suspend(struct intel_encoder *intel_encoder)
>> {
>> struct intel_dp *intel_dp = enc_to_intel_dp(intel_encoder);
>> - intel_wakeref_t wakeref;
>> -
>> - if (!intel_dp_is_edp(intel_dp))
>> - return;
>>
>> - /*
>> - * vdd might still be enabled do to the delayed vdd off.
>> - * Make sure vdd is actually turned off here.
>> - */
>> - cancel_delayed_work_sync(&intel_dp->panel_vdd_work);
>> - with_intel_pps_lock(intel_dp, wakeref)
>> - intel_pps_vdd_off_sync_unlocked(intel_dp);
>> + intel_pps_vdd_off_sync(intel_dp);
>> }
>>
>> void intel_dp_encoder_shutdown(struct intel_encoder *intel_encoder)
>> @@ -6700,13 +6681,7 @@ static bool intel_edp_init_connector(struct intel_dp *intel_dp,
>> return true;
>>
>> out_vdd_off:
>> - 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.
>> - */
>> - with_intel_pps_lock(intel_dp, wakeref)
>> - intel_pps_vdd_off_sync_unlocked(intel_dp);
>> + intel_pps_vdd_off_sync(intel_dp);
>>
>> return false;
>> }
>> diff --git a/drivers/gpu/drm/i915/display/intel_pps.c b/drivers/gpu/drm/i915/display/intel_pps.c
>> index 01c9e69f4e3a..acd6d0092bc6 100644
>> --- a/drivers/gpu/drm/i915/display/intel_pps.c
>> +++ b/drivers/gpu/drm/i915/display/intel_pps.c
>> @@ -641,7 +641,7 @@ void intel_pps_vdd_on(struct intel_dp *intel_dp)
>> dp_to_dig_port(intel_dp)->base.base.name);
>> }
>>
>> -void intel_pps_vdd_off_sync_unlocked(struct intel_dp *intel_dp)
>> +static void intel_pps_vdd_off_sync_unlocked(struct intel_dp *intel_dp)
>> {
>> struct drm_i915_private *dev_priv = dp_to_i915(intel_dp);
>> struct intel_digital_port *dig_port =
>> @@ -682,6 +682,21 @@ void intel_pps_vdd_off_sync_unlocked(struct intel_dp *intel_dp)
>> fetch_and_zero(&intel_dp->vdd_wakeref));
>> }
>>
>> +void intel_pps_vdd_off_sync(struct intel_dp *intel_dp)
>> +{
>> + intel_wakeref_t wakeref;
>> + if (!intel_dp_is_edp(intel_dp))
>> + return;
>> +
>> + cancel_delayed_work_sync(&intel_dp->panel_vdd_work);
>> + /*
>> + * vdd might still be enabled do to the delayed vdd off.
> I belive there is a typo here "do -> due"
I just copy-pasted this over, but fixed in v2.
BR,
Jani.
--
Jani Nikula, Intel Open Source Graphics Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2021-01-08 17:46 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-22 14:49 [Intel-gfx] [PATCH 00/13] drm/i915/dp: split out pps and aux Jani Nikula
2020-12-22 14:49 ` [Intel-gfx] [PATCH 01/13] drm/i915/pps: abstract panel power sequencer from intel_dp.c Jani Nikula
2020-12-28 11:22 ` Gupta, Anshuman
2021-01-04 14:46 ` Jani Nikula
2021-01-08 17:44 ` Jani Nikula
2020-12-22 14:49 ` [Intel-gfx] [PATCH 02/13] drm/i915/pps: rename pps_{, un}lock -> intel_pps_{, un}lock Jani Nikula
2020-12-28 10:57 ` Gupta, Anshuman
2020-12-22 14:49 ` [Intel-gfx] [PATCH 03/13] drm/i915/pps: rename intel_edp_backlight_* to intel_pps_backlight_* Jani Nikula
2020-12-29 6:12 ` Anshuman Gupta
2020-12-22 14:49 ` [Intel-gfx] [PATCH 04/13] drm/i915/pps: rename intel_edp_panel_* to intel_pps_* Jani Nikula
2020-12-29 6:15 ` Anshuman Gupta
2021-01-08 17:45 ` Jani Nikula
2020-12-22 14:49 ` [Intel-gfx] [PATCH 05/13] drm/i915/pps: rename edp_panel_* to intel_pps_*_unlocked Jani Nikula
2020-12-29 6:35 ` Anshuman Gupta
2020-12-22 14:49 ` [Intel-gfx] [PATCH 06/13] drm/i915/pps: abstract intel_pps_vdd_off_sync Jani Nikula
2020-12-29 6:47 ` Anshuman Gupta
2021-01-08 17:46 ` Jani Nikula [this message]
2020-12-22 14:49 ` [Intel-gfx] [PATCH 07/13] drm/i915/pps: add higher level intel_pps_init() call Jani Nikula
2020-12-29 6:53 ` Anshuman Gupta
2020-12-22 14:49 ` [Intel-gfx] [PATCH 08/13] drm/i915/pps: abstract intel_pps_reinit() Jani Nikula
2020-12-29 6:59 ` Anshuman Gupta
2020-12-22 14:49 ` [Intel-gfx] [PATCH 09/13] drm/i915/pps: rename intel_dp_check_edp to intel_pps_check_power_unlocked Jani Nikula
2020-12-29 7:04 ` Anshuman Gupta
2021-01-08 10:33 ` Jani Nikula
2021-01-08 10:59 ` Gupta, Anshuman
2020-12-22 14:49 ` [Intel-gfx] [PATCH 10/13] drm/i915/pps: rename intel_power_sequencer_reset to intel_pps_reset_all Jani Nikula
2020-12-29 7:53 ` Anshuman Gupta
2020-12-22 14:49 ` [Intel-gfx] [PATCH 11/13] drm/i915/pps: add locked intel_pps_wait_power_cycle Jani Nikula
2020-12-29 7:59 ` Anshuman Gupta
2020-12-22 14:49 ` [Intel-gfx] [PATCH 12/13] drm/i915/pps: rename vlv_init_panel_power_sequencer to vlv_pps_init Jani Nikula
2020-12-29 8:01 ` Anshuman Gupta
2020-12-22 14:49 ` [Intel-gfx] [PATCH 13/13] drm/i915/dp: split out aux functionality to intel_dp_aux.c Jani Nikula
2020-12-22 15:57 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/dp: split out pps and aux Patchwork
2020-12-22 16:26 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2020-12-22 21:02 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork
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=87czyfxqx5.fsf@intel.com \
--to=jani.nikula@intel.com \
--cc=anshuman.gupta@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
/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.