From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH v2 05/10] drm/i915/gen9: Get rid of redundant watermark values Date: Thu, 13 Oct 2016 17:07:22 -0300 Message-ID: <1476389242.2478.33.camel@intel.com> References: <1475885497-6094-1-git-send-email-cpaul@redhat.com> <1475885497-6094-6-git-send-email-cpaul@redhat.com> <1476389043.2478.30.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1476389043.2478.30.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Maarten Lankhorst , Lyude , intel-gfx@lists.freedesktop.org Cc: David Airlie , Daniel Vetter , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RW0gUXVpLCAyMDE2LTEwLTEzIMOgcyAxNzowNCAtMDMwMCwgUGF1bG8gWmFub25pIGVzY3JldmV1 Ogo+IEVtIFF1aSwgMjAxNi0xMC0xMyDDoHMgMTU6MzkgKzAyMDAsIE1hYXJ0ZW4gTGFua2hvcnN0 IGVzY3JldmV1Ogo+ID4gCj4gPiBPcCAwOC0xMC0xNiBvbSAwMjoxMSBzY2hyZWVmIEx5dWRlOgo+ ID4gPiAKPiA+ID4gCj4gPiA+IE5vdyB0aGF0IHdlJ3ZlIG1ha2Ugc2tsX3dtX2xldmVscyBtYWtl IGEgbGl0dGxlIG1vcmUgc2Vuc2UsIHdlCj4gPiA+IGNhbgo+ID4gPiByZW1vdmUgYWxsIG9mIHRo ZSByZWR1bmRhbnQgd20gaW5mb3JtYXRpb24uIFVwIHVudGlsIG5vdyB3ZSdkCj4gPiA+IGJlZW4K PiA+ID4gc3RvcmluZyB0d28gY29waWVzIG9mIGFsbCBvZiB0aGUgc2tsIHdhdGVybWFya3M6IG9u ZSBiZWluZyB0aGUKPiA+ID4gc2tsX3BpcGVfd20gc3RydWN0cywgdGhlIG90aGVyIGJlaW5nIHRo ZSBnbG9iYWwgd20gc3RydWN0IGluCj4gPiA+IGRybV9pOTE1X3ByaXZhdGUgY29udGFpbmluZyB0 aGUgcmF3IHJlZ2lzdGVyIHZhbHVlcy4gVGhpcyBpcwo+ID4gPiBjb25mdXNpbmcKPiA+ID4gYW5k IHByb2JsZW1hdGljLCBzaW5jZSBpdCBtZWFucyB3ZSdyZSBwcm9uZSB0byBhY2NpZGVudGFsbHkK PiA+ID4gbGV0dGluZwo+ID4gPiB0aGUKPiA+ID4gdHdvIGNvcGllcyBnbyBvdXQgb2Ygc3luYy4g U28sIGdldCByaWQgb2YgYWxsIG9mIHRoZSBmdW5jdGlvbnMKPiA+ID4gcmVzcG9uc2libGUgZm9y IGNvbXB1dGluZyB0aGUgcmVnaXN0ZXIgdmFsdWVzIGFuZCBqdXN0IHVzZSBhCj4gPiA+IHNpbmds ZQo+ID4gPiBoZWxwZXIsIHNrbF93cml0ZV93bV9sZXZlbCgpLCB0byBjb252ZXJ0IGFuZCB3cml0 ZSB0aGUgbmV3Cj4gPiA+IHdhdGVybWFya3Mgb24KPiA+ID4gdGhlIGZseS4KPiA+ID4gCj4gPiA+ IENoYW5nZXMgc2luY2UgdjE6Cj4gPiA+IC0gRml4dXAgc2tsX3dyaXRlX3dtX2xldmVsKCkKPiA+ ID4gLSBGaXh1cCBza2xfd21fbGV2ZWxfZnJvbV9yZWdfdmFsKCkKPiA+ID4gLSBEb24ndCBmb3Jn ZXQgdG8gY29weSAqYWN0aXZlIHRvIGludGVsX2NydGMtPndtLmFjdGl2ZS5za2wKPiA+ID4gCj4g PiA+IFNpZ25lZC1vZmYtYnk6IEx5dWRlIDxjcGF1bEByZWRoYXQuY29tPgo+ID4gPiBSZXZpZXdl ZC1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bQo+ID4gPiA+Cj4gPiA+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXgu aW50ZWwuY29tPgo+ID4gPiBDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5j b20+Cj4gPiA+IC0tLQo+ID4gPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmjCoMKg wqDCoMKgwqB8wqDCoMKgMiAtCj4gPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jIHzCoMKgMTQgKystCj4gPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmjCoMKgwqDCoMKgfMKgwqDCoDYgKy0KPiA+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wbS5jwqDCoMKgwqDCoMKgfCAyMDQgKysrKysrKysrKysrLS0tLS0tLS0tCj4gPiA+IC0tCj4g PiA+IC0tLS0tLS0tLS0tLQo+ID4gPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0 ZS5jwqDCoHzCoMKgwqA4ICstCj4gPiA+IMKgNSBmaWxlcyBjaGFuZ2VkLCA5MCBpbnNlcnRpb25z KCspLCAxNDQgZGVsZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKPiA+ID4gaW5kZXggMDI4N2M5My4uNzY1ODNiMiAxMDA2NDQKPiA+ID4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCj4gPiA+IEBAIC0xNjQ0LDggKzE2NDQsNiBAQCBzdHJ1Y3Qgc2tsX2Rk Yl9hbGxvY2F0aW9uIHsKPiA+ID4gwqBzdHJ1Y3Qgc2tsX3dtX3ZhbHVlcyB7Cj4gPiA+IMKgCXVu c2lnbmVkIGRpcnR5X3BpcGVzOwo+ID4gPiDCoAlzdHJ1Y3Qgc2tsX2RkYl9hbGxvY2F0aW9uIGRk YjsKPiA+ID4gLQl1aW50MzJfdCBwbGFuZVtJOTE1X01BWF9QSVBFU11bSTkxNV9NQVhfUExBTkVT XVs4XTsKPiA+ID4gLQl1aW50MzJfdCBwbGFuZV90cmFuc1tJOTE1X01BWF9QSVBFU11bSTkxNV9N QVhfUExBTkVTXTsKPiA+ID4gwqB9Owo+ID4gPiDCoAo+ID4gPiDCoHN0cnVjdCBza2xfd21fbGV2 ZWwgewo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCj4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiA+IGlu ZGV4IGE3MWQwNWEuLjM5NDAwYTAgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMKPiA+ID4gQEAgLTMzNzgsNiArMzM3OCw4IEBAIHN0YXRpYyB2b2lkCj4gPiA+ IHNreWxha2VfdXBkYXRlX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4g PiA+IMKgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0KPiA+ID4gdG9faW50ZWxfY3J0 YyhjcnRjX3N0YXRlLQo+ID4gPiA+IAo+ID4gPiA+IGJhc2UuY3J0Yyk7Cj4gPiA+IMKgCXN0cnVj dCBkcm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmVfc3RhdGUtPmJhc2UuZmI7Cj4gPiA+IMKgCWNv bnN0IHN0cnVjdCBza2xfd21fdmFsdWVzICp3bSA9ICZkZXZfcHJpdi0KPiA+ID4gPiAKPiA+ID4g PiB3bS5za2xfcmVzdWx0czsKPiA+ID4gKwljb25zdCBzdHJ1Y3Qgc2tsX3BsYW5lX3dtICpwX3dt ID0KPiA+ID4gKwkJJmNydGNfc3RhdGUtPndtLnNrbC5vcHRpbWFsLnBsYW5lc1swXTsKPiA+ID4g wqAJaW50IHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwo+ID4gPiDCoAl1MzIgcGxhbmVfY3RsOwo+ ID4gPiDCoAl1bnNpZ25lZCBpbnQgcm90YXRpb24gPSBwbGFuZV9zdGF0ZS0+YmFzZS5yb3RhdGlv bjsKPiA+ID4gQEAgLTM0MTQsNyArMzQxNiw3IEBAIHN0YXRpYyB2b2lkCj4gPiA+IHNreWxha2Vf dXBkYXRlX3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gPiA+IMKgCWlu dGVsX2NydGMtPmFkanVzdGVkX3kgPSBzcmNfeTsKPiA+ID4gwqAKPiA+ID4gwqAJaWYgKHdtLT5k aXJ0eV9waXBlcyAmIGRybV9jcnRjX21hc2soJmludGVsX2NydGMtPmJhc2UpKQo+ID4gPiAtCQlz a2xfd3JpdGVfcGxhbmVfd20oaW50ZWxfY3J0Yywgd20sIDApOwo+ID4gPiArCQlza2xfd3JpdGVf cGxhbmVfd20oaW50ZWxfY3J0YywgcF93bSwgJndtLT5kZGIsCj4gPiA+IDApOwo+ID4gPiDCoAo+ ID4gPiDCoAlJOTE1X1dSSVRFKFBMQU5FX0NUTChwaXBlLCAwKSwgcGxhbmVfY3RsKTsKPiA+ID4g wqAJSTkxNV9XUklURShQTEFORV9PRkZTRVQocGlwZSwgMCksIChzcmNfeSA8PCAxNikgfAo+ID4g PiBzcmNfeCk7Cj4gPiA+IEBAIC0zNDQ4LDYgKzM0NTAsOCBAQCBzdGF0aWMgdm9pZAo+ID4gPiBz a3lsYWtlX2Rpc2FibGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwcmltYXJ5LAo+ ID4gPiDCoAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+ID4gPiDCoAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gPiA+IMKgCXN0 cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPiA+ID4g KwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlID0KPiA+ID4gdG9faW50ZWxfY3J0Y19z dGF0ZShjcnRjLT5zdGF0ZSk7Cj4gPiA+ICsJY29uc3Qgc3RydWN0IHNrbF9wbGFuZV93bSAqcF93 bSA9ICZjc3RhdGUtCj4gPiA+ID4gCj4gPiA+ID4gd20uc2tsLm9wdGltYWwucGxhbmVzWzBdOwo+ ID4gPiDCoAlpbnQgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7Cj4gPiA+IMKgCj4gPiA+IMKgCS8q Cj4gPiA+IEBAIC0zNDU1LDcgKzM0NTksOCBAQCBzdGF0aWMgdm9pZAo+ID4gPiBza3lsYWtlX2Rp c2FibGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwcmltYXJ5LAo+ID4gPiDCoAnC oCogcGxhbmUncyB2aXNpYmxpdHkgaXNuJ3QgYWN0dWFsbHkgY2hhbmdpbmcgbmVpdGhlciBpcwo+ ID4gPiBpdHMgd2F0ZXJtYXJrcy4KPiA+ID4gwqAJwqAqLwo+ID4gPiDCoAlpZiAoIWNydGMtPnBy aW1hcnktPnN0YXRlLT52aXNpYmxlKQo+ID4gPiAtCQlza2xfd3JpdGVfcGxhbmVfd20oaW50ZWxf Y3J0YywgJmRldl9wcml2LQo+ID4gPiA+IAo+ID4gPiA+IHdtLnNrbF9yZXN1bHRzLCAwKTsKPiA+ ID4gKwkJc2tsX3dyaXRlX3BsYW5lX3dtKGludGVsX2NydGMsIHBfd20sCj4gPiA+ICsJCQkJwqDC oMKgJmRldl9wcml2LQo+ID4gPiA+d20uc2tsX3Jlc3VsdHMuZGRiLAo+ID4gPiAwKTsKPiA+ID4g wqAKPiA+ID4gwqAJSTkxNV9XUklURShQTEFORV9DVEwocGlwZSwgMCksIDApOwo+ID4gPiDCoAlJ OTE1X1dSSVRFKFBMQU5FX1NVUkYocGlwZSwgMCksIDApOwo+ID4gPiBAQCAtMTA4MTksMTIgKzEw ODI0LDE1IEBAIHN0YXRpYyB2b2lkIGk5eHhfdXBkYXRlX2N1cnNvcihzdHJ1Y3QKPiA+ID4gZHJt X2NydGMgKmNydGMsIHUzMiBiYXNlLAo+ID4gPiDCoAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g Y3J0Yy0+ZGV2Owo+ID4gPiDCoAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGRldik7Cj4gPiA+IMKgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9f aW50ZWxfY3J0YyhjcnRjKTsKPiA+ID4gKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRl ID0KPiA+ID4gdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSk7Cj4gPiA+IMKgCWNvbnN0 IHN0cnVjdCBza2xfd21fdmFsdWVzICp3bSA9ICZkZXZfcHJpdi0KPiA+ID4gPiAKPiA+ID4gPiB3 bS5za2xfcmVzdWx0czsKPiA+ID4gKwljb25zdCBzdHJ1Y3Qgc2tsX3BsYW5lX3dtICpwX3dtID0K PiA+ID4gKwkJJmNzdGF0ZS0+d20uc2tsLm9wdGltYWwucGxhbmVzW1BMQU5FX0NVUlNPUl07Cj4g PiA+IMKgCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKPiA+ID4gwqAJdWludDMyX3QgY250 bCA9IDA7Cj4gPiA+IMKgCj4gPiA+IMKgCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkgJiYg d20tPmRpcnR5X3BpcGVzICYKPiA+ID4gZHJtX2NydGNfbWFzayhjcnRjKSkKPiA+ID4gLQkJc2ts X3dyaXRlX2N1cnNvcl93bShpbnRlbF9jcnRjLCB3bSk7Cj4gPiA+ICsJCXNrbF93cml0ZV9jdXJz b3Jfd20oaW50ZWxfY3J0YywgcF93bSwgJndtLT5kZGIpOwo+ID4gPiDCoAo+ID4gPiDCoAlpZiAo cGxhbmVfc3RhdGUgJiYgcGxhbmVfc3RhdGUtPmJhc2UudmlzaWJsZSkgewo+ID4gPiDCoAkJY250 bCA9IE1DVVJTT1JfR0FNTUFfRU5BQkxFOwo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAo+ID4gPiBpbmRleCBkNjg0ZjRmLi45NThkYzcyIDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaAo+ID4gPiBAQCAtMTc2NSw5ICsxNzY1LDExIEBAIGJvb2wgc2tsX2Rk Yl9hbGxvY2F0aW9uX2VxdWFscyhjb25zdAo+ID4gPiBzdHJ1Y3QKPiA+ID4gc2tsX2RkYl9hbGxv Y2F0aW9uICpvbGQsCj4gPiA+IMKgYm9vbCBza2xfZGRiX2FsbG9jYXRpb25fb3ZlcmxhcHMoc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+ID4gPiDCoAkJCQnCoHN0cnVjdCBpbnRlbF9j cnRjICppbnRlbF9jcnRjKTsKPiA+ID4gwqB2b2lkIHNrbF93cml0ZV9jdXJzb3Jfd20oc3RydWN0 IGludGVsX2NydGMgKmludGVsX2NydGMsCj4gPiA+IC0JCQnCoGNvbnN0IHN0cnVjdCBza2xfd21f dmFsdWVzICp3bSk7Cj4gPiA+ICsJCQnCoGNvbnN0IHN0cnVjdCBza2xfcGxhbmVfd20gKndtLAo+ ID4gPiArCQkJwqBjb25zdCBzdHJ1Y3Qgc2tsX2RkYl9hbGxvY2F0aW9uICpkZGIpOwo+ID4gPiDC oHZvaWQgc2tsX3dyaXRlX3BsYW5lX3dtKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjLAo+ ID4gPiAtCQkJY29uc3Qgc3RydWN0IHNrbF93bV92YWx1ZXMgKndtLAo+ID4gPiArCQkJY29uc3Qg c3RydWN0IHNrbF9wbGFuZV93bSAqd20sCj4gPiA+ICsJCQljb25zdCBzdHJ1Y3Qgc2tsX2RkYl9h bGxvY2F0aW9uICpkZGIsCj4gPiA+IMKgCQkJaW50IHBsYW5lKTsKPiA+ID4gwqB1aW50MzJfdCBp bGtfcGlwZV9waXhlbF9yYXRlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlCj4gPiA+ICpw aXBlX2NvbmZpZyk7Cj4gPiA+IMKgYm9vbCBpbGtfZGlzYWJsZV9scF93bShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KTsKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3BtLmMKPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4gPiA+IGluZGV4 IDVkYmFmMTIuLjVjYjUzN2MgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BtLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ ID4gPiBAQCAtMzAwMCw2ICszMDAwLDggQEAgYm9vbCBpbnRlbF9jYW5fZW5hYmxlX3NhZ3Yoc3Ry dWN0Cj4gPiA+IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ID4gPiDCoAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gPiA+IMKgCXN0cnVjdCBpbnRl bF9hdG9taWNfc3RhdGUgKmludGVsX3N0YXRlID0KPiA+ID4gdG9faW50ZWxfYXRvbWljX3N0YXRl KHN0YXRlKTsKPiA+ID4gwqAJc3RydWN0IGRybV9jcnRjICpjcnRjOwo+ID4gPiArCXN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjc3RhdGU7Cj4gPiA+ICsJc3RydWN0IHNrbF9wbGFuZV93bSAqd207 Cj4gPiA+IMKgCWVudW0gcGlwZSBwaXBlOwo+ID4gPiDCoAlpbnQgbGV2ZWwsIHBsYW5lOwo+ID4g PiDCoAo+ID4gPiBAQCAtMzAyMCwxOCArMzAyMiwyMSBAQCBib29sIGludGVsX2Nhbl9lbmFibGVf c2FndihzdHJ1Y3QKPiA+ID4gZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gPiA+IMKgCS8qIFNp bmNlIHdlJ3JlIG5vdyBndWFyYW50ZWVkIHRvIG9ubHkgaGF2ZSBvbmUgYWN0aXZlCj4gPiA+IENS VEMuLi4gKi8KPiA+ID4gwqAJcGlwZSA9IGZmcyhpbnRlbF9zdGF0ZS0+YWN0aXZlX2NydGNzKSAt IDE7Cj4gPiA+IMKgCWNydGMgPSBkZXZfcHJpdi0+cGlwZV90b19jcnRjX21hcHBpbmdbcGlwZV07 Cj4gPiA+ICsJY3N0YXRlID0gaW50ZWxfYXRvbWljX2dldF9jcnRjX3N0YXRlKHN0YXRlLAo+ID4g PiB0b19pbnRlbF9jcnRjKGNydGMpKTsKPiA+IFdyb25nIGNzdGF0ZSBoZXJlLCBzaG91bGQgYmUg Y3J0Yy0+c3RhdGUgc2luY2UgaXQncyBjb21taXR0ZWQgYW5kCj4gPiBjcnRjX3N0YXRlIGlzIHRo ZSBvbGQgc3RhdGUuCj4gCj4gQWguLi4gSG93IG1hbnkgaW5zdGFuY2VzIG9mIHRoZSAieW91J3Jl IGxvb2tpbmcgYXQgdGhlIHdyb25nIHN0YXRlCj4gc3RydWN0IiBoYXZlIHdlIHNwb3R0ZWQvZml4 ZWQgZXZlciBzaW5jZSB0aGUgaW50cm9kdWN0aW9uIG9mIHRoZQo+IGF0b21pYwo+IGNvZGU/IENh bid0IHdlIHRyeSB0byBkbyBzb21ldGhpbmcgbW9yZSBodW1hbi1wcm9vZiBpbiBvcmRlciB0byBh dm9pZAo+IHRoZXNlIHByb2JsZW1zIGZyb20gaGFwcGVuaW5nIGFnYWluIGFuZCBhZ2Fpbj8KPiAK PiBMaWtlIGZvciBleGFtcGxlIGNvcHlpbmcgdGhlIG9sZCBzdGF0ZXMgdG8gYSBzcGVjaWZpYyBz dHJ1Y3R1cmUgbGlrZQo+IGRybV9hdG9taWNfc3RhdGUtPm9sZF9zdGF0ZXNfd2hpY2hfeW91X3By b2JhYmx5X3Nob3VsZG5fYmVfdXNpbmcsIGFuZAo+IHRoZW4gc2V0dGluZyB0aGUgQ1JUQy9jb25u ZWN0b3IvcGxhbmUgc3RhdGVzIGluIHRoZSBkcm1fYXRvbWljX3N0YXRlCj4gc3RydWN0IHRvIE5V TEwgc28gYnVncyB3aWxsIGJlIG11Y2ggZWFzaWVyIHRvIHNwb3Q/Cj4gCj4gQW55d2F5LCB3aXRo IHRoaXMgcHJvYmxlbSBmaXhlZCwgZmVlbCBmcmVlIHRvIGFkZDoKPiBSZXZpZXdlZC1ieTogUGF1 bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+CgpPaCwgSSBmb3Jnb3QgdG8gbWVu dGlvbjogdGhpcyBwYXRjaCBoYXMgYSBjb25mbGljdCB3aXRoIG15CiJ1bmNvbmRpdGlvbmFsbHkg YXBwbHkgdGhlIG1lbW9yeSB3b3JrYXJvdW5kIiBwYXRjaCwgc28gd2UgbWF5IG5lZWQgdG8KZGVj aWRlIHdoaWNoIG9uZSBnZXRzIG1lcmdlZCBmaXJzdC4gT2YgY291cnNlIEknZCBzdWdnZXN0IG15 IHBhdGNoIHRvCmJlIG1lcmdlZCBmaXJzdCBzaW5jZSBJIHdhbnQgaXQgdG8gbGFuZCBpbiBzdGFi bGUsIGJ1dCBJJ20gYWx3YXlzCmJpYXNlZCB0b3dhcmRzIG15IHBhdGNoZXMuIElmIHlvdSBhZ3Jl ZSwgSSBjYW4gZXZlbiB2b2x1bnRlZXIgbXlzZWxmIHRvCnNvbHZlIHRoZSBjb25mbGljdHMgb2Yg dGhpcyBwYXRjaCBsYXRlciB3aGVuIGFwcGx5aW5nLgoKPiAKPiA+IAo+ID4gCj4gPiB+TWFhcnRl bgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753439AbcJMUN0 (ORCPT ); Thu, 13 Oct 2016 16:13:26 -0400 Received: from mga09.intel.com ([134.134.136.24]:5789 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751736AbcJMUNO (ORCPT ); Thu, 13 Oct 2016 16:13:14 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,489,1473145200"; d="scan'208";a="19793249" Message-ID: <1476389242.2478.33.camel@intel.com> Subject: Re: [Intel-gfx] [PATCH v2 05/10] drm/i915/gen9: Get rid of redundant watermark values From: Paulo Zanoni To: Maarten Lankhorst , Lyude , intel-gfx@lists.freedesktop.org Cc: David Airlie , Daniel Vetter , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org Date: Thu, 13 Oct 2016 17:07:22 -0300 In-Reply-To: <1476389043.2478.30.camel@intel.com> References: <1475885497-6094-1-git-send-email-cpaul@redhat.com> <1475885497-6094-6-git-send-email-cpaul@redhat.com> <1476389043.2478.30.camel@intel.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.20.5 (3.20.5-1.fc24) Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Qui, 2016-10-13 às 17:04 -0300, Paulo Zanoni escreveu: > Em Qui, 2016-10-13 às 15:39 +0200, Maarten Lankhorst escreveu: > > > > Op 08-10-16 om 02:11 schreef Lyude: > > > > > > > > > Now that we've make skl_wm_levels make a little more sense, we > > > can > > > remove all of the redundant wm information. Up until now we'd > > > been > > > storing two copies of all of the skl watermarks: one being the > > > skl_pipe_wm structs, the other being the global wm struct in > > > drm_i915_private containing the raw register values. This is > > > confusing > > > and problematic, since it means we're prone to accidentally > > > letting > > > the > > > two copies go out of sync. So, get rid of all of the functions > > > responsible for computing the register values and just use a > > > single > > > helper, skl_write_wm_level(), to convert and write the new > > > watermarks on > > > the fly. > > > > > > Changes since v1: > > > - Fixup skl_write_wm_level() > > > - Fixup skl_wm_level_from_reg_val() > > > - Don't forget to copy *active to intel_crtc->wm.active.skl > > > > > > Signed-off-by: Lyude > > > Reviewed-by: Maarten Lankhorst > > > > > > Cc: Ville Syrjälä > > > Cc: Paulo Zanoni > > > --- > > >  drivers/gpu/drm/i915/i915_drv.h      |   2 - > > >  drivers/gpu/drm/i915/intel_display.c |  14 ++- > > >  drivers/gpu/drm/i915/intel_drv.h     |   6 +- > > >  drivers/gpu/drm/i915/intel_pm.c      | 204 ++++++++++++--------- > > > -- > > > ------------ > > >  drivers/gpu/drm/i915/intel_sprite.c  |   8 +- > > >  5 files changed, 90 insertions(+), 144 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/i915/i915_drv.h > > > b/drivers/gpu/drm/i915/i915_drv.h > > > index 0287c93..76583b2 100644 > > > --- a/drivers/gpu/drm/i915/i915_drv.h > > > +++ b/drivers/gpu/drm/i915/i915_drv.h > > > @@ -1644,8 +1644,6 @@ struct skl_ddb_allocation { > > >  struct skl_wm_values { > > >   unsigned dirty_pipes; > > >   struct skl_ddb_allocation ddb; > > > - uint32_t plane[I915_MAX_PIPES][I915_MAX_PLANES][8]; > > > - uint32_t plane_trans[I915_MAX_PIPES][I915_MAX_PLANES]; > > >  }; > > >   > > >  struct skl_wm_level { > > > diff --git a/drivers/gpu/drm/i915/intel_display.c > > > b/drivers/gpu/drm/i915/intel_display.c > > > index a71d05a..39400a0 100644 > > > --- a/drivers/gpu/drm/i915/intel_display.c > > > +++ b/drivers/gpu/drm/i915/intel_display.c > > > @@ -3378,6 +3378,8 @@ static void > > > skylake_update_primary_plane(struct drm_plane *plane, > > >   struct intel_crtc *intel_crtc = > > > to_intel_crtc(crtc_state- > > > > > > > > base.crtc); > > >   struct drm_framebuffer *fb = plane_state->base.fb; > > >   const struct skl_wm_values *wm = &dev_priv- > > > > > > > > wm.skl_results; > > > + const struct skl_plane_wm *p_wm = > > > + &crtc_state->wm.skl.optimal.planes[0]; > > >   int pipe = intel_crtc->pipe; > > >   u32 plane_ctl; > > >   unsigned int rotation = plane_state->base.rotation; > > > @@ -3414,7 +3416,7 @@ static void > > > skylake_update_primary_plane(struct drm_plane *plane, > > >   intel_crtc->adjusted_y = src_y; > > >   > > >   if (wm->dirty_pipes & drm_crtc_mask(&intel_crtc->base)) > > > - skl_write_plane_wm(intel_crtc, wm, 0); > > > + skl_write_plane_wm(intel_crtc, p_wm, &wm->ddb, > > > 0); > > >   > > >   I915_WRITE(PLANE_CTL(pipe, 0), plane_ctl); > > >   I915_WRITE(PLANE_OFFSET(pipe, 0), (src_y << 16) | > > > src_x); > > > @@ -3448,6 +3450,8 @@ static void > > > skylake_disable_primary_plane(struct drm_plane *primary, > > >   struct drm_device *dev = crtc->dev; > > >   struct drm_i915_private *dev_priv = to_i915(dev); > > >   struct intel_crtc *intel_crtc = to_intel_crtc(crtc); > > > + struct intel_crtc_state *cstate = > > > to_intel_crtc_state(crtc->state); > > > + const struct skl_plane_wm *p_wm = &cstate- > > > > > > > > wm.skl.optimal.planes[0]; > > >   int pipe = intel_crtc->pipe; > > >   > > >   /* > > > @@ -3455,7 +3459,8 @@ static void > > > skylake_disable_primary_plane(struct drm_plane *primary, > > >    * plane's visiblity isn't actually changing neither is > > > its watermarks. > > >    */ > > >   if (!crtc->primary->state->visible) > > > - skl_write_plane_wm(intel_crtc, &dev_priv- > > > > > > > > wm.skl_results, 0); > > > + skl_write_plane_wm(intel_crtc, p_wm, > > > +    &dev_priv- > > > >wm.skl_results.ddb, > > > 0); > > >   > > >   I915_WRITE(PLANE_CTL(pipe, 0), 0); > > >   I915_WRITE(PLANE_SURF(pipe, 0), 0); > > > @@ -10819,12 +10824,15 @@ static void i9xx_update_cursor(struct > > > drm_crtc *crtc, u32 base, > > >   struct drm_device *dev = crtc->dev; > > >   struct drm_i915_private *dev_priv = to_i915(dev); > > >   struct intel_crtc *intel_crtc = to_intel_crtc(crtc); > > > + struct intel_crtc_state *cstate = > > > to_intel_crtc_state(crtc->state); > > >   const struct skl_wm_values *wm = &dev_priv- > > > > > > > > wm.skl_results; > > > + const struct skl_plane_wm *p_wm = > > > + &cstate->wm.skl.optimal.planes[PLANE_CURSOR]; > > >   int pipe = intel_crtc->pipe; > > >   uint32_t cntl = 0; > > >   > > >   if (INTEL_GEN(dev_priv) >= 9 && wm->dirty_pipes & > > > drm_crtc_mask(crtc)) > > > - skl_write_cursor_wm(intel_crtc, wm); > > > + skl_write_cursor_wm(intel_crtc, p_wm, &wm->ddb); > > >   > > >   if (plane_state && plane_state->base.visible) { > > >   cntl = MCURSOR_GAMMA_ENABLE; > > > diff --git a/drivers/gpu/drm/i915/intel_drv.h > > > b/drivers/gpu/drm/i915/intel_drv.h > > > index d684f4f..958dc72 100644 > > > --- a/drivers/gpu/drm/i915/intel_drv.h > > > +++ b/drivers/gpu/drm/i915/intel_drv.h > > > @@ -1765,9 +1765,11 @@ bool skl_ddb_allocation_equals(const > > > struct > > > skl_ddb_allocation *old, > > >  bool skl_ddb_allocation_overlaps(struct drm_atomic_state *state, > > >    struct intel_crtc *intel_crtc); > > >  void skl_write_cursor_wm(struct intel_crtc *intel_crtc, > > > -  const struct skl_wm_values *wm); > > > +  const struct skl_plane_wm *wm, > > > +  const struct skl_ddb_allocation *ddb); > > >  void skl_write_plane_wm(struct intel_crtc *intel_crtc, > > > - const struct skl_wm_values *wm, > > > + const struct skl_plane_wm *wm, > > > + const struct skl_ddb_allocation *ddb, > > >   int plane); > > >  uint32_t ilk_pipe_pixel_rate(const struct intel_crtc_state > > > *pipe_config); > > >  bool ilk_disable_lp_wm(struct drm_device *dev); > > > diff --git a/drivers/gpu/drm/i915/intel_pm.c > > > b/drivers/gpu/drm/i915/intel_pm.c > > > index 5dbaf12..5cb537c 100644 > > > --- a/drivers/gpu/drm/i915/intel_pm.c > > > +++ b/drivers/gpu/drm/i915/intel_pm.c > > > @@ -3000,6 +3000,8 @@ bool intel_can_enable_sagv(struct > > > drm_atomic_state *state) > > >   struct drm_i915_private *dev_priv = to_i915(dev); > > >   struct intel_atomic_state *intel_state = > > > to_intel_atomic_state(state); > > >   struct drm_crtc *crtc; > > > + struct intel_crtc_state *cstate; > > > + struct skl_plane_wm *wm; > > >   enum pipe pipe; > > >   int level, plane; > > >   > > > @@ -3020,18 +3022,21 @@ bool intel_can_enable_sagv(struct > > > drm_atomic_state *state) > > >   /* Since we're now guaranteed to only have one active > > > CRTC... */ > > >   pipe = ffs(intel_state->active_crtcs) - 1; > > >   crtc = dev_priv->pipe_to_crtc_mapping[pipe]; > > > + cstate = intel_atomic_get_crtc_state(state, > > > to_intel_crtc(crtc)); > > Wrong cstate here, should be crtc->state since it's committed and > > crtc_state is the old state. > > Ah... How many instances of the "you're looking at the wrong state > struct" have we spotted/fixed ever since the introduction of the > atomic > code? Can't we try to do something more human-proof in order to avoid > these problems from happening again and again? > > Like for example copying the old states to a specific structure like > drm_atomic_state->old_states_which_you_probably_shouldn_be_using, and > then setting the CRTC/connector/plane states in the drm_atomic_state > struct to NULL so bugs will be much easier to spot? > > Anyway, with this problem fixed, feel free to add: > Reviewed-by: Paulo Zanoni Oh, I forgot to mention: this patch has a conflict with my "unconditionally apply the memory workaround" patch, so we may need to decide which one gets merged first. Of course I'd suggest my patch to be merged first since I want it to land in stable, but I'm always biased towards my patches. If you agree, I can even volunteer myself to solve the conflicts of this patch later when applying. > > > > > > > ~Maarten > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx