From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH 1/2] drm/i915: Stop using RP_DOWN_EI on Baytrail Date: Thu, 09 Mar 2017 17:24:14 +0200 Message-ID: <8737em4go1.fsf@gaia.fi.intel.com> References: <20170227141859.26502-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 418A96E05B for ; Thu, 9 Mar 2017 15:24:18 +0000 (UTC) In-Reply-To: <20170227141859.26502-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org Cc: "# v4 . 1+" List-Id: intel-gfx@lists.freedesktop.org Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gT24gQmF5 dHJhaWwsIHdlIG1hbnVhbGx5IGNhbGN1bGF0ZSBidXN5bmVzcyBvdmVyIHRoZSBldmFsdWF0aW9u IGludGVydmFsCj4gdG8gYXZvaWQgaXNzdWVzIHdpdGggbWlzY2FsdWF0aW9ucyB3aXRoIFJDNiBl bmFibGVkLiBIb3dldmVyLCBpdCB0dXJucwo+IG91dCB0aGF0IHRoZSBET1dOX0VJIGludGVycnVw dCBnZW5lcmF0b3IgaXMgY29tcGxldGVseSBidXN0IC0gaXQKPiBvcGVyYXRlcyBpbiB0d28gbW9k ZXMsIGNvbnRpbnVvdXMgb3IgbmV2ZXIuIE5laXRoZXIgb2Ygd2hpY2ggYXJlCj4gY29uZHVjaXZl IHRvIGdvb2QgYmVoYXZpb3VyLiBTdG9wIHVubWFzayB0aGUgRE9XTl9FSSBpbnRlcnJ1cHQgYW5k IGp1c3QKPiBjb21wdXRlIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgVVBfRUkgd2hpY2ggZG9lcyBzZWVt IHRvIGNvcnJlc3BvbmQgdG8gdGhlCj4gZGVzaXJlZCBpbnRlcnZhbC4KPgo+IHYyOiBGaXh1cCBn ZW42X3Jwc19wbV9tYXNrKCkgYXMgd2VsbAo+Cj4gRml4ZXM6IDQzY2YzYmYwODRiYSAoImRybS9p OTE1OiBJbXByb3ZlZCB3L2EgZm9yIHJwcyBvbiBCYXl0cmFpbCIpCj4gU2lnbmVkLW9mZi1ieTog Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IE1pa2EgS3VvcHBh bGEgPG1pa2Eua3VvcHBhbGFAbGludXguaW50ZWwuY29tPgo+IENjOiA8c3RhYmxlQHZnZXIua2Vy bmVsLm9yZz4gIyB2NC4xKwo+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hy aXMtd2lsc29uLmNvLnVrPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o IHwgIDIgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyB8IDI4ICsrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyB8 ICA1ICsrKy0tCj4gIDMgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRp b25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBpbmRleCA5YzViM2RkOWY2ZjEuLmQ3 MGJiYmQ2YTVmZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IEBAIC0xMzY2LDcgKzEz NjYsNyBAQCBzdHJ1Y3QgaW50ZWxfZ2VuNl9wb3dlcl9tZ210IHsKPiAgCXVuc2lnbmVkIGJvb3N0 czsKPiAgCj4gIAkvKiBtYW51YWwgd2EgcmVzaWRlbmN5IGNhbGN1bGF0aW9ucyAqLwo+IC0Jc3Ry dWN0IGludGVsX3Jwc19laSB1cF9laSwgZG93bl9laTsKPiArCXN0cnVjdCBpbnRlbF9ycHNfZWkg ZWk7Cj4gIAo+ICAJLyoKPiAgCSAqIFByb3RlY3RzIFJQUy9SQzYgcmVnaXN0ZXIgYWNjZXNzIGFu ZCBQQ1UgY29tbXVuaWNhdGlvbi4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiBpbmRleCBiYzcw ZTJjNDUxYjIuLjI5YjEwYmFiMzhiNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2lycS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+IEBA IC0xMDUwLDEwICsxMDUwLDEwIEBAIHN0YXRpYyB2b2lkIHZsdl9jMF9yZWFkKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgfQo+ICAKPiAgc3RhdGljIGJvb2wgdmx2X2MwX2Fi b3ZlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAtCQkJIGNvbnN0IHN0cnVj dCBpbnRlbF9ycHNfZWkgKm9sZCwKPiAgCQkJIGNvbnN0IHN0cnVjdCBpbnRlbF9ycHNfZWkgKm5v dywKPiAgCQkJIGludCB0aHJlc2hvbGQpCj4gIHsKPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9ycHNf ZWkgKm9sZCA9ICZkZXZfcHJpdi0+cnBzLmVpOwo+ICAJdTY0IHRpbWUsIGMwOwo+ICAJdW5zaWdu ZWQgaW50IG11bCA9IDEwMDsKPiAgCj4gQEAgLTEwNzksOCArMTA3OSw3IEBAIHN0YXRpYyBib29s IHZsdl9jMF9hYm92ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAo+ICB2 b2lkIGdlbjZfcnBzX3Jlc2V0X2VpKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK PiAgewo+IC0Jdmx2X2MwX3JlYWQoZGV2X3ByaXYsICZkZXZfcHJpdi0+cnBzLmRvd25fZWkpOwo+ IC0JZGV2X3ByaXYtPnJwcy51cF9laSA9IGRldl9wcml2LT5ycHMuZG93bl9laTsKPiArCW1lbXNl dCgmZGV2X3ByaXYtPnJwcy5laSwgMCwgc2l6ZW9mKGRldl9wcml2LT5ycHMuZWkpKTsKCldpdGgg dGhpcyBjaGFuZ2UgeW91IHdpbGwgYWx3YXlzIGRvd25jbG9jayB3aXRoIHRoZSBmaXJzdCBjaGFu Z2UKYWZ0ZXIgcmVzZXQuIElzIHRoaXMgZGVzaXJlZD8gKGR1ZSB0byBidXN5IGhhbmRsaW5nIHRo ZSByYW1wdXA/KS4KCkkgd291bGQgaGF2ZSBtYWRlIGl0IHNvIHRoYXQgdmx2X2MwX2Fib3ZlIHJl dHVybnMgdHJ1ZSBpZgp0aGUgdmFsdWUgd2FzIHJlc2V0LiBUaGVuIHdlIHdvdWxkIGJlIG9uIHRo ZSBzYWZlIHNpZGUgZ29pbmcKdXB3YXJkcyBmb3IgdGhlIGZpcnN0IHRpY2suCgotTWlrYQoKCj4g IH0KPiAgCj4gIHN0YXRpYyB1MzIgdmx2X3dhX2MwX2VpKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwgdTMyIHBtX2lpcikKPiBAQCAtMTA4OCwyOCArMTA4NywxOSBAQCBzdGF0aWMg dTMyIHZsdl93YV9jMF9laShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBw bV9paXIpCj4gIAlzdHJ1Y3QgaW50ZWxfcnBzX2VpIG5vdzsKPiAgCXUzMiBldmVudHMgPSAwOwo+ ICAKPiAtCWlmICgocG1faWlyICYgKEdFTjZfUE1fUlBfRE9XTl9FSV9FWFBJUkVEIHwgR0VONl9Q TV9SUF9VUF9FSV9FWFBJUkVEKSkgPT0gMCkKPiArCWlmICgocG1faWlyICYgR0VONl9QTV9SUF9V UF9FSV9FWFBJUkVEKSA9PSAwKQo+ICAJCXJldHVybiAwOwo+ICAKPiAgCXZsdl9jMF9yZWFkKGRl dl9wcml2LCAmbm93KTsKPiAgCWlmIChub3cuY3pfY2xvY2sgPT0gMCkKPiAgCQlyZXR1cm4gMDsK PiAgCj4gLQlpZiAocG1faWlyICYgR0VONl9QTV9SUF9ET1dOX0VJX0VYUElSRUQpIHsKPiAtCQlp ZiAoIXZsdl9jMF9hYm92ZShkZXZfcHJpdiwKPiAtCQkJCSAgJmRldl9wcml2LT5ycHMuZG93bl9l aSwgJm5vdywKPiAtCQkJCSAgZGV2X3ByaXYtPnJwcy5kb3duX3RocmVzaG9sZCkpCj4gLQkJCWV2 ZW50cyB8PSBHRU42X1BNX1JQX0RPV05fVEhSRVNIT0xEOwo+IC0JCWRldl9wcml2LT5ycHMuZG93 bl9laSA9IG5vdzsKPiAtCX0KPiArCWlmICh2bHZfYzBfYWJvdmUoZGV2X3ByaXYsICZub3csIGRl dl9wcml2LT5ycHMudXBfdGhyZXNob2xkKSkKPiArCQlldmVudHMgfD0gR0VONl9QTV9SUF9VUF9U SFJFU0hPTEQ7Cj4gKwllbHNlIGlmICghdmx2X2MwX2Fib3ZlKGRldl9wcml2LCAmbm93LCBkZXZf cHJpdi0+cnBzLmRvd25fdGhyZXNob2xkKSkKPiArCQlldmVudHMgfD0gR0VONl9QTV9SUF9ET1dO X1RIUkVTSE9MRDsKPiAgCj4gLQlpZiAocG1faWlyICYgR0VONl9QTV9SUF9VUF9FSV9FWFBJUkVE KSB7Cj4gLQkJaWYgKHZsdl9jMF9hYm92ZShkZXZfcHJpdiwKPiAtCQkJCSAmZGV2X3ByaXYtPnJw cy51cF9laSwgJm5vdywKPiAtCQkJCSBkZXZfcHJpdi0+cnBzLnVwX3RocmVzaG9sZCkpCj4gLQkJ CWV2ZW50cyB8PSBHRU42X1BNX1JQX1VQX1RIUkVTSE9MRDsKPiAtCQlkZXZfcHJpdi0+cnBzLnVw X2VpID0gbm93Owo+IC0JfQo+ICsJZGV2X3ByaXYtPnJwcy5laSA9IG5vdzsKPiAgCj4gIAlyZXR1 cm4gZXZlbnRzOwo+ICB9Cj4gQEAgLTQyNTAsNyArNDI0MCw3IEBAIHZvaWQgaW50ZWxfaXJxX2lu aXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJLyogTGV0J3MgdHJhY2sg dGhlIGVuYWJsZWQgcnBzIGV2ZW50cyAqLwo+ICAJaWYgKElTX1ZBTExFWVZJRVcoZGV2X3ByaXYp KQo+ICAJCS8qIFdhR3N2UkMwUmVzaWRlbmN5TWV0aG9kOnZsdiAqLwo+IC0JCWRldl9wcml2LT5w bV9ycHNfZXZlbnRzID0gR0VONl9QTV9SUF9ET1dOX0VJX0VYUElSRUQgfCBHRU42X1BNX1JQX1VQ X0VJX0VYUElSRUQ7Cj4gKwkJZGV2X3ByaXYtPnBtX3Jwc19ldmVudHMgPSBHRU42X1BNX1JQX1VQ X0VJX0VYUElSRUQ7Cj4gIAllbHNlCj4gIAkJZGV2X3ByaXYtPnBtX3Jwc19ldmVudHMgPSBHRU42 X1BNX1JQU19FVkVOVFM7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+IGluZGV4IGFjMGNk ODJmNjFlNS4uNTY0NzI5MDVkNzgyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gQEAg LTQ5MTYsOCArNDkxNiw5IEBAIHN0YXRpYyB1MzIgZ2VuNl9ycHNfcG1fbWFzayhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHU4IHZhbCkKPiAgewo+ICAJdTMyIG1hc2sgPSAwOwo+ ICAKPiArCS8qIFdlIHVzZSBVUF9FSV9FWFBJUkVEIGludGVydXB0cyBmb3IgYm90aCB1cC9kb3du IGluIG1hbnVhbCBtb2RlICovCj4gIAlpZiAodmFsID4gZGV2X3ByaXYtPnJwcy5taW5fZnJlcV9z b2Z0bGltaXQpCj4gLQkJbWFzayB8PSBHRU42X1BNX1JQX0RPV05fRUlfRVhQSVJFRCB8IEdFTjZf UE1fUlBfRE9XTl9USFJFU0hPTEQgfCBHRU42X1BNX1JQX0RPV05fVElNRU9VVDsKPiArCQltYXNr IHw9IEdFTjZfUE1fUlBfVVBfRUlfRVhQSVJFRCB8IEdFTjZfUE1fUlBfRE9XTl9USFJFU0hPTEQg fCBHRU42X1BNX1JQX0RPV05fVElNRU9VVDsKPiAgCWlmICh2YWwgPCBkZXZfcHJpdi0+cnBzLm1h eF9mcmVxX3NvZnRsaW1pdCkKPiAgCQltYXNrIHw9IEdFTjZfUE1fUlBfVVBfRUlfRVhQSVJFRCB8 IEdFTjZfUE1fUlBfVVBfVEhSRVNIT0xEOwo+ICAKPiBAQCAtNTAyNyw3ICs1MDI4LDcgQEAgdm9p ZCBnZW42X3Jwc19idXN5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCWlm IChkZXZfcHJpdi0+cnBzLmVuYWJsZWQpIHsKPiAgCQl1OCBmcmVxOwo+ICAKPiAtCQlpZiAoZGV2 X3ByaXYtPnBtX3Jwc19ldmVudHMgJiAoR0VONl9QTV9SUF9ET1dOX0VJX0VYUElSRUQgfCBHRU42 X1BNX1JQX1VQX0VJX0VYUElSRUQpKQo+ICsJCWlmIChkZXZfcHJpdi0+cG1fcnBzX2V2ZW50cyAm IEdFTjZfUE1fUlBfVVBfRUlfRVhQSVJFRCkKPiAgCQkJZ2VuNl9ycHNfcmVzZXRfZWkoZGV2X3By aXYpOwo+ICAJCUk5MTVfV1JJVEUoR0VONl9QTUlOVFJNU0ssCj4gIAkJCSAgIGdlbjZfcnBzX3Bt X21hc2soZGV2X3ByaXYsIGRldl9wcml2LT5ycHMuY3VyX2ZyZXEpKTsKPiAtLSAKPiAyLjExLjAK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com ([134.134.136.31]:14013 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752737AbdCIPZQ (ORCPT ); Thu, 9 Mar 2017 10:25:16 -0500 From: Mika Kuoppala To: Chris Wilson , intel-gfx@lists.freedesktop.org Cc: Chris Wilson , "# v4 . 1+" Subject: Re: [PATCH 1/2] drm/i915: Stop using RP_DOWN_EI on Baytrail In-Reply-To: <20170227141859.26502-1-chris@chris-wilson.co.uk> References: <20170227141859.26502-1-chris@chris-wilson.co.uk> Date: Thu, 09 Mar 2017 17:24:14 +0200 Message-ID: <8737em4go1.fsf@gaia.fi.intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: stable-owner@vger.kernel.org List-ID: Chris Wilson writes: > On Baytrail, we manually calculate busyness over the evaluation interval > to avoid issues with miscaluations with RC6 enabled. However, it turns > out that the DOWN_EI interrupt generator is completely bust - it > operates in two modes, continuous or never. Neither of which are > conducive to good behaviour. Stop unmask the DOWN_EI interrupt and just > compute everything from the UP_EI which does seem to correspond to the > desired interval. > > v2: Fixup gen6_rps_pm_mask() as well > > Fixes: 43cf3bf084ba ("drm/i915: Improved w/a for rps on Baytrail") > Signed-off-by: Chris Wilson > Cc: Mika Kuoppala > Cc: # v4.1+ > Signed-off-by: Chris Wilson > --- > drivers/gpu/drm/i915/i915_drv.h | 2 +- > drivers/gpu/drm/i915/i915_irq.c | 28 +++++++++------------------- > drivers/gpu/drm/i915/intel_pm.c | 5 +++-- > 3 files changed, 13 insertions(+), 22 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index 9c5b3dd9f6f1..d70bbbd6a5fd 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -1366,7 +1366,7 @@ struct intel_gen6_power_mgmt { > unsigned boosts; > > /* manual wa residency calculations */ > - struct intel_rps_ei up_ei, down_ei; > + struct intel_rps_ei ei; > > /* > * Protects RPS/RC6 register access and PCU communication. > diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c > index bc70e2c451b2..29b10bab38b6 100644 > --- a/drivers/gpu/drm/i915/i915_irq.c > +++ b/drivers/gpu/drm/i915/i915_irq.c > @@ -1050,10 +1050,10 @@ static void vlv_c0_read(struct drm_i915_private *dev_priv, > } > > static bool vlv_c0_above(struct drm_i915_private *dev_priv, > - const struct intel_rps_ei *old, > const struct intel_rps_ei *now, > int threshold) > { > + const struct intel_rps_ei *old = &dev_priv->rps.ei; > u64 time, c0; > unsigned int mul = 100; > > @@ -1079,8 +1079,7 @@ static bool vlv_c0_above(struct drm_i915_private *dev_priv, > > void gen6_rps_reset_ei(struct drm_i915_private *dev_priv) > { > - vlv_c0_read(dev_priv, &dev_priv->rps.down_ei); > - dev_priv->rps.up_ei = dev_priv->rps.down_ei; > + memset(&dev_priv->rps.ei, 0, sizeof(dev_priv->rps.ei)); With this change you will always downclock with the first change after reset. Is this desired? (due to busy handling the rampup?). I would have made it so that vlv_c0_above returns true if the value was reset. Then we would be on the safe side going upwards for the first tick. -Mika > } > > static u32 vlv_wa_c0_ei(struct drm_i915_private *dev_priv, u32 pm_iir) > @@ -1088,28 +1087,19 @@ static u32 vlv_wa_c0_ei(struct drm_i915_private *dev_priv, u32 pm_iir) > struct intel_rps_ei now; > u32 events = 0; > > - if ((pm_iir & (GEN6_PM_RP_DOWN_EI_EXPIRED | GEN6_PM_RP_UP_EI_EXPIRED)) == 0) > + if ((pm_iir & GEN6_PM_RP_UP_EI_EXPIRED) == 0) > return 0; > > vlv_c0_read(dev_priv, &now); > if (now.cz_clock == 0) > return 0; > > - if (pm_iir & GEN6_PM_RP_DOWN_EI_EXPIRED) { > - if (!vlv_c0_above(dev_priv, > - &dev_priv->rps.down_ei, &now, > - dev_priv->rps.down_threshold)) > - events |= GEN6_PM_RP_DOWN_THRESHOLD; > - dev_priv->rps.down_ei = now; > - } > + if (vlv_c0_above(dev_priv, &now, dev_priv->rps.up_threshold)) > + events |= GEN6_PM_RP_UP_THRESHOLD; > + else if (!vlv_c0_above(dev_priv, &now, dev_priv->rps.down_threshold)) > + events |= GEN6_PM_RP_DOWN_THRESHOLD; > > - if (pm_iir & GEN6_PM_RP_UP_EI_EXPIRED) { > - if (vlv_c0_above(dev_priv, > - &dev_priv->rps.up_ei, &now, > - dev_priv->rps.up_threshold)) > - events |= GEN6_PM_RP_UP_THRESHOLD; > - dev_priv->rps.up_ei = now; > - } > + dev_priv->rps.ei = now; > > return events; > } > @@ -4250,7 +4240,7 @@ void intel_irq_init(struct drm_i915_private *dev_priv) > /* Let's track the enabled rps events */ > if (IS_VALLEYVIEW(dev_priv)) > /* WaGsvRC0ResidencyMethod:vlv */ > - dev_priv->pm_rps_events = GEN6_PM_RP_DOWN_EI_EXPIRED | GEN6_PM_RP_UP_EI_EXPIRED; > + dev_priv->pm_rps_events = GEN6_PM_RP_UP_EI_EXPIRED; > else > dev_priv->pm_rps_events = GEN6_PM_RPS_EVENTS; > > diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c > index ac0cd82f61e5..56472905d782 100644 > --- a/drivers/gpu/drm/i915/intel_pm.c > +++ b/drivers/gpu/drm/i915/intel_pm.c > @@ -4916,8 +4916,9 @@ static u32 gen6_rps_pm_mask(struct drm_i915_private *dev_priv, u8 val) > { > u32 mask = 0; > > + /* We use UP_EI_EXPIRED interupts for both up/down in manual mode */ > if (val > dev_priv->rps.min_freq_softlimit) > - mask |= GEN6_PM_RP_DOWN_EI_EXPIRED | GEN6_PM_RP_DOWN_THRESHOLD | GEN6_PM_RP_DOWN_TIMEOUT; > + mask |= GEN6_PM_RP_UP_EI_EXPIRED | GEN6_PM_RP_DOWN_THRESHOLD | GEN6_PM_RP_DOWN_TIMEOUT; > if (val < dev_priv->rps.max_freq_softlimit) > mask |= GEN6_PM_RP_UP_EI_EXPIRED | GEN6_PM_RP_UP_THRESHOLD; > > @@ -5027,7 +5028,7 @@ void gen6_rps_busy(struct drm_i915_private *dev_priv) > if (dev_priv->rps.enabled) { > u8 freq; > > - if (dev_priv->pm_rps_events & (GEN6_PM_RP_DOWN_EI_EXPIRED | GEN6_PM_RP_UP_EI_EXPIRED)) > + if (dev_priv->pm_rps_events & GEN6_PM_RP_UP_EI_EXPIRED) > gen6_rps_reset_ei(dev_priv); > I915_WRITE(GEN6_PMINTRMSK, > gen6_rps_pm_mask(dev_priv, dev_priv->rps.cur_freq)); > -- > 2.11.0