All of lore.kernel.org
 help / color / mirror / Atom feed
From: Imre Deak <imre.deak@intel.com>
To: "Gupta, Anshuman" <anshuman.gupta@intel.com>
Cc: igt-dev@lists.freedesktop.org, Jyoti Yadav <jyoti.r.yadav@intel.com>
Subject: Re: [igt-dev] [PATCH i-g-t v12 4/6] tests/i915/i915_pm_dc: Added test for DC5 during DPMS
Date: Tue, 27 Aug 2019 15:14:52 +0300	[thread overview]
Message-ID: <20190827121452.GB7422@ideak-desk.fi.intel.com> (raw)
In-Reply-To: <b0c26588-93cd-ee84-2158-12823b794956@intel.com>

On Tue, Aug 27, 2019 at 05:19:49PM +0530, Gupta, Anshuman wrote:
> 
> 
> On 8/23/2019 8:00 PM, Imre Deak wrote:
> > On Wed, Aug 14, 2019 at 11:16:21PM +0530, Anshuman Gupta wrote:
> > > From: Jyoti Yadav <jyoti.r.yadav@intel.com>
> > > 
> > > Added new subtest for DC5 entry during DPMS on/off cycle.
> > > During DPMS on/off cycle DC5 counter is incremented.
> > > 
> > > v2: Rename the subtest with meaningful name.
> > > v3: Rebased.
> > > v4: Addressed review comments by removing leftover code
> > >      cleanup().
> > > v5: Addressed the review comment by removing redundant
> > >      read_dc_counter() suggested by Imre.
> > >      Listing actual change in patch set changelog to make review easier.
> > > v6: Three way patch applied, no functional change.
> > > v7: Disabling runtime suspend for the platform which support, DC9.
> > >      rebased due to test name pm_dc changed to i915_pm_dc, aligning to
> > >      other PM tests.
> > > v8: Introduced setup_dc_dpms() in order to disable runtime pm, restoring
> > >      POWER_DIR values to its original and enabling runtime pm  for other
> > >      followed sub-tests.
> > > v9: Check DC5 counter value after DPMS off, broke the dpms_on_off
> > >      function to dpms_on and dpms_off. [Imre]
> > > v10:Added AT_LEAST_Gen11 condition instead of IS_ICELAKE in order to
> > >      disable runtime suspend. [Imre]
> > > 
> > > Signed-off-by: Jyoti Yadav <jyoti.r.yadav@intel.com>
> > > Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
> > > ---
> > >   tests/i915/i915_pm_dc.c | 62 +++++++++++++++++++++++++++++++++++++++++
> > >   1 file changed, 62 insertions(+)
> > > 
> > > diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
> > > index f261ecbf..f03d30a8 100644
> > > --- a/tests/i915/i915_pm_dc.c
> > > +++ b/tests/i915/i915_pm_dc.c
> > > @@ -46,6 +46,7 @@ typedef struct {
> > >   	enum psr_mode op_psr_mode;
> > >   	drmModeModeInfo *mode;
> > >   	igt_output_t *output;
> > > +	bool runtime_suspend_disabled;
> > >   } data_t;
> > >   bool dc_state_wait_entry(int drm_fd, int dc_flag, int prev_dc_count);
> > > @@ -173,6 +174,62 @@ static void test_dc_state_psr(data_t *data, int dc_flag)
> > >   	cleanup(data);
> > >   }
> > > +static void setup_dc_dpms(data_t *data)
> > > +{
> > > +	if (IS_BROXTON(data->devid) || IS_GEMINILAKE(data->devid) ||
> > > +	    AT_LEAST_GEN(data->devid, 11)) {
> > > +		data->runtime_suspend_disabled = igt_disable_runtime_pm();
> > > +		igt_require_f(data->runtime_suspend_disabled,
> > > +			      "unable to disable runtime pm for i915\n");
> > > +	} else {
> > > +		data->runtime_suspend_disabled = false;
> > > +	}
> > > +}
> > > +
> > > +static void dpms_off(data_t *data)
> > > +{
> > > +	for (int i = 0; i < data->display.n_outputs; i++) {
> > > +		kmstest_set_connector_dpms(data->drm_fd,
> > > +					   data->display.outputs[i].config.connector,
> > > +					   DRM_MODE_DPMS_OFF);
> > > +	}
> > > +
> > > +	if (!data->runtime_suspend_disabled)
> > > +		igt_assert(igt_wait_for_pm_status
> > > +			   (IGT_RUNTIME_PM_STATUS_SUSPENDED));
> > > +}
> > > +
> > > +static void dpms_on(data_t *data)
> > > +{
> > > +	for (int i = 0; i < data->display.n_outputs; i++) {
> > > +		kmstest_set_connector_dpms(data->drm_fd,
> > > +					   data->display.outputs[i].config.connector,
> > > +					   DRM_MODE_DPMS_ON);
> > > +	}
> > > +
> > > +	if (!data->runtime_suspend_disabled)
> > > +		igt_assert(igt_wait_for_pm_status
> > > +			   (IGT_RUNTIME_PM_STATUS_ACTIVE));
> > > +}
> > > +
> > > +static void test_dc_state_dpms(data_t *data, int dc_flag)
> > > +{
> > > +	uint32_t dc_counter;
> > > +
> > > +	dc_counter = read_dc_counter(data->drm_fd, dc_flag);
> > > +	dpms_off(data);
> > > +	check_dc_counter(data->drm_fd, dc_flag, dc_counter);
> > > +	dpms_on(data);
> > > +
> > > +	/* if runtime PM is disabled for i915 restore it,
> > > +	 * so any other sub-test can use runtime-PM.
> > > +	 */
> > > +	if (data->runtime_suspend_disabled) {
> > > +		igt_restore_runtime_pm();
> > > +		igt_setup_runtime_pm();
> > > +	}
> > 
> > The above restores what setup_dc_dpms() did so could you move it a
> > cleanup_dc_dpms() function for clarity?
> > 
> > > +}
> > > +
> > >   int main(int argc, char *argv[])
> > >   {
> > >   	bool has_runtime_pm;
> > > @@ -210,6 +267,11 @@ int main(int argc, char *argv[])
> > >   		test_dc_state_psr(&data, CHECK_DC6);
> > >   	}
> > > +	igt_subtest("dc5-dpms") {
> > > +		setup_dc_dpms(&data);
> > 
> > Could you move the above call to test_dc_state_dpms() and check for
> I will do this and cleanup_dc_dpms() changes.
> > CHECK_DC5 withing setup_dc_dpms()?
> but i did not understand why do we need to check for CHECK_DC5 (dc flag) in
> setup_dc_dpms(), it is agnostic to DC5 and DC6. dc flag will be require in
> read_dc_counter() and check_dc_counter() function.
> May be it will be clear when i will send entire patch set.

Ah right, missed the dc6 subtest that calls this too. Yes, it's fine to
just do the setup w/o checking for DC5. My point here was just to try to
keep things like the above setup/cleanup functions paired for clarity.

> > 
> > I couldn't spot any other issues so with these changes on the patchset:
> > Reviewed-by: Imre Deak <imre.deak@intel.com>
> > 
> > Could you please resend the whole patchset?
> > 
> > > +		test_dc_state_dpms(&data, CHECK_DC5);
> > > +	}
> > > +
> > >   	igt_fixture {
> > >   		close(data.debugfs_fd);
> > >   		display_fini(&data);
> > > -- 
> > > 2.21.0
> > > 
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

  reply	other threads:[~2019-08-27 12:15 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-21 15:42 [igt-dev] [PATCH i-g-t v12 0/6] DC states igt tests patch series Anshuman Gupta
2019-06-21 15:42 ` [igt-dev] [PATCH i-g-t v12 1/6] lib/igt_pm: igt lib helper routines to support DC5/6 tests Anshuman Gupta
2019-08-14 17:39   ` Anshuman Gupta
2019-08-15 11:52     ` Imre Deak
2019-08-16 10:27     ` Anshuman Gupta
2019-08-23 14:25       ` Imre Deak
2019-08-26  9:52         ` Petri Latvala
2019-06-21 15:42 ` [igt-dev] [PATCH i-g-t v12 2/6] tests/i915/i915_pm_dc: Added new test to verify Display C States Anshuman Gupta
2019-06-21 15:42 ` [igt-dev] [PATCH i-g-t v12 3/6] tests/i915/i915_pm_dc: Added test for DC6 during PSR Anshuman Gupta
2019-06-21 15:42 ` [igt-dev] [PATCH i-g-t v12 4/6] tests/i915/i915_pm_dc: Added test for DC5 during DPMS Anshuman Gupta
2019-08-14 17:46   ` Anshuman Gupta
2019-08-23 14:30     ` Imre Deak
2019-08-27 11:49       ` Gupta, Anshuman
2019-08-27 12:14         ` Imre Deak [this message]
2019-06-21 15:42 ` [igt-dev] [PATCH i-g-t v12 5/6] tests/i915/i915_pm_dc: Added test for DC6 " Anshuman Gupta
2019-06-21 15:42 ` [igt-dev] [PATCH i-g-t v12 6/6] tests/i915/i915_pm_dc:Skip the DC6 test if it doesn't support PC8+ Anshuman Gupta
2019-06-21 18:36 ` [igt-dev] ✗ Fi.CI.BAT: failure for DC states igt tests patch series (rev12) Patchwork
2019-06-22  7:42 ` [igt-dev] ✓ Fi.CI.BAT: success for DC states igt tests patch series (rev13) Patchwork
2019-06-22 10:52 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2019-06-22 15:19 ` [igt-dev] ✓ Fi.CI.BAT: success for DC states igt tests patch series (rev14) Patchwork
2019-06-22 16:45 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2019-08-14 18:04 ` [igt-dev] ✗ GitLab.Pipeline: warning for DC states igt tests patch series (rev16) Patchwork
2019-08-14 18:23 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
2019-08-15  9:22 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2019-08-16 10:54 ` [igt-dev] ✗ GitLab.Pipeline: warning for DC states igt tests patch series (rev17) Patchwork
2019-08-16 11:02 ` [igt-dev] ✓ Fi.CI.BAT: success " Patchwork
2019-08-16 23:49 ` [igt-dev] ✓ Fi.CI.IGT: " 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=20190827121452.GB7422@ideak-desk.fi.intel.com \
    --to=imre.deak@intel.com \
    --cc=anshuman.gupta@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=jyoti.r.yadav@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.