From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: Re: [Intel-gfx] [PATCH v2 05/10] drm/i915/gen9: Get rid of redundant watermark values Date: Thu, 13 Oct 2016 17:25:54 -0400 Message-ID: <1476393954.24414.2.camel@redhat.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> <1476389242.2478.33.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1476389242.2478.33.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Paulo Zanoni , Maarten Lankhorst , intel-gfx@lists.freedesktop.org Cc: Daniel Vetter , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org WW91ciBpcyBTQUdWIHJlbGF0ZWQsIGFuZCB3aGVuIHdlIGRvbid0IG1ha2UgdGhlIFNBR1YgaGFw cHkgcGVvcGxlJ3MKbWFjaGluZXMgdXN1YWxseSBoYW5nLiBTbyBJJ20gZGVmaW5pdGVseSBmb3Ig eW91ciBwYXRjaGVzIGdldHRpbmcKbWVyZ2VkIGZpcnN0CgoKT24gVGh1LCAyMDE2LTEwLTEzIGF0 IDE3OjA3IC0wMzAwLCBQYXVsbyBaYW5vbmkgd3JvdGU6Cj4gRW0gUXVpLCAyMDE2LTEwLTEzIMOg cyAxNzowNCAtMDMwMCwgUGF1bG8gWmFub25pIGVzY3JldmV1Ogo+ID4gCj4gPiBFbSBRdWksIDIw MTYtMTAtMTMgw6BzIDE1OjM5ICswMjAwLCBNYWFydGVuIExhbmtob3JzdCBlc2NyZXZldToKPiA+ ID4gCj4gPiA+IAo+ID4gPiBPcCAwOC0xMC0xNiBvbSAwMjoxMSBzY2hyZWVmIEx5dWRlOgo+ID4g PiA+IAo+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IE5vdyB0aGF0IHdlJ3ZlIG1ha2Ugc2tsX3dt X2xldmVscyBtYWtlIGEgbGl0dGxlIG1vcmUgc2Vuc2UsIHdlCj4gPiA+ID4gY2FuCj4gPiA+ID4g cmVtb3ZlIGFsbCBvZiB0aGUgcmVkdW5kYW50IHdtIGluZm9ybWF0aW9uLiBVcCB1bnRpbCBub3cg d2UnZAo+ID4gPiA+IGJlZW4KPiA+ID4gPiBzdG9yaW5nIHR3byBjb3BpZXMgb2YgYWxsIG9mIHRo ZSBza2wgd2F0ZXJtYXJrczogb25lIGJlaW5nIHRoZQo+ID4gPiA+IHNrbF9waXBlX3dtIHN0cnVj dHMsIHRoZSBvdGhlciBiZWluZyB0aGUgZ2xvYmFsIHdtIHN0cnVjdCBpbgo+ID4gPiA+IGRybV9p OTE1X3ByaXZhdGUgY29udGFpbmluZyB0aGUgcmF3IHJlZ2lzdGVyIHZhbHVlcy4gVGhpcyBpcwo+ ID4gPiA+IGNvbmZ1c2luZwo+ID4gPiA+IGFuZCBwcm9ibGVtYXRpYywgc2luY2UgaXQgbWVhbnMg d2UncmUgcHJvbmUgdG8gYWNjaWRlbnRhbGx5Cj4gPiA+ID4gbGV0dGluZwo+ID4gPiA+IHRoZQo+ ID4gPiA+IHR3byBjb3BpZXMgZ28gb3V0IG9mIHN5bmMuIFNvLCBnZXQgcmlkIG9mIGFsbCBvZiB0 aGUgZnVuY3Rpb25zCj4gPiA+ID4gcmVzcG9uc2libGUgZm9yIGNvbXB1dGluZyB0aGUgcmVnaXN0 ZXIgdmFsdWVzIGFuZCBqdXN0IHVzZSBhCj4gPiA+ID4gc2luZ2xlCj4gPiA+ID4gaGVscGVyLCBz a2xfd3JpdGVfd21fbGV2ZWwoKSwgdG8gY29udmVydCBhbmQgd3JpdGUgdGhlIG5ldwo+ID4gPiA+ IHdhdGVybWFya3Mgb24KPiA+ID4gPiB0aGUgZmx5Lgo+ID4gPiA+IAo+ID4gPiA+IENoYW5nZXMg c2luY2UgdjE6Cj4gPiA+ID4gLSBGaXh1cCBza2xfd3JpdGVfd21fbGV2ZWwoKQo+ID4gPiA+IC0g Rml4dXAgc2tsX3dtX2xldmVsX2Zyb21fcmVnX3ZhbCgpCj4gPiA+ID4gLSBEb24ndCBmb3JnZXQg dG8gY29weSAqYWN0aXZlIHRvIGludGVsX2NydGMtPndtLmFjdGl2ZS5za2wKPiA+ID4gPiAKPiA+ ID4gPiBTaWduZWQtb2ZmLWJ5OiBMeXVkZSA8Y3BhdWxAcmVkaGF0LmNvbT4KPiA+ID4gPiBSZXZp ZXdlZC1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVs LmMKPiA+ID4gPiBvbQo+ID4gPiA+ID4gCj4gPiA+ID4gPiAKPiA+ID4gPiBDYzogVmlsbGUgU3ly asOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+ID4gPiBDYzogUGF1bG8g WmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+Cj4gPiA+ID4gLS0tCj4gPiA+ID4gwqBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5owqDCoMKgwqDCoMKgfMKgwqDCoDIgLQo+ID4g PiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHzCoMKgMTQgKystCj4g PiA+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaMKgwqDCoMKgwqB8wqDCoMKg NiArLQo+ID4gPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uY8KgwqDCoMKgwqDC oHwgMjA0ICsrKysrKysrKysrKy0tLS0tLS0KPiA+ID4gPiAtLQo+ID4gPiA+IC0tCj4gPiA+ID4g LS0tLS0tLS0tLS0tCj4gPiA+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUu Y8KgwqB8wqDCoMKgOCArLQo+ID4gPiA+IMKgNSBmaWxlcyBjaGFuZ2VkLCA5MCBpbnNlcnRpb25z KCspLCAxNDQgZGVsZXRpb25zKC0pCj4gPiA+ID4gCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKPiA+ID4gPiBpbmRleCAwMjg3YzkzLi43NjU4M2IyIDEwMDY0NAo+ID4gPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+ID4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiA+ID4gQEAgLTE2NDQsOCArMTY0NCw2IEBA IHN0cnVjdCBza2xfZGRiX2FsbG9jYXRpb24gewo+ID4gPiA+IMKgc3RydWN0IHNrbF93bV92YWx1 ZXMgewo+ID4gPiA+IMKgCXVuc2lnbmVkIGRpcnR5X3BpcGVzOwo+ID4gPiA+IMKgCXN0cnVjdCBz a2xfZGRiX2FsbG9jYXRpb24gZGRiOwo+ID4gPiA+IC0JdWludDMyX3QgcGxhbmVbSTkxNV9NQVhf UElQRVNdW0k5MTVfTUFYX1BMQU5FU11bOF07Cj4gPiA+ID4gLQl1aW50MzJfdCBwbGFuZV90cmFu c1tJOTE1X01BWF9QSVBFU11bSTkxNV9NQVhfUExBTkVTXTsKPiA+ID4gPiDCoH07Cj4gPiA+ID4g wqAKPiA+ID4gPiDCoHN0cnVjdCBza2xfd21fbGV2ZWwgewo+ID4gPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4gPiBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gPiA+IGluZGV4IGE3MWQwNWEuLjM5NDAwYTAg MTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiA+ ID4gQEAgLTMzNzgsNiArMzM3OCw4IEBAIHN0YXRpYyB2b2lkCj4gPiA+ID4gc2t5bGFrZV91cGRh dGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiA+ID4gPiDCoAlzdHJ1 Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9Cj4gPiA+ID4gdG9faW50ZWxfY3J0YyhjcnRjX3N0 YXRlLQo+ID4gPiA+ID4gCj4gPiA+ID4gPiAKPiA+ID4gPiA+IGJhc2UuY3J0Yyk7Cj4gPiA+ID4g wqAJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSBwbGFuZV9zdGF0ZS0+YmFzZS5mYjsKPiA+ ID4gPiDCoAljb25zdCBzdHJ1Y3Qgc2tsX3dtX3ZhbHVlcyAqd20gPSAmZGV2X3ByaXYtCj4gPiA+ ID4gPiAKPiA+ID4gPiA+IAo+ID4gPiA+ID4gd20uc2tsX3Jlc3VsdHM7Cj4gPiA+ID4gKwljb25z dCBzdHJ1Y3Qgc2tsX3BsYW5lX3dtICpwX3dtID0KPiA+ID4gPiArCQkmY3J0Y19zdGF0ZS0+d20u c2tsLm9wdGltYWwucGxhbmVzWzBdOwo+ID4gPiA+IMKgCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+ cGlwZTsKPiA+ID4gPiDCoAl1MzIgcGxhbmVfY3RsOwo+ID4gPiA+IMKgCXVuc2lnbmVkIGludCBy b3RhdGlvbiA9IHBsYW5lX3N0YXRlLT5iYXNlLnJvdGF0aW9uOwo+ID4gPiA+IEBAIC0zNDE0LDcg KzM0MTYsNyBAQCBzdGF0aWMgdm9pZAo+ID4gPiA+IHNreWxha2VfdXBkYXRlX3ByaW1hcnlfcGxh bmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gPiA+ID4gwqAJaW50ZWxfY3J0Yy0+YWRqdXN0 ZWRfeSA9IHNyY195Owo+ID4gPiA+IMKgCj4gPiA+ID4gwqAJaWYgKHdtLT5kaXJ0eV9waXBlcyAm IGRybV9jcnRjX21hc2soJmludGVsX2NydGMtCj4gPiA+ID4gPmJhc2UpKQo+ID4gPiA+IC0JCXNr bF93cml0ZV9wbGFuZV93bShpbnRlbF9jcnRjLCB3bSwgMCk7Cj4gPiA+ID4gKwkJc2tsX3dyaXRl X3BsYW5lX3dtKGludGVsX2NydGMsIHBfd20sICZ3bS0+ZGRiLAo+ID4gPiA+IDApOwo+ID4gPiA+ IMKgCj4gPiA+ID4gwqAJSTkxNV9XUklURShQTEFORV9DVEwocGlwZSwgMCksIHBsYW5lX2N0bCk7 Cj4gPiA+ID4gwqAJSTkxNV9XUklURShQTEFORV9PRkZTRVQocGlwZSwgMCksIChzcmNfeSA8PCAx NikgfAo+ID4gPiA+IHNyY194KTsKPiA+ID4gPiBAQCAtMzQ0OCw2ICszNDUwLDggQEAgc3RhdGlj IHZvaWQKPiA+ID4gPiBza3lsYWtlX2Rpc2FibGVfcHJpbWFyeV9wbGFuZShzdHJ1Y3QgZHJtX3Bs YW5lICpwcmltYXJ5LAo+ID4gPiA+IMKgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5k ZXY7Cj4gPiA+ID4gwqAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShkZXYpOwo+ID4gPiA+IMKgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjKTsKPiA+ID4gPiArCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUg PQo+ID4gPiA+IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwo+ID4gPiA+ICsJY29u c3Qgc3RydWN0IHNrbF9wbGFuZV93bSAqcF93bSA9ICZjc3RhdGUtCj4gPiA+ID4gPiAKPiA+ID4g PiA+IAo+ID4gPiA+ID4gd20uc2tsLm9wdGltYWwucGxhbmVzWzBdOwo+ID4gPiA+IMKgCWludCBw aXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKPiA+ID4gPiDCoAo+ID4gPiA+IMKgCS8qCj4gPiA+ID4g QEAgLTM0NTUsNyArMzQ1OSw4IEBAIHN0YXRpYyB2b2lkCj4gPiA+ID4gc2t5bGFrZV9kaXNhYmxl X3ByaW1hcnlfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcHJpbWFyeSwKPiA+ID4gPiDCoAnCoCog cGxhbmUncyB2aXNpYmxpdHkgaXNuJ3QgYWN0dWFsbHkgY2hhbmdpbmcgbmVpdGhlcgo+ID4gPiA+ IGlzCj4gPiA+ID4gaXRzIHdhdGVybWFya3MuCj4gPiA+ID4gwqAJwqAqLwo+ID4gPiA+IMKgCWlm ICghY3J0Yy0+cHJpbWFyeS0+c3RhdGUtPnZpc2libGUpCj4gPiA+ID4gLQkJc2tsX3dyaXRlX3Bs YW5lX3dtKGludGVsX2NydGMsICZkZXZfcHJpdi0KPiA+ID4gPiA+IAo+ID4gPiA+ID4gCj4gPiA+ ID4gPiB3bS5za2xfcmVzdWx0cywgMCk7Cj4gPiA+ID4gKwkJc2tsX3dyaXRlX3BsYW5lX3dtKGlu dGVsX2NydGMsIHBfd20sCj4gPiA+ID4gKwkJCQnCoMKgwqAmZGV2X3ByaXYtCj4gPiA+ID4gPiAK PiA+ID4gPiA+IHdtLnNrbF9yZXN1bHRzLmRkYiwKPiA+ID4gPiAwKTsKPiA+ID4gPiDCoAo+ID4g PiA+IMKgCUk5MTVfV1JJVEUoUExBTkVfQ1RMKHBpcGUsIDApLCAwKTsKPiA+ID4gPiDCoAlJOTE1 X1dSSVRFKFBMQU5FX1NVUkYocGlwZSwgMCksIDApOwo+ID4gPiA+IEBAIC0xMDgxOSwxMiArMTA4 MjQsMTUgQEAgc3RhdGljIHZvaWQgaTl4eF91cGRhdGVfY3Vyc29yKHN0cnVjdAo+ID4gPiA+IGRy bV9jcnRjICpjcnRjLCB1MzIgYmFzZSwKPiA+ID4gPiDCoAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gY3J0Yy0+ZGV2Owo+ID4gPiA+IMKgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoZGV2KTsKPiA+ID4gPiDCoAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4gPiA+ID4gKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3N0YXRlID0KPiA+ID4gPiB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKPiA+ ID4gPiDCoAljb25zdCBzdHJ1Y3Qgc2tsX3dtX3ZhbHVlcyAqd20gPSAmZGV2X3ByaXYtCj4gPiA+ ID4gPiAKPiA+ID4gPiA+IAo+ID4gPiA+ID4gd20uc2tsX3Jlc3VsdHM7Cj4gPiA+ID4gKwljb25z dCBzdHJ1Y3Qgc2tsX3BsYW5lX3dtICpwX3dtID0KPiA+ID4gPiArCQkmY3N0YXRlLT53bS5za2wu b3B0aW1hbC5wbGFuZXNbUExBTkVfQ1VSU09SXTsKPiA+ID4gPiDCoAlpbnQgcGlwZSA9IGludGVs X2NydGMtPnBpcGU7Cj4gPiA+ID4gwqAJdWludDMyX3QgY250bCA9IDA7Cj4gPiA+ID4gwqAKPiA+ ID4gPiDCoAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5ICYmIHdtLT5kaXJ0eV9waXBlcyAm Cj4gPiA+ID4gZHJtX2NydGNfbWFzayhjcnRjKSkKPiA+ID4gPiAtCQlza2xfd3JpdGVfY3Vyc29y X3dtKGludGVsX2NydGMsIHdtKTsKPiA+ID4gPiArCQlza2xfd3JpdGVfY3Vyc29yX3dtKGludGVs X2NydGMsIHBfd20sICZ3bS0KPiA+ID4gPiA+ZGRiKTsKPiA+ID4gPiDCoAo+ID4gPiA+IMKgCWlm IChwbGFuZV9zdGF0ZSAmJiBwbGFuZV9zdGF0ZS0+YmFzZS52aXNpYmxlKSB7Cj4gPiA+ID4gwqAJ CWNudGwgPSBNQ1VSU09SX0dBTU1BX0VOQUJMRTsKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCj4gPiA+ID4gaW5kZXggZDY4NGY0Zi4uOTU4ZGM3MiAxMDA2NDQKPiA+ID4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gPiA+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+ID4gQEAgLTE3NjUsOSArMTc2NSwx MSBAQCBib29sIHNrbF9kZGJfYWxsb2NhdGlvbl9lcXVhbHMoY29uc3QKPiA+ID4gPiBzdHJ1Y3QK PiA+ID4gPiBza2xfZGRiX2FsbG9jYXRpb24gKm9sZCwKPiA+ID4gPiDCoGJvb2wgc2tsX2RkYl9h bGxvY2F0aW9uX292ZXJsYXBzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlCj4gPiA+ID4gKnN0YXRl LAo+ID4gPiA+IMKgCQkJCcKgc3RydWN0IGludGVsX2NydGMKPiA+ID4gPiAqaW50ZWxfY3J0Yyk7 Cj4gPiA+ID4gwqB2b2lkIHNrbF93cml0ZV9jdXJzb3Jfd20oc3RydWN0IGludGVsX2NydGMgKmlu dGVsX2NydGMsCj4gPiA+ID4gLQkJCcKgY29uc3Qgc3RydWN0IHNrbF93bV92YWx1ZXMgKndtKTsK PiA+ID4gPiArCQkJwqBjb25zdCBzdHJ1Y3Qgc2tsX3BsYW5lX3dtICp3bSwKPiA+ID4gPiArCQkJ wqBjb25zdCBzdHJ1Y3Qgc2tsX2RkYl9hbGxvY2F0aW9uCj4gPiA+ID4gKmRkYik7Cj4gPiA+ID4g wqB2b2lkIHNrbF93cml0ZV9wbGFuZV93bShzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YywK PiA+ID4gPiAtCQkJY29uc3Qgc3RydWN0IHNrbF93bV92YWx1ZXMgKndtLAo+ID4gPiA+ICsJCQlj b25zdCBzdHJ1Y3Qgc2tsX3BsYW5lX3dtICp3bSwKPiA+ID4gPiArCQkJY29uc3Qgc3RydWN0IHNr bF9kZGJfYWxsb2NhdGlvbiAqZGRiLAo+ID4gPiA+IMKgCQkJaW50IHBsYW5lKTsKPiA+ID4gPiDC oHVpbnQzMl90IGlsa19waXBlX3BpeGVsX3JhdGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3Rh dGUKPiA+ID4gPiAqcGlwZV9jb25maWcpOwo+ID4gPiA+IMKgYm9vbCBpbGtfZGlzYWJsZV9scF93 bShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYwo+ID4gPiA+IGluZGV4IDVkYmFmMTIuLjVjYjUzN2MgMTAwNjQ0Cj4gPiA+ID4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ID4gPiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiA+ID4gPiBAQCAtMzAwMCw2ICszMDAwLDggQEAgYm9v bCBpbnRlbF9jYW5fZW5hYmxlX3NhZ3Yoc3RydWN0Cj4gPiA+ID4gZHJtX2F0b21pY19zdGF0ZSAq c3RhdGUpCj4gPiA+ID4gwqAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShkZXYpOwo+ID4gPiA+IMKgCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKmludGVsX3N0 YXRlID0KPiA+ID4gPiB0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpOwo+ID4gPiA+IMKgCXN0 cnVjdCBkcm1fY3J0YyAqY3J0YzsKPiA+ID4gPiArCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj c3RhdGU7Cj4gPiA+ID4gKwlzdHJ1Y3Qgc2tsX3BsYW5lX3dtICp3bTsKPiA+ID4gPiDCoAllbnVt IHBpcGUgcGlwZTsKPiA+ID4gPiDCoAlpbnQgbGV2ZWwsIHBsYW5lOwo+ID4gPiA+IMKgCj4gPiA+ ID4gQEAgLTMwMjAsMTggKzMwMjIsMjEgQEAgYm9vbCBpbnRlbF9jYW5fZW5hYmxlX3NhZ3Yoc3Ry dWN0Cj4gPiA+ID4gZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gPiA+ID4gwqAJLyogU2luY2Ug d2UncmUgbm93IGd1YXJhbnRlZWQgdG8gb25seSBoYXZlIG9uZSBhY3RpdmUKPiA+ID4gPiBDUlRD Li4uICovCj4gPiA+ID4gwqAJcGlwZSA9IGZmcyhpbnRlbF9zdGF0ZS0+YWN0aXZlX2NydGNzKSAt IDE7Cj4gPiA+ID4gwqAJY3J0YyA9IGRldl9wcml2LT5waXBlX3RvX2NydGNfbWFwcGluZ1twaXBl XTsKPiA+ID4gPiArCWNzdGF0ZSA9IGludGVsX2F0b21pY19nZXRfY3J0Y19zdGF0ZShzdGF0ZSwK PiA+ID4gPiB0b19pbnRlbF9jcnRjKGNydGMpKTsKPiA+ID4gV3JvbmcgY3N0YXRlIGhlcmUsIHNo b3VsZCBiZSBjcnRjLT5zdGF0ZSBzaW5jZSBpdCdzIGNvbW1pdHRlZCBhbmQKPiA+ID4gY3J0Y19z dGF0ZSBpcyB0aGUgb2xkIHN0YXRlLgo+ID4gCj4gPiBBaC4uLiBIb3cgbWFueSBpbnN0YW5jZXMg b2YgdGhlICJ5b3UncmUgbG9va2luZyBhdCB0aGUgd3Jvbmcgc3RhdGUKPiA+IHN0cnVjdCIgaGF2 ZSB3ZSBzcG90dGVkL2ZpeGVkIGV2ZXIgc2luY2UgdGhlIGludHJvZHVjdGlvbiBvZiB0aGUKPiA+ IGF0b21pYwo+ID4gY29kZT8gQ2FuJ3Qgd2UgdHJ5IHRvIGRvIHNvbWV0aGluZyBtb3JlIGh1bWFu LXByb29mIGluIG9yZGVyIHRvCj4gPiBhdm9pZAo+ID4gdGhlc2UgcHJvYmxlbXMgZnJvbSBoYXBw ZW5pbmcgYWdhaW4gYW5kIGFnYWluPwo+ID4gCj4gPiBMaWtlIGZvciBleGFtcGxlIGNvcHlpbmcg dGhlIG9sZCBzdGF0ZXMgdG8gYSBzcGVjaWZpYyBzdHJ1Y3R1cmUKPiA+IGxpa2UKPiA+IGRybV9h dG9taWNfc3RhdGUtPm9sZF9zdGF0ZXNfd2hpY2hfeW91X3Byb2JhYmx5X3Nob3VsZG5fYmVfdXNp bmcsCj4gPiBhbmQKPiA+IHRoZW4gc2V0dGluZyB0aGUgQ1JUQy9jb25uZWN0b3IvcGxhbmUgc3Rh dGVzIGluIHRoZQo+ID4gZHJtX2F0b21pY19zdGF0ZQo+ID4gc3RydWN0IHRvIE5VTEwgc28gYnVn cyB3aWxsIGJlIG11Y2ggZWFzaWVyIHRvIHNwb3Q/Cj4gPiAKPiA+IEFueXdheSwgd2l0aCB0aGlz IHByb2JsZW0gZml4ZWQsIGZlZWwgZnJlZSB0byBhZGQ6Cj4gPiBSZXZpZXdlZC1ieTogUGF1bG8g WmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+Cj4gCj4gT2gsIEkgZm9yZ290IHRvIG1l bnRpb246IHRoaXMgcGF0Y2ggaGFzIGEgY29uZmxpY3Qgd2l0aCBteQo+ICJ1bmNvbmRpdGlvbmFs bHkgYXBwbHkgdGhlIG1lbW9yeSB3b3JrYXJvdW5kIiBwYXRjaCwgc28gd2UgbWF5IG5lZWQKPiB0 bwo+IGRlY2lkZSB3aGljaCBvbmUgZ2V0cyBtZXJnZWQgZmlyc3QuIE9mIGNvdXJzZSBJJ2Qgc3Vn Z2VzdCBteSBwYXRjaCB0bwo+IGJlIG1lcmdlZCBmaXJzdCBzaW5jZSBJIHdhbnQgaXQgdG8gbGFu ZCBpbiBzdGFibGUsIGJ1dCBJJ20gYWx3YXlzCj4gYmlhc2VkIHRvd2FyZHMgbXkgcGF0Y2hlcy4g SWYgeW91IGFncmVlLCBJIGNhbiBldmVuIHZvbHVudGVlciBteXNlbGYKPiB0bwo+IHNvbHZlIHRo ZSBjb25mbGljdHMgb2YgdGhpcyBwYXRjaCBsYXRlciB3aGVuIGFwcGx5aW5nLgo+IAo+ID4gCj4g PiAKPiA+ID4gCj4gPiA+IAo+ID4gPiAKPiA+ID4gfk1hYXJ0ZW4KPiA+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBJbnRlbC1nZnggbWFpbGluZyBs aXN0Cj4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPiBodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757265AbcJMV0K (ORCPT ); Thu, 13 Oct 2016 17:26:10 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53798 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756713AbcJMV0B (ORCPT ); Thu, 13 Oct 2016 17:26:01 -0400 Message-ID: <1476393954.24414.2.camel@redhat.com> Subject: Re: [Intel-gfx] [PATCH v2 05/10] drm/i915/gen9: Get rid of redundant watermark values From: Lyude Paul To: Paulo Zanoni , Maarten Lankhorst , 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:25:54 -0400 In-Reply-To: <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> <1476389242.2478.33.camel@intel.com> Organization: Red Hat Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Thu, 13 Oct 2016 21:25:56 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Your is SAGV related, and when we don't make the SAGV happy people's machines usually hang. So I'm definitely for your patches getting merged first On Thu, 2016-10-13 at 17:07 -0300, Paulo Zanoni wrote: > 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 > > > om > > > > > > > > > > > > > > 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