[igt-dev] [PATCH i-g-t 6/6] tools/intel_watermark: Clean up the platform checks in the ilk+ code

Ville Syrjala ville.syrjala at linux.intel.com
Mon Jan 28 20:01:26 UTC 2019


From: Ville Syrjälä <ville.syrjala at linux.intel.com>

Replace the old hand rolled platform check funcs with somehting
more standard.

Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
 tools/intel_watermark.c | 42 ++++++++++++++++-------------------------
 1 file changed, 16 insertions(+), 26 deletions(-)

diff --git a/tools/intel_watermark.c b/tools/intel_watermark.c
index 6a47b33c438c..e71c3d9cff6d 100644
--- a/tools/intel_watermark.c
+++ b/tools/intel_watermark.c
@@ -125,16 +125,6 @@ static char endis_ast(bool enabled)
 	return enabled ? '*' : ' ';
 }
 
-static int is_gen7_plus(uint32_t d)
-{
-	return !(IS_GEN5(d) || IS_GEN6(d));
-}
-
-static int is_hsw_plus(uint32_t d)
-{
-	return !(IS_GEN5(d) || IS_GEN6(d) || IS_IVYBRIDGE(d));
-}
-
 static int skl_num_planes(uint32_t d, int pipe)
 {
 	if (IS_GEN11(d))
@@ -476,14 +466,14 @@ static void ilk_wm_dump(void)
 	uint32_t wm_lp[3];
 	uint32_t wm_lp_spr[3];
 	uint32_t arb_ctl, arb_ctl2, wm_misc = 0;
-	int num_pipes = is_gen7_plus(devid) ? 3 : 2;
+	int num_pipes = intel_gen(devid) >= 7 ? 3 : 2;
 	struct ilk_wm wm = {};
 
 	intel_register_access_init(intel_get_pci_device(), 0, -1);
 
 	for (i = 0; i < num_pipes; i++) {
 		dspcntr[i] = read_reg(0x70180 + i * 0x1000);
-		if (is_gen7_plus(devid))
+		if (intel_gen(devid) >= 7)
 			spcntr[i] = read_reg(0x70280 + i * 0x1000);
 		else
 			spcntr[i] = read_reg(0x72180 + i * 0x1000);
@@ -494,7 +484,7 @@ static void ilk_wm_dump(void)
 	if (num_pipes == 3)
 		wm_pipe[2] = read_reg(0x45200);
 
-	if (is_hsw_plus(devid)) {
+	if (IS_BROADWELL(devid) || IS_HASWELL(devid)) {
 		wm_linetime[0] = read_reg(0x45270);
 		wm_linetime[1] = read_reg(0x45274);
 		wm_linetime[2] = read_reg(0x45278);
@@ -505,21 +495,21 @@ static void ilk_wm_dump(void)
 	wm_lp[2] = read_reg(0x45110);
 
 	wm_lp_spr[0] = read_reg(0x45120);
-	if (is_gen7_plus(devid)) {
+	if (intel_gen(devid) >= 7) {
 		wm_lp_spr[1] = read_reg(0x45124);
 		wm_lp_spr[2] = read_reg(0x45128);
 	}
 
 	arb_ctl = read_reg(0x45000);
 	arb_ctl2 = read_reg(0x45004);
-	if (is_hsw_plus(devid))
+	if (IS_BROADWELL(devid) || IS_HASWELL(devid))
 		wm_misc = read_reg(0x45260);
 
 	intel_register_access_fini();
 
 	for (i = 0; i < num_pipes; i++)
 		printf("    WM_PIPE_%c = 0x%08x\n", pipe_name(i), wm_pipe[i]);
-	if (is_hsw_plus(devid)) {
+	if (IS_BROADWELL(devid) || IS_HASWELL(devid)) {
 		for (i = 0; i < num_pipes; i++)
 			printf("WM_LINETIME_%c = 0x%08x\n", pipe_name(i), wm_linetime[i]);
 	}
@@ -527,13 +517,13 @@ static void ilk_wm_dump(void)
 	printf("       WM_LP2 = 0x%08x\n", wm_lp[1]);
 	printf("       WM_LP3 = 0x%08x\n", wm_lp[2]);
 	printf("   WM_LP1_SPR = 0x%08x\n", wm_lp_spr[0]);
-	if (is_gen7_plus(devid)) {
+	if (intel_gen(devid) >= 7) {
 		printf("   WM_LP2_SPR = 0x%08x\n", wm_lp_spr[1]);
 		printf("   WM_LP3_SPR = 0x%08x\n", wm_lp_spr[2]);
 	}
 	printf("      ARB_CTL = 0x%08x\n", arb_ctl);
 	printf("     ARB_CTL2 = 0x%08x\n", arb_ctl2);
-	if (is_hsw_plus(devid))
+	if (IS_BROADWELL(devid) || IS_HASWELL(devid))
 		printf("      WM_MISC = 0x%08x\n", wm_misc);
 
 	for (i = 0 ; i < num_pipes; i++) {
@@ -541,7 +531,7 @@ static void ilk_wm_dump(void)
 		wm.pipe[i].sprite = REG_DECODE1(wm_pipe[i], 8, 8);
 		wm.pipe[i].cursor = REG_DECODE1(wm_pipe[i], 0, 6);
 
-		if (is_hsw_plus(devid)) {
+		if (IS_BROADWELL(devid) || IS_HASWELL(devid)) {
 			wm.linetime[i].linetime = REG_DECODE1(wm_linetime[i], 0, 9);
 			wm.linetime[i].ips = REG_DECODE1(wm_linetime[i], 16, 9);
 		}
@@ -556,15 +546,15 @@ static void ilk_wm_dump(void)
 	for (i = 0; i < 3; i++) {
 		wm.lp[i].enabled = REG_DECODE1(wm_lp[i], 31, 1);
 		wm.lp[i].latency = REG_DECODE1(wm_lp[i], 24, 7);
-		if (IS_GEN8(devid))
+		if (IS_BROADWELL(devid))
 			wm.lp[i].fbc = REG_DECODE1(wm_lp[i], 19, 5);
 		else
 			wm.lp[i].fbc = REG_DECODE1(wm_lp[i], 20, 4);
 		wm.lp[i].primary = REG_DECODE1(wm_lp[i], 8, 11);
 		wm.lp[i].cursor = REG_DECODE1(wm_lp[i], 0, 8);
 
-		if (i == 0 || is_gen7_plus(devid)) {
-			if (!is_gen7_plus(devid))
+		if (i == 0 || intel_gen(devid) >= 7) {
+			if (intel_gen(devid) < 7)
 				wm.lp[i].sprite_enabled = REG_DECODE1(wm_lp_spr[i], 31, 1);
 			wm.lp[i].sprite = REG_DECODE1(wm_lp_spr[i], 0, 11);
 		}
@@ -574,7 +564,7 @@ static void ilk_wm_dump(void)
 		printf("WM_PIPE_%c: primary=%d, cursor=%d, sprite=%d\n",
 		       pipe_name(i), wm.pipe[i].primary, wm.pipe[i].cursor, wm.pipe[i].sprite);
 	}
-	if (is_hsw_plus(devid)) {
+	if (IS_BROADWELL(devid) || IS_HASWELL(devid)) {
 		for (i = 0; i < num_pipes; i++) {
 			printf("WM_LINETIME_%c: line time=%d (%.3f usec), ips line time=%d (%.3f usec)\n",
 			       pipe_name(i),
@@ -582,7 +572,7 @@ static void ilk_wm_dump(void)
 			       wm.linetime[i].ips, wm.linetime[i].ips * 0.125f);
 		}
 	}
-	if (is_gen7_plus(devid)) {
+	if (intel_gen(devid) >= 7) {
 		for (i = 0; i < 3; i++) {
 			printf("WM_LP%d: %s, latency=%d, fbc=%d, primary=%d, cursor=%d, sprite=%d\n",
 			       i + 1, endis(wm.lp[i].enabled), wm.lp[i].latency, wm.lp[i].fbc,
@@ -607,10 +597,10 @@ static void ilk_wm_dump(void)
 			printf("Sprite %c trickle feed = %s\n",
 			       pipe_name(i), endis(!wm.pipe[i].sprite_trickle_feed_dis));
 	}
-	if (is_hsw_plus(devid)) {
+	if (IS_BROADWELL(devid) || IS_HASWELL(devid)) {
 		printf("DDB partitioning = %s\n",
 		       REG_DECODE1(wm_misc, 0, 1) ? "5/6" : "1/2");
-	} else if (is_gen7_plus(devid)) {
+	} else if (intel_gen(devid) >= 7) {
 		printf("DDB partitioning = %s\n",
 		       REG_DECODE1(arb_ctl2, 6, 1) ? "5/6" : "1/2");
 	}
-- 
2.19.2



More information about the igt-dev mailing list