From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lucas De Marchi Subject: [PATCH v8 5/7] drm/i915: keep track of used entries in MOCS table Date: Mon, 21 Jan 2019 21:12:25 -0800 Message-ID: <20190122051227.8329-6-lucas.demarchi@intel.com> References: <20190122051227.8329-1-lucas.demarchi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 507E889AFF for ; Tue, 22 Jan 2019 05:12:44 +0000 (UTC) In-Reply-To: <20190122051227.8329-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 List-Id: intel-gfx@lists.freedesktop.org SW5zdGVhZCBvZiBjb25zaWRlcmluZyB3ZSBoYXZlIGRlZmluZWQgZW50cmllcyBmb3IgYW55IGlu ZGV4IGluIHRoZQp0YWJsZSwgbGV0J3Mga2VlcCB0cmFjayBvZiB0aGUgb25lcyB3ZSBleHBsaWNp dGx5IGRlZmluZWQuIFRoaXMgd2lsbAphbGxvdyBHZW4gMTEgdG8gaGF2ZSBpdCdzIG5ldyB0YWJs ZSBkZWZpbmVkIGluIHdoaWNoIHdlIGhhdmUgaG9sZXMgb2YKdW5kZWZpbmVkIGVudHJpZXMuCgpS ZXBlYXRlZCBjb21tZW50cyBhYm91dCB0aGUgbWVhbmluZyBvZiB1bmRlZmluZWQgZW50cmllcyB3 ZXJlIHJlbW92ZWQKc2luY2UgdGhleSBhcmUgb3Zlcmx5IHZlcmJvc2UgYW5kIGNvcHktcGFzdGVk IGluIHNldmVyYWwgZnVuY3Rpb25zOiBub3cKdGhlIGRlZmluaXRpb24gaXMgaW4gdGhlIHRvcCBv bmx5LgoKU2lnbmVkLW9mZi1ieTogTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBpbnRl bC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbW9jcy5jIHwgODggKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDU3IGluc2VydGlvbnMo KyksIDMxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX21vY3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21vY3MuYwppbmRleCBmYWFl MmVlZmM1Y2MuLmFmMmFlMmYzOTZhZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbW9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21vY3MuYwpAQCAt MjgsNiArMjgsNyBAQAogc3RydWN0IGRybV9pOTE1X21vY3NfZW50cnkgewogCXUzMiBjb250cm9s X3ZhbHVlOwogCXUxNiBsM2NjX3ZhbHVlOworCXUxNiB1c2VkOwogfTsKIAogc3RydWN0IGRybV9p OTE1X21vY3NfdGFibGUgewpAQCAtNzUsNiArNzYsNyBAQCBzdHJ1Y3QgZHJtX2k5MTVfbW9jc190 YWJsZSB7CiAJW19faWR4XSA9IHsgXAogCQkuY29udHJvbF92YWx1ZSA9IF9fY29udHJvbF92YWx1 ZSwgXAogCQkubDNjY192YWx1ZSA9IF9fbDNjY192YWx1ZSwgXAorCQkudXNlZCA9IDEsIFwKIAl9 CiAKIC8qCkBAIC0xOTUsMjQgKzE5NywyNiBAQCB2b2lkIGludGVsX21vY3NfaW5pdF9lbmdpbmUo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGVuZ2luZS0+aTkxNTsKIAlzdHJ1Y3QgZHJtX2k5MTVfbW9jc190YWJsZSB0 YWJsZTsKIAl1bnNpZ25lZCBpbnQgaW5kZXg7CisJdTMyIHVudXNlZF92YWx1ZTsKIAogCWlmICgh Z2V0X21vY3Nfc2V0dGluZ3MoZGV2X3ByaXYsICZ0YWJsZSkpCiAJCXJldHVybjsKIAogCUdFTV9C VUdfT04odGFibGUuc2l6ZSA+IEdFTjlfTlVNX01PQ1NfRU5UUklFUyk7CiAKLQlmb3IgKGluZGV4 ID0gMDsgaW5kZXggPCB0YWJsZS5zaXplOyBpbmRleCsrKQotCQlJOTE1X1dSSVRFKG1vY3NfcmVn aXN0ZXIoZW5naW5lLT5pZCwgaW5kZXgpLAotCQkJICAgdGFibGUudGFibGVbaW5kZXhdLmNvbnRy b2xfdmFsdWUpOworCS8qIFNldCB1bnVzZWQgdmFsdWVzIHRvIFBURSAqLworCXVudXNlZF92YWx1 ZSA9IHRhYmxlLnRhYmxlW0k5MTVfTU9DU19QVEVdLmNvbnRyb2xfdmFsdWU7CiAKLQkvKgotCSAq IE5vdyBzZXQgdGhlIHVudXNlZCBlbnRyaWVzIHRvIFBURS4gVGhlc2UgZW50cmllcyBhcmUgb2Zm aWNpYWxseQotCSAqIHVuZGVmaW5lZCBhbmQgbm8gY29udHJhY3QgZm9yIHRoZSBjb250ZW50cyBh bmQgc2V0dGluZ3MgaXMgZ2l2ZW4KLQkgKiBmb3IgdGhlc2UgZW50cmllcy4KLQkgKi8KKwlmb3Ig KGluZGV4ID0gMDsgaW5kZXggPCB0YWJsZS5zaXplOyBpbmRleCsrKSB7CisJCXUzMiB2YWx1ZSA9 IHRhYmxlLnRhYmxlW2luZGV4XS51c2VkID8KKwkJCXRhYmxlLnRhYmxlW2luZGV4XS5jb250cm9s X3ZhbHVlIDogdW51c2VkX3ZhbHVlOworCisJCUk5MTVfV1JJVEUobW9jc19yZWdpc3Rlcihlbmdp bmUtPmlkLCBpbmRleCksIHZhbHVlKTsKKwl9CisKKwkvKiBBbGwgcmVtYWluaW5nIGVudHJpZXMg YXJlIGFsc28gdW51c2VkICovCiAJZm9yICg7IGluZGV4IDwgR0VOOV9OVU1fTU9DU19FTlRSSUVT OyBpbmRleCsrKQotCQlJOTE1X1dSSVRFKG1vY3NfcmVnaXN0ZXIoZW5naW5lLT5pZCwgaW5kZXgp LAotCQkJICAgdGFibGUudGFibGVbSTkxNV9NT0NTX1BURV0uY29udHJvbF92YWx1ZSk7CisJCUk5 MTVfV1JJVEUobW9jc19yZWdpc3RlcihlbmdpbmUtPmlkLCBpbmRleCksIHVudXNlZF92YWx1ZSk7 CiB9CiAKIC8qKgpAQCAtMjMwLDExICsyMzQsMTUgQEAgc3RhdGljIGludCBlbWl0X21vY3NfY29u dHJvbF90YWJsZShzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwKIHsKIAllbnVtIGludGVsX2VuZ2lu ZV9pZCBlbmdpbmUgPSBycS0+ZW5naW5lLT5pZDsKIAl1bnNpZ25lZCBpbnQgaW5kZXg7CisJdTMy IHVudXNlZF92YWx1ZTsKIAl1MzIgKmNzOwogCiAJaWYgKFdBUk5fT04odGFibGUtPnNpemUgPiBH RU45X05VTV9NT0NTX0VOVFJJRVMpKQogCQlyZXR1cm4gLUVOT0RFVjsKIAorCS8qIFNldCB1bnVz ZWQgdmFsdWVzIHRvIFBURSAqLworCXVudXNlZF92YWx1ZSA9IHRhYmxlLT50YWJsZVtJOTE1X01P Q1NfUFRFXS5jb250cm9sX3ZhbHVlOworCiAJY3MgPSBpbnRlbF9yaW5nX2JlZ2luKHJxLCAyICsg MiAqIEdFTjlfTlVNX01PQ1NfRU5UUklFUyk7CiAJaWYgKElTX0VSUihjcykpCiAJCXJldHVybiBQ VFJfRVJSKGNzKTsKQEAgLTI0MiwxOCArMjUwLDE3IEBAIHN0YXRpYyBpbnQgZW1pdF9tb2NzX2Nv bnRyb2xfdGFibGUoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCiAJKmNzKysgPSBNSV9MT0FEX1JF R0lTVEVSX0lNTShHRU45X05VTV9NT0NTX0VOVFJJRVMpOwogCiAJZm9yIChpbmRleCA9IDA7IGlu ZGV4IDwgdGFibGUtPnNpemU7IGluZGV4KyspIHsKKwkJdTMyIHZhbHVlID0gdGFibGUtPnRhYmxl W2luZGV4XS51c2VkID8KKwkJCXRhYmxlLT50YWJsZVtpbmRleF0uY29udHJvbF92YWx1ZSA6IHVu dXNlZF92YWx1ZTsKKwogCQkqY3MrKyA9IGk5MTVfbW1pb19yZWdfb2Zmc2V0KG1vY3NfcmVnaXN0 ZXIoZW5naW5lLCBpbmRleCkpOwotCQkqY3MrKyA9IHRhYmxlLT50YWJsZVtpbmRleF0uY29udHJv bF92YWx1ZTsKKwkJKmNzKysgPSB2YWx1ZTsKIAl9CiAKLQkvKgotCSAqIE5vdyBzZXQgdGhlIHVu dXNlZCBlbnRyaWVzIHRvIFBURS4gVGhlc2UgZW50cmllcyBhcmUgb2ZmaWNpYWxseQotCSAqIHVu ZGVmaW5lZCBhbmQgbm8gY29udHJhY3QgZm9yIHRoZSBjb250ZW50cyBhbmQgc2V0dGluZ3MgaXMg Z2l2ZW4KLQkgKiBmb3IgdGhlc2UgZW50cmllcy4KLQkgKi8KKwkvKiBBbGwgcmVtYWluaW5nIGVu dHJpZXMgYXJlIGFsc28gdW51c2VkICovCiAJZm9yICg7IGluZGV4IDwgR0VOOV9OVU1fTU9DU19F TlRSSUVTOyBpbmRleCsrKSB7CiAJCSpjcysrID0gaTkxNV9tbWlvX3JlZ19vZmZzZXQobW9jc19y ZWdpc3RlcihlbmdpbmUsIGluZGV4KSk7Ci0JCSpjcysrID0gdGFibGUtPnRhYmxlW0k5MTVfTU9D U19QVEVdLmNvbnRyb2xfdmFsdWU7CisJCSpjcysrID0gdW51c2VkX3ZhbHVlOwogCX0KIAogCSpj cysrID0gTUlfTk9PUDsKQEAgLTI4NCwxMiArMjkxLDE1IEBAIHN0YXRpYyBpbmxpbmUgdTMyIGwz Y2NfY29tYmluZShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfbW9jc190YWJsZSAqdGFibGUsCiBzdGF0 aWMgaW50IGVtaXRfbW9jc19sM2NjX3RhYmxlKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLAogCQkJ CWNvbnN0IHN0cnVjdCBkcm1faTkxNV9tb2NzX3RhYmxlICp0YWJsZSkKIHsKLQl1bnNpZ25lZCBp bnQgaTsKKwl1bnNpZ25lZCBpbnQgaSwgdW51c2VkX2luZGV4OwogCXUzMiAqY3M7CiAKIAlpZiAo V0FSTl9PTih0YWJsZS0+c2l6ZSA+IEdFTjlfTlVNX01PQ1NfRU5UUklFUykpCiAJCXJldHVybiAt RU5PREVWOwogCisJLyogU2V0IHVudXNlZCB2YWx1ZXMgdG8gUFRFICovCisJdW51c2VkX2luZGV4 ID0gSTkxNV9NT0NTX1BURTsKKwogCWNzID0gaW50ZWxfcmluZ19iZWdpbihycSwgMiArIEdFTjlf TlVNX01PQ1NfRU5UUklFUyk7CiAJaWYgKElTX0VSUihjcykpCiAJCXJldHVybiBQVFJfRVJSKGNz KTsKQEAgLTI5NywyNSArMzA3LDI5IEBAIHN0YXRpYyBpbnQgZW1pdF9tb2NzX2wzY2NfdGFibGUo c3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCiAJKmNzKysgPSBNSV9MT0FEX1JFR0lTVEVSX0lNTShH RU45X05VTV9NT0NTX0VOVFJJRVMgLyAyKTsKIAogCWZvciAoaSA9IDA7IGkgPCB0YWJsZS0+c2l6 ZSAvIDI7IGkrKykgeworCQl1MTYgbG93ID0gdGFibGUtPnRhYmxlWzIgKiBpXS51c2VkID8KKwkJ CTIgKiBpIDogdW51c2VkX2luZGV4OworCQl1MTYgaGlnaCA9IHRhYmxlLT50YWJsZVsyICogaSAr IDFdLnVzZWQgPworCQkJMiAqIGkgKyAxIDogdW51c2VkX2luZGV4OworCiAJCSpjcysrID0gaTkx NV9tbWlvX3JlZ19vZmZzZXQoR0VOOV9MTkNGQ01PQ1MoaSkpOwotCQkqY3MrKyA9IGwzY2NfY29t YmluZSh0YWJsZSwgMiAqIGksIDIgKiBpICsgMSk7CisJCSpjcysrID0gbDNjY19jb21iaW5lKHRh YmxlLCBsb3csIGhpZ2gpOwogCX0KIAogCWlmICh0YWJsZS0+c2l6ZSAmIDB4MDEpIHsKKwkJdTE2 IGxvdyA9IHRhYmxlLT50YWJsZVsyICogaV0udXNlZCA/CisJCQkyICogaSA6IHVudXNlZF9pbmRl eDsKKwogCQkvKiBPZGQgdGFibGUgc2l6ZSAtIDEgbGVmdCBvdmVyICovCiAJCSpjcysrID0gaTkx NV9tbWlvX3JlZ19vZmZzZXQoR0VOOV9MTkNGQ01PQ1MoaSkpOwotCQkqY3MrKyA9IGwzY2NfY29t YmluZSh0YWJsZSwgMiAqIGksIEk5MTVfTU9DU19QVEUpOworCQkqY3MrKyA9IGwzY2NfY29tYmlu ZSh0YWJsZSwgbG93LCB1bnVzZWRfaW5kZXgpOwogCQlpKys7CiAJfQogCi0JLyoKLQkgKiBOb3cg c2V0IHRoZSB1bnVzZWQgZW50cmllcyB0byBQVEUuIFRoZXNlIGVudHJpZXMgYXJlIG9mZmljaWFs bHkKLQkgKiB1bmRlZmluZWQgYW5kIG5vIGNvbnRyYWN0IGZvciB0aGUgY29udGVudHMgYW5kIHNl dHRpbmdzIGlzIGdpdmVuCi0JICogZm9yIHRoZXNlIGVudHJpZXMuCi0JICovCisJLyogQWxsIHJl bWFpbmluZyBlbnRyaWVzIGFyZSBhbHNvIHVudXNlZCAqLwogCWZvciAoOyBpIDwgR0VOOV9OVU1f TU9DU19FTlRSSUVTIC8gMjsgaSsrKSB7CiAJCSpjcysrID0gaTkxNV9tbWlvX3JlZ19vZmZzZXQo R0VOOV9MTkNGQ01PQ1MoaSkpOwotCQkqY3MrKyA9IGwzY2NfY29tYmluZSh0YWJsZSwgSTkxNV9N T0NTX1BURSwgSTkxNV9NT0NTX1BURSk7CisJCSpjcysrID0gbDNjY19jb21iaW5lKHRhYmxlLCB1 bnVzZWRfaW5kZXgsIHVudXNlZF9pbmRleCk7CiAJfQogCiAJKmNzKysgPSBNSV9OT09QOwpAQCAt MzQxLDI2ICszNTUsMzggQEAgc3RhdGljIGludCBlbWl0X21vY3NfbDNjY190YWJsZShzdHJ1Y3Qg aTkxNV9yZXF1ZXN0ICpycSwKIHZvaWQgaW50ZWxfbW9jc19pbml0X2wzY2NfdGFibGUoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCXN0cnVjdCBkcm1faTkxNV9tb2NzX3Rh YmxlIHRhYmxlOwotCXVuc2lnbmVkIGludCBpOworCXVuc2lnbmVkIGludCBpLCB1bnVzZWRfaW5k ZXg7CiAKIAlpZiAoIWdldF9tb2NzX3NldHRpbmdzKGRldl9wcml2LCAmdGFibGUpKQogCQlyZXR1 cm47CiAKLQlmb3IgKGkgPSAwOyBpIDwgdGFibGUuc2l6ZSAvIDI7IGkrKykKKwkvKiBTZXQgdW51 c2VkIHZhbHVlcyB0byBQVEUgKi8KKwl1bnVzZWRfaW5kZXggPSBJOTE1X01PQ1NfUFRFOworCisJ Zm9yIChpID0gMDsgaSA8IHRhYmxlLnNpemUgLyAyOyBpKyspIHsKKwkJdTE2IGxvdyA9IHRhYmxl LnRhYmxlWzIgKiBpXS51c2VkID8KKwkJCTIgKiBpIDogdW51c2VkX2luZGV4OworCQl1MTYgaGln aCA9IHRhYmxlLnRhYmxlWzIgKiBpICsgMV0udXNlZCA/CisJCQkyICogaSArIDEgOiB1bnVzZWRf aW5kZXg7CisKIAkJSTkxNV9XUklURShHRU45X0xOQ0ZDTU9DUyhpKSwKLQkJCSAgIGwzY2NfY29t YmluZSgmdGFibGUsIDIgKiBpLCAyICogaSArIDEpKTsKKwkJCSAgIGwzY2NfY29tYmluZSgmdGFi bGUsIGxvdywgaGlnaCkpOworCX0KIAogCS8qIE9kZCB0YWJsZSBzaXplIC0gMSBsZWZ0IG92ZXIg Ki8KIAlpZiAodGFibGUuc2l6ZSAmIDB4MDEpIHsKKwkJdTE2IGxvdyA9IHRhYmxlLnRhYmxlWzIg KiBpXS51c2VkID8KKwkJCTIgKiBpIDogdW51c2VkX2luZGV4OworCiAJCUk5MTVfV1JJVEUoR0VO OV9MTkNGQ01PQ1MoaSksCi0JCQkgICBsM2NjX2NvbWJpbmUoJnRhYmxlLCAyICogaSwgSTkxNV9N T0NTX1BURSkpOworCQkJICAgbDNjY19jb21iaW5lKCZ0YWJsZSwgbG93LCB1bnVzZWRfaW5kZXgp KTsKIAkJaSsrOwogCX0KIAogCS8qIE5vdyBzZXQgdGhlIHJlc3Qgb2YgdGhlIHRhYmxlIHRvIFBU RSAqLwogCWZvciAoOyBpIDwgKEdFTjlfTlVNX01PQ1NfRU5UUklFUyAvIDIpOyBpKyspCiAJCUk5 MTVfV1JJVEUoR0VOOV9MTkNGQ01PQ1MoaSksCi0JCQkgICBsM2NjX2NvbWJpbmUoJnRhYmxlLCBJ OTE1X01PQ1NfUFRFLCBJOTE1X01PQ1NfUFRFKSk7CisJCQkgICBsM2NjX2NvbWJpbmUoJnRhYmxl LCB1bnVzZWRfaW5kZXgsIHVudXNlZF9pbmRleCkpOwogfQogCiAvKioKLS0gCjIuMjAuMAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==