diff mbox

[3/3] drm/i915: Do only one posting read on forcewake get sequence

Message ID 1422449006-4028-3-git-send-email-mika.kuoppala@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Mika Kuoppala Jan. 28, 2015, 12:43 p.m. UTC
Follow the same semantics as in put side where we go through
all domains before doing posting read.

Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
---
 drivers/gpu/drm/i915/intel_uncore.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Chris Wilson Jan. 28, 2015, 12:59 p.m. UTC | #1
On Wed, Jan 28, 2015 at 02:43:26PM +0200, Mika Kuoppala wrote:
> Follow the same semantics as in put side where we go through
> all domains before doing posting read.
> 
> Cc: Chris Wilson <chris@chris-wilson.co.uk>
> Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>

Having just argued that I don't want a posting read here at all (and
that the existing one is just overly paranoid even by our standards), we
can drop this patch as well :)
-Chris
Shuang He Jan. 31, 2015, 7:52 a.m. UTC | #2
Tested-By: PRC QA PRTS (Patch Regression Test System Contact: shuang.he@intel.com)
Task id: 5674
-------------------------------------Summary-------------------------------------
Platform          Delta          drm-intel-nightly          Series Applied
PNV                                  353/353              353/353
ILK                 -2              353/353              351/353
SNB              +1                 400/422              401/422
IVB                                  485/487              485/487
BYT                                  296/296              296/296
HSW              +1-2              507/508              506/508
BDW                                  401/402              401/402
-------------------------------------Detailed-------------------------------------
Platform  Test                                drm-intel-nightly          Series Applied
*ILK  igt_drv_suspend_debugfs-reader      PASS(2, M26)      DMESG_WARN(1, M26)
*ILK  igt_gem_workarounds_suspend-resume      PASS(2, M26)      DMESG_WARN(1, M26)
*SNB  igt_kms_flip_event_leak      NSPT(5, M35M22)      PASS(1, M35)
 HSW  igt_gem_pwrite_pread_snooped-pwrite-blt-cpu_mmap-performance      DMESG_WARN(1, M40)PASS(18, M40M20)      PASS(1, M20)
*HSW  igt_gem_storedw_loop_bsd      PASS(2, M40M20)      DMESG_WARN(1, M20)
 HSW  igt_gem_storedw_loop_vebox      DMESG_WARN(2, M20)PASS(3, M40M20)      DMESG_WARN(1, M20)
Note: You need to pay more attention to line start with '*'
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_uncore.c b/drivers/gpu/drm/i915/intel_uncore.c
index ebd9068..d2423e6 100644
--- a/drivers/gpu/drm/i915/intel_uncore.c
+++ b/drivers/gpu/drm/i915/intel_uncore.c
@@ -144,9 +144,10 @@  fw_domains_get(struct drm_i915_private *dev_priv, enum forcewake_domains fw_doma
 	for_each_fw_domain_mask(d, fw_domains, dev_priv, id) {
 		fw_domain_wait_ack_clear(d);
 		fw_domain_get(d);
-		fw_domain_posting_read(d);
 		fw_domain_wait_ack(d);
 	}
+
+	fw_domains_posting_read(dev_priv);
 }
 
 static void