From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas De Marchi Subject: [PATCH v7 4/4] drm/i915: cache number of MOCS entries Date: Fri, 14 Dec 2018 10:20:21 -0800 Message-ID: <20181214182021.10483-5-lucas.demarchi@intel.com> References: <20181214182021.10483-1-lucas.demarchi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7A68C6F636 for ; Fri, 14 Dec 2018 18:22:57 +0000 (UTC) In-Reply-To: <20181214182021.10483-1-lucas.demarchi@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Anuj Phogat List-Id: intel-gfx@lists.freedesktop.org SW5zdGVhZCBvZiBjaGVja2luZyB0aGUgZ2VuIG51bWJlciBldmVyeSB0aW1lIHdlIG5lZWQgdG8g a25vdyB0aGUgbWF4Cm51bWJlciBvZiBlbnRyaWVzLCBqdXN0IHNhdmUgaXQgaW50byB0aGUgdGFi bGUgc3RydWN0IHNvIHdlIGRvbid0IG5lZWQKZXh0cmEgYnJhbmNoZXMgdGhyb3VnaG91dCB0aGUg Y29kZS4KClN1Z2dlc3RlZC1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVs LmNvbT4KU2lnbmVkLW9mZi1ieTogTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBpbnRl bC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbW9jcy5jIHwgMzEgKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMo KyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX21vY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21vY3MuYwppbmRleCBkZmM0 ZWRlYTAyMGYuLjIyYzVmNTc2YTNjMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbW9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21vY3MuYwpAQCAt MzIsNiArMzIsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfbW9jc19lbnRyeSB7CiAKIHN0cnVjdCBkcm1f aTkxNV9tb2NzX3RhYmxlIHsKIAl1MzIgc2l6ZTsKKwl1MzIgbl9lbnRyaWVzOwogCWNvbnN0IHN0 cnVjdCBkcm1faTkxNV9tb2NzX2VudHJ5ICp0YWJsZTsKIH07CiAKQEAgLTU2LDkgKzU3LDYgQEAg c3RydWN0IGRybV9pOTE1X21vY3NfdGFibGUgewogI2RlZmluZSBHRU45X05VTV9NT0NTX0VOVFJJ RVMJNjIgIC8qIDYyIG91dCBvZiA2NCAtIDYzICYgNjQgYXJlIHJlc2VydmVkLiAqLwogI2RlZmlu ZSBHRU4xMV9OVU1fTU9DU19FTlRSSUVTCTY0ICAvKiA2My02NCBhcmUgcmVzZXJ2ZWQsIGJ1dCBj b25maWd1cmVkLiAqLwogCi0jZGVmaW5lIE5VTV9NT0NTX0VOVFJJRVMoaTkxNSkgXAotCShJTlRF TF9HRU4oaTkxNSkgPCAxMSA/IEdFTjlfTlVNX01PQ1NfRU5UUklFUyA6IEdFTjExX05VTV9NT0NT X0VOVFJJRVMpCi0KIC8qIChlKUxMQyBjYWNoaW5nIG9wdGlvbnMgKi8KICNkZWZpbmUgTEVfMF9Q QUdFVEFCTEUJCV9MRV9DQUNIRUFCSUxJVFkoMCkKICNkZWZpbmUgTEVfMV9VQwkJCV9MRV9DQUNI RUFCSUxJVFkoMSkKQEAgLTI4MywxNCArMjgxLDE3IEBAIHN0YXRpYyBib29sIGdldF9tb2NzX3Nl dHRpbmdzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAogCWlmIChJU19JQ0VM QUtFKGRldl9wcml2KSkgewogCQl0YWJsZS0+c2l6ZSAgPSBBUlJBWV9TSVpFKGljZWxha2VfbW9j c190YWJsZSk7CisJCXRhYmxlLT5uX2VudHJpZXMgPSBHRU4xMV9OVU1fTU9DU19FTlRSSUVTOwog CQl0YWJsZS0+dGFibGUgPSBpY2VsYWtlX21vY3NfdGFibGU7CiAJCXJlc3VsdCA9IHRydWU7CiAJ fSBlbHNlIGlmIChJU19HRU45X0JDKGRldl9wcml2KSB8fCBJU19DQU5OT05MQUtFKGRldl9wcml2 KSkgewogCQl0YWJsZS0+c2l6ZSAgPSBBUlJBWV9TSVpFKHNreWxha2VfbW9jc190YWJsZSk7CisJ CXRhYmxlLT5uX2VudHJpZXMgPSBHRU45X05VTV9NT0NTX0VOVFJJRVM7CiAJCXRhYmxlLT50YWJs ZSA9IHNreWxha2VfbW9jc190YWJsZTsKIAkJcmVzdWx0ID0gdHJ1ZTsKIAl9IGVsc2UgaWYgKElT X0dFTjlfTFAoZGV2X3ByaXYpKSB7CiAJCXRhYmxlLT5zaXplICA9IEFSUkFZX1NJWkUoYnJveHRv bl9tb2NzX3RhYmxlKTsKKwkJdGFibGUtPm5fZW50cmllcyA9IEdFTjlfTlVNX01PQ1NfRU5UUklF UzsKIAkJdGFibGUtPnRhYmxlID0gYnJveHRvbl9tb2NzX3RhYmxlOwogCQlyZXN1bHQgPSB0cnVl OwogCX0gZWxzZSB7CkBAIC0zNDgsOCArMzQ5LDYgQEAgdm9pZCBpbnRlbF9tb2NzX2luaXRfZW5n aW5lKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAlpZiAoIWdldF9tb2NzX3NldHRp bmdzKGRldl9wcml2LCAmdGFibGUpKQogCQlyZXR1cm47CiAKLQlHRU1fQlVHX09OKHRhYmxlLnNp emUgPiBOVU1fTU9DU19FTlRSSUVTKGRldl9wcml2KSk7Ci0KIAlmb3IgKGluZGV4ID0gMDsgaW5k ZXggPCB0YWJsZS5zaXplOyBpbmRleCsrKQogCQlJOTE1X1dSSVRFKG1vY3NfcmVnaXN0ZXIoZW5n aW5lLT5pZCwgaW5kZXgpLAogCQkJICAgdGFibGUudGFibGVbaW5kZXhdLmNvbnRyb2xfdmFsdWUp OwpAQCAtMzYyLDcgKzM2MSw3IEBAIHZvaWQgaW50ZWxfbW9jc19pbml0X2VuZ2luZShzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJICogRW50cnkgMCBpbiB0aGUgdGFibGUgaXMgdW5j YWNoZWQgLSBzbyB3ZSBhcmUganVzdCB3cml0aW5nCiAJICogdGhhdCB2YWx1ZSB0byBhbGwgdGhl IHVzZWQgZW50cmllcy4KIAkgKi8KLQlmb3IgKDsgaW5kZXggPCBOVU1fTU9DU19FTlRSSUVTKGRl dl9wcml2KTsgaW5kZXgrKykKKwlmb3IgKDsgaW5kZXggPCB0YWJsZS5uX2VudHJpZXM7IGluZGV4 KyspCiAJCUk5MTVfV1JJVEUobW9jc19yZWdpc3RlcihlbmdpbmUtPmlkLCBpbmRleCksCiAJCQkg ICB0YWJsZS50YWJsZVswXS5jb250cm9sX3ZhbHVlKTsKIH0KQEAgLTM4MCwxOSArMzc5LDE4IEBA IHZvaWQgaW50ZWxfbW9jc19pbml0X2VuZ2luZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUpCiBzdGF0aWMgaW50IGVtaXRfbW9jc19jb250cm9sX3RhYmxlKHN0cnVjdCBpOTE1X3JlcXVl c3QgKnJxLAogCQkJCSAgIGNvbnN0IHN0cnVjdCBkcm1faTkxNV9tb2NzX3RhYmxlICp0YWJsZSkK IHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHJxLT5pOTE1OwogCWVudW0gaW50 ZWxfZW5naW5lX2lkIGVuZ2luZSA9IHJxLT5lbmdpbmUtPmlkOwogCXVuc2lnbmVkIGludCBpbmRl eDsKIAl1MzIgKmNzOwogCi0JaWYgKFdBUk5fT04odGFibGUtPnNpemUgPiBOVU1fTU9DU19FTlRS SUVTKGk5MTUpKSkKKwlpZiAoR0VNX1dBUk5fT04odGFibGUtPnNpemUgPiB0YWJsZS0+bl9lbnRy aWVzKSkKIAkJcmV0dXJuIC1FTk9ERVY7CiAKLQljcyA9IGludGVsX3JpbmdfYmVnaW4ocnEsIDIg KyAyICogTlVNX01PQ1NfRU5UUklFUyhpOTE1KSk7CisJY3MgPSBpbnRlbF9yaW5nX2JlZ2luKHJx LCAyICsgMiAqIHRhYmxlLT5uX2VudHJpZXMpOwogCWlmIChJU19FUlIoY3MpKQogCQlyZXR1cm4g UFRSX0VSUihjcyk7CiAKLQkqY3MrKyA9IE1JX0xPQURfUkVHSVNURVJfSU1NKE5VTV9NT0NTX0VO VFJJRVMoaTkxNSkpOworCSpjcysrID0gTUlfTE9BRF9SRUdJU1RFUl9JTU0odGFibGUtPm5fZW50 cmllcyk7CiAKIAlmb3IgKGluZGV4ID0gMDsgaW5kZXggPCB0YWJsZS0+c2l6ZTsgaW5kZXgrKykg ewogCQkqY3MrKyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KG1vY3NfcmVnaXN0ZXIoZW5naW5lLCBp bmRleCkpOwpAQCAtNDA3LDcgKzQwNSw3IEBAIHN0YXRpYyBpbnQgZW1pdF9tb2NzX2NvbnRyb2xf dGFibGUoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCiAJICogRW50cnkgMCBpbiB0aGUgdGFibGUg aXMgdW5jYWNoZWQgLSBzbyB3ZSBhcmUganVzdCB3cml0aW5nCiAJICogdGhhdCB2YWx1ZSB0byBh bGwgdGhlIHVzZWQgZW50cmllcy4KIAkgKi8KLQlmb3IgKDsgaW5kZXggPCBOVU1fTU9DU19FTlRS SUVTKGk5MTUpOyBpbmRleCsrKSB7CisJZm9yICg7IGluZGV4IDwgdGFibGUtPm5fZW50cmllczsg aW5kZXgrKykgewogCQkqY3MrKyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KG1vY3NfcmVnaXN0ZXIo ZW5naW5lLCBpbmRleCkpOwogCQkqY3MrKyA9IHRhYmxlLT50YWJsZVswXS5jb250cm9sX3ZhbHVl OwogCX0KQEAgLTQ0MCwxOCArNDM4LDE3IEBAIHN0YXRpYyBpbmxpbmUgdTMyIGwzY2NfY29tYmlu ZShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfbW9jc190YWJsZSAqdGFibGUsCiBzdGF0aWMgaW50IGVt aXRfbW9jc19sM2NjX3RhYmxlKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLAogCQkJCWNvbnN0IHN0 cnVjdCBkcm1faTkxNV9tb2NzX3RhYmxlICp0YWJsZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSA9IHJxLT5pOTE1OwogCXVuc2lnbmVkIGludCBpOwogCXUzMiAqY3M7CiAKLQlp ZiAoV0FSTl9PTih0YWJsZS0+c2l6ZSA+IE5VTV9NT0NTX0VOVFJJRVMoaTkxNSkpKQorCWlmIChH RU1fV0FSTl9PTih0YWJsZS0+c2l6ZSA+IHRhYmxlLT5uX2VudHJpZXMpKQogCQlyZXR1cm4gLUVO T0RFVjsKIAotCWNzID0gaW50ZWxfcmluZ19iZWdpbihycSwgMiArIE5VTV9NT0NTX0VOVFJJRVMo aTkxNSkpOworCWNzID0gaW50ZWxfcmluZ19iZWdpbihycSwgMiArIHRhYmxlLT5uX2VudHJpZXMp OwogCWlmIChJU19FUlIoY3MpKQogCQlyZXR1cm4gUFRSX0VSUihjcyk7CiAKLQkqY3MrKyA9IE1J X0xPQURfUkVHSVNURVJfSU1NKE5VTV9NT0NTX0VOVFJJRVMoaTkxNSkgLyAyKTsKKwkqY3MrKyA9 IE1JX0xPQURfUkVHSVNURVJfSU1NKHRhYmxlLT5uX2VudHJpZXMgLyAyKTsKIAogCWZvciAoaSA9 IDA7IGkgPCB0YWJsZS0+c2l6ZS8yOyBpKyspIHsKIAkJKmNzKysgPSBpOTE1X21taW9fcmVnX29m ZnNldChHRU45X0xOQ0ZDTU9DUyhpKSk7CkBAIC00NzAsNyArNDY3LDcgQEAgc3RhdGljIGludCBl bWl0X21vY3NfbDNjY190YWJsZShzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwKIAkgKiB0aGlzIHdp bGwgYmUgdW5jYWNoZWQuIExlYXZlIHRoZSBsYXN0IHBhaXIgdW5pbml0aWFsaXNlZCBhcwogCSAq IHRoZXkgYXJlIHJlc2VydmVkIGJ5IHRoZSBoYXJkd2FyZS4KIAkgKi8KLQlmb3IgKDsgaSA8IE5V TV9NT0NTX0VOVFJJRVMoaTkxNSkgLyAyOyBpKyspIHsKKwlmb3IgKDsgaSA8IHRhYmxlLT5uX2Vu dHJpZXMgLyAyOyBpKyspIHsKIAkJKmNzKysgPSBpOTE1X21taW9fcmVnX29mZnNldChHRU45X0xO Q0ZDTU9DUyhpKSk7CiAJCSpjcysrID0gbDNjY19jb21iaW5lKHRhYmxlLCAwLCAwKTsKIAl9CkBA IC01MTcsNyArNTE0LDcgQEAgdm9pZCBpbnRlbF9tb2NzX2luaXRfbDNjY190YWJsZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJICogdGhpcyB3aWxsIGJlIHVuY2FjaGVkLiBM ZWF2ZSB0aGUgbGFzdCBwYWlyIGFzIGluaXRpYWxpc2VkIGFzCiAJICogdGhleSBhcmUgcmVzZXJ2 ZWQgYnkgdGhlIGhhcmR3YXJlLgogCSAqLwotCWZvciAoOyBpIDwgKE5VTV9NT0NTX0VOVFJJRVMo ZGV2X3ByaXYpIC8gMik7IGkrKykKKwlmb3IgKDsgaSA8IHRhYmxlLm5fZW50cmllcyAvIDI7IGkr KykKIAkJSTkxNV9XUklURShHRU45X0xOQ0ZDTU9DUyhpKSwgbDNjY19jb21iaW5lKCZ0YWJsZSwg MCwgMCkpOwogfQogCi0tIAoyLjIwLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=