From: Anshuman Gupta <anshuman.gupta@intel.com>
To: igt-dev@lists.freedesktop.org
Subject: [igt-dev] [PATCH i-g-t v3 1/2] tests/i915_pm_dc: Dump power_domain_info on DC test failures
Date: Sat, 29 Feb 2020 22:34:37 +0530 [thread overview]
Message-ID: <20200229170438.28820-2-anshuman.gupta@intel.com> (raw)
In-Reply-To: <20200229170438.28820-1-anshuman.gupta@intel.com>
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]
v3:
- Removed pwr_dmn_info global. [Jose]
Cc: Animesh Manna <animesh.manna@intel.com>
Cc: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Anshuman Gupta <anshuman.gupta@intel.com>
---
tests/i915/i915_pm_dc.c | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/tests/i915/i915_pm_dc.c b/tests/i915/i915_pm_dc.c
index afcc10bc..d27ba0a7 100644
--- a/tests/i915/i915_pm_dc.c
+++ b/tests/i915/i915_pm_dc.c
@@ -39,6 +39,8 @@
#define CHECK_DC6 (1 << 1)
#define CHECK_DC3CO (1 << 2)
+#define PWR_DOMAIN_INFO "i915_power_domain_info"
+
typedef struct {
double r, g, b;
} color_t;
@@ -48,6 +50,7 @@ typedef struct {
int msr_fd;
int debugfs_fd;
uint32_t devid;
+ char *pwr_dmn_info;
igt_display_t display;
struct igt_fb fb_white, fb_rgb, fb_rgr;
enum psr_mode op_psr_mode;
@@ -57,7 +60,7 @@ typedef struct {
} data_t;
static bool dc_state_wait_entry(int drm_fd, int dc_flag, int prev_dc_count);
-static void check_dc_counter(int drm_fd, int dc_flag, uint32_t prev_dc_count);
+static void check_dc_counter(data_t *data, int dc_flag, uint32_t prev_dc_count);
static void setup_output(data_t *data)
{
@@ -203,14 +206,15 @@ static bool dc_state_wait_entry(int debugfs_fd, int dc_flag, int prev_dc_count)
prev_dc_count, 3000, 100);
}
-static void check_dc_counter(int debugfs_fd, int dc_flag, uint32_t prev_dc_count)
+static void check_dc_counter(data_t *data, int dc_flag, uint32_t prev_dc_count)
{
char tmp[64];
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);
+ igt_assert_f(dc_state_wait_entry(data->debugfs_fd, dc_flag, prev_dc_count),
+ "%s state is not achieved\n%s:\n%s\n", tmp, PWR_DOMAIN_INFO,
+ data->pwr_dmn_info = igt_sysfs_get(data->debugfs_fd, PWR_DOMAIN_INFO));
}
static void setup_videoplayback(data_t *data)
@@ -256,7 +260,7 @@ static void check_dc3co_with_videoplayback_like_load(data_t *data)
usleep(delay);
}
- check_dc_counter(data->debugfs_fd, CHECK_DC3CO, dc3co_prev_cnt);
+ check_dc_counter(data, CHECK_DC3CO, dc3co_prev_cnt);
}
static void require_dc_counter(int debugfs_fd, int dc_flag)
@@ -311,7 +315,7 @@ static void test_dc_state_psr(data_t *data, int dc_flag)
setup_output(data);
setup_primary(data);
igt_assert(psr_wait_entry(data->debugfs_fd, data->op_psr_mode));
- check_dc_counter(data->debugfs_fd, dc_flag, dc_counter_before_psr);
+ check_dc_counter(data, dc_flag, dc_counter_before_psr);
cleanup_dc_psr(data);
}
@@ -372,7 +376,7 @@ static void test_dc_state_dpms(data_t *data, int dc_flag)
setup_dc_dpms(data);
dc_counter = read_dc_counter(data->debugfs_fd, dc_flag);
dpms_off(data);
- check_dc_counter(data->debugfs_fd, dc_flag, dc_counter);
+ check_dc_counter(data, dc_flag, dc_counter);
dpms_on(data);
cleanup_dc_dpms(data);
}
@@ -441,6 +445,7 @@ int main(int argc, char *argv[])
}
igt_fixture {
+ free(data.pwr_dmn_info);
close(data.debugfs_fd);
close(data.msr_fd);
display_fini(&data);
--
2.25.1
_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev
next prev parent reply other threads:[~2020-02-29 17:15 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-29 17:04 [igt-dev] [PATCH i-g-t v3 0/2] DC states IGT misc Anshuman Gupta
2020-02-29 17:04 ` Anshuman Gupta [this message]
2020-02-29 17:04 ` [igt-dev] [PATCH i-g-t v3 2/2] tests/i915_pm_dc: psr required only for dc*-psr tests Anshuman Gupta
2020-02-29 18:00 ` [igt-dev] ✓ Fi.CI.BAT: success for DC states IGT misc (rev4) Patchwork
2020-03-02 6:11 ` [igt-dev] ✗ Fi.CI.IGT: failure " Patchwork
2020-03-02 8:40 ` Anshuman Gupta
2020-03-02 12:16 ` Vudum, Lakshminarayana
2020-03-02 20:29 ` Souza, Jose
2020-03-02 20:29 ` Souza, Jose
2020-03-03 3:32 ` Anshuman Gupta
2020-03-04 1:32 ` Souza, Jose
2020-03-04 5:02 ` Anshuman Gupta
2020-03-02 11:53 ` [igt-dev] ✓ Fi.CI.IGT: success " 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=20200229170438.28820-2-anshuman.gupta@intel.com \
--to=anshuman.gupta@intel.com \
--cc=igt-dev@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.