[igt-dev] [PATCH i-g-t v2 1/2] tests/i915_pm_dc: Dump power_domain_info on DC test failures

Souza, Jose jose.souza at intel.com
Wed Feb 26 20:31:40 UTC 2020


On Thu, 2020-02-20 at 21:25 +0000, Souza, Jose wrote:
> On Thu, 2020-02-20 at 18:30 +0530, Anshuman Gupta wrote:
> > Dump i915_power_domain_info debugfs attribute on DC state
> > test failures, it will help to identify culprit, which
> > causes non zero refcount for "DC off" power well.
> > 
> > v2:
> > - Fix the mem leak. [Jose]
> > 
> > Cc: Animesh Manna <animesh.manna at intel.com>
> > Cc: José Roberto de Souza <jose.souza at intel.com>
> > Signed-off-by: Anshuman Gupta <anshuman.gupta at intel.com>
> > ---
> >  tests/i915/i915_pm_dc.c | 9 ++++++++-
> >  1 file changed, 8 insertions(+), 1 deletion(-)
> > 
> > diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
> > index afcc10bc..fc6faa16 100644
> > --- a/tests/i915/i915_pm_dc.c
> > +++ b/tests/i915/i915_pm_dc.c
> > @@ -39,6 +39,10 @@
> >  #define CHECK_DC6	(1 << 1)
> >  #define CHECK_DC3CO	(1 << 2)
> >  
> > +#define PWR_DOMAIN_INFO "i915_power_domain_info"
> > +
> > +char *pwr_dmn_info;
> 
> not sure about this global variable but I also can't think in a
> better
> solution, Animesh any idea?

pass data_t to check_dc_counter() replacing debugfs_fd and move
pwr_dmn_info to data_t.

With that:
Reviewed-by: José Roberto de Souza <jose.souza at intel.com>

> 
> > +
> >  typedef struct {
> >  	double r, g, b;
> >  } color_t;
> > @@ -210,7 +214,8 @@ static void check_dc_counter(int debugfs_fd,
> > int
> > dc_flag, uint32_t prev_dc_count
> >  	snprintf(tmp, sizeof(tmp), "%s", dc_flag & CHECK_DC3CO ?
> > "DC3CO" :
> >  		(dc_flag & CHECK_DC5 ? "DC5" : "DC6"));
> >  	igt_assert_f(dc_state_wait_entry(debugfs_fd, dc_flag,
> > prev_dc_count),
> > -		     "%s state is not achieved\n", tmp);
> > +		     "%s state is not achieved\n%s:\n%s\n", tmp,
> > PWR_DOMAIN_INFO,
> > +		     pwr_dmn_info = igt_sysfs_get(debugfs_fd,
> > PWR_DOMAIN_INFO));
> >  }
> >  
> >  static void setup_videoplayback(data_t *data)
> > @@ -441,6 +446,8 @@ int main(int argc, char *argv[])
> >  	}
> >  
> >  	igt_fixture {
> > +		if (pwr_dmn_info)
> > +			free(pwr_dmn_info);
> 
> nitpick: free() handles NULL, no need of the check here.
> 
> >  		close(data.debugfs_fd);
> >  		close(data.msr_fd);
> >  		display_fini(&data);
> _______________________________________________
> igt-dev mailing list
> igt-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/igt-dev


More information about the igt-dev mailing list