From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 20/33] drm/i915: Make ggtt invalidation work on ggtt Date: Mon, 17 Jun 2019 19:12:23 +0100 Message-ID: <20190617181236.7981-21-tvrtko.ursulin@linux.intel.com> References: <20190617181236.7981-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 12A1A89327 for ; Mon, 17 Jun 2019 18:13:19 +0000 (UTC) In-Reply-To: <20190617181236.7981-1-tvrtko.ursulin@linux.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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkl0IGlzIG1v cmUgbG9naWNhbCBmb3IgZ2d0dCBpbnZhbGlkYXRpb24gdG8gdGFrZSBnZ3R0IGFzIGlucHV0IHBh cmFtZXRlci4KClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBp bnRlbC5jb20+ClJldmlld2VkLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5j by51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyB8IDUxICsrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuaCB8ICAyICstCiAyIGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDI3IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggOTcyMmZlMDlkYzQx Li5kZjNiOTE2NTBhYWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC0xMTEs OSArMTExLDkgQEAKIHN0YXRpYyBpbnQKIGk5MTVfZ2V0X2dndHRfdm1hX3BhZ2VzKHN0cnVjdCBp OTE1X3ZtYSAqdm1hKTsKIAotc3RhdGljIHZvaWQgZ2VuNl9nZ3R0X2ludmFsaWRhdGUoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCitzdGF0aWMgdm9pZCBnZW42X2dndHRfaW52YWxpZGF0 ZShzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0KQogewotCXN0cnVjdCBpbnRlbF91bmNvcmUgKnVuY29y ZSA9ICZpOTE1LT51bmNvcmU7CisJc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlID0gJmdndHQt PnZtLmk5MTUtPnVuY29yZTsKIAogCS8qCiAJICogTm90ZSB0aGF0IGFzIGFuIHVuY2FjaGVkIG1t aW8gd3JpdGUsIHRoaXMgd2lsbCBmbHVzaCB0aGUKQEAgLTEyMiwyNCArMTIyLDE5IEBAIHN0YXRp YyB2b2lkIGdlbjZfZ2d0dF9pbnZhbGlkYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KQogCWludGVsX3VuY29yZV93cml0ZV9mdyh1bmNvcmUsIEdGWF9GTFNIX0NOVExfR0VONiwgR0ZY X0ZMU0hfQ05UTF9FTik7CiB9CiAKLXN0YXRpYyB2b2lkIGd1Y19nZ3R0X2ludmFsaWRhdGUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCitzdGF0aWMgdm9pZCBndWNfZ2d0dF9pbnZhbGlk YXRlKHN0cnVjdCBpOTE1X2dndHQgKmdndHQpCiB7Ci0Jc3RydWN0IGludGVsX3VuY29yZSAqdW5j b3JlID0gJmk5MTUtPnVuY29yZTsKKwlzdHJ1Y3QgaW50ZWxfdW5jb3JlICp1bmNvcmUgPSAmZ2d0 dC0+dm0uaTkxNS0+dW5jb3JlOwogCi0JZ2VuNl9nZ3R0X2ludmFsaWRhdGUoaTkxNSk7CisJZ2Vu Nl9nZ3R0X2ludmFsaWRhdGUoZ2d0dCk7CiAJaW50ZWxfdW5jb3JlX3dyaXRlX2Z3KHVuY29yZSwg R0VOOF9HVENSLCBHRU44X0dUQ1JfSU5WQUxJREFURSk7CiB9CiAKLXN0YXRpYyB2b2lkIGdtY2hf Z2d0dF9pbnZhbGlkYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQorc3RhdGljIHZv aWQgZ21jaF9nZ3R0X2ludmFsaWRhdGUoc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCkKIHsKIAlpbnRl bF9ndHRfY2hpcHNldF9mbHVzaCgpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgaTkxNV9nZ3R0 X2ludmFsaWRhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCi17Ci0JaTkxNS0+Z2d0 dC5pbnZhbGlkYXRlKGk5MTUpOwotfQotCiBzdGF0aWMgaW50IHBwZ3R0X2JpbmRfdm1hKHN0cnVj dCBpOTE1X3ZtYSAqdm1hLAogCQkJICBlbnVtIGk5MTVfY2FjaGVfbGV2ZWwgY2FjaGVfbGV2ZWws CiAJCQkgIHUzMiB1bnVzZWQpCkBAIC0xODc2LDcgKzE4NzEsNyBAQCBzdGF0aWMgaW50IGdlbjZf YWxsb2NfdmFfcmFuZ2Uoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAKIAlpZiAoZmx1 c2gpIHsKIAkJbWFya190bGJzX2RpcnR5KCZwcGd0dC0+YmFzZSk7Ci0JCWdlbjZfZ2d0dF9pbnZh bGlkYXRlKHZtLT5pOTE1KTsKKwkJZ2VuNl9nZ3R0X2ludmFsaWRhdGUoJnZtLT5pOTE1LT5nZ3R0 KTsKIAl9CiAKIAlpbnRlbF9ydW50aW1lX3BtX3B1dCgmdm0tPmk5MTUtPnJ1bnRpbWVfcG0sIHdh a2VyZWYpOwpAQCAtMjAyNSw3ICsyMDIwLDcgQEAgc3RhdGljIGludCBwZF92bWFfYmluZChzdHJ1 Y3QgaTkxNV92bWEgKnZtYSwKIAkJZ2VuNl93cml0ZV9wZGUocHBndHQsIHBkZSwgcHQpOwogCiAJ bWFya190bGJzX2RpcnR5KCZwcGd0dC0+YmFzZSk7Ci0JZ2VuNl9nZ3R0X2ludmFsaWRhdGUocHBn dHQtPmJhc2Uudm0uaTkxNSk7CisJZ2VuNl9nZ3R0X2ludmFsaWRhdGUoZ2d0dCk7CiAKIAlyZXR1 cm4gMDsKIH0KQEAgLTIzNDAsNyArMjMzNSw3IEBAIHZvaWQgaTkxNV9nZW1fc3VzcGVuZF9ndHRf bWFwcGluZ3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCiAJZ2d0dC0+dm0u Y2xlYXJfcmFuZ2UoJmdndHQtPnZtLCAwLCBnZ3R0LT52bS50b3RhbCk7CiAKLQlpOTE1X2dndHRf aW52YWxpZGF0ZShkZXZfcHJpdik7CisJZ2d0dC0+aW52YWxpZGF0ZShnZ3R0KTsKIH0KIAogaW50 IGk5MTVfZ2VtX2d0dF9wcmVwYXJlX3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosCkBAIC0yMzg2LDcgKzIzODEsNyBAQCBzdGF0aWMgdm9pZCBnZW44X2dndHRfaW5zZXJ0X3Bh Z2Uoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAKIAlnZW44X3NldF9wdGUocHRlLCBn ZW44X3B0ZV9lbmNvZGUoYWRkciwgbGV2ZWwsIDApKTsKIAotCWdndHQtPmludmFsaWRhdGUodm0t Pmk5MTUpOworCWdndHQtPmludmFsaWRhdGUoZ2d0dCk7CiB9CiAKIHN0YXRpYyB2b2lkIGdlbjhf Z2d0dF9pbnNlcnRfZW50cmllcyhzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKQEAgLTI0 MTQsNyArMjQwOSw3IEBAIHN0YXRpYyB2b2lkIGdlbjhfZ2d0dF9pbnNlcnRfZW50cmllcyhzdHJ1 Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAkgKiBXZSB3YW50IHRvIGZsdXNoIHRoZSBUTEJz IG9ubHkgYWZ0ZXIgd2UncmUgY2VydGFpbiBhbGwgdGhlIFBURQogCSAqIHVwZGF0ZXMgaGF2ZSBm aW5pc2hlZC4KIAkgKi8KLQlnZ3R0LT5pbnZhbGlkYXRlKHZtLT5pOTE1KTsKKwlnZ3R0LT5pbnZh bGlkYXRlKGdndHQpOwogfQogCiBzdGF0aWMgdm9pZCBnZW42X2dndHRfaW5zZXJ0X3BhZ2Uoc3Ry dWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCkBAIC0yNDI5LDcgKzI0MjQsNyBAQCBzdGF0aWMg dm9pZCBnZW42X2dndHRfaW5zZXJ0X3BhZ2Uoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0s CiAKIAlpb3dyaXRlMzIodm0tPnB0ZV9lbmNvZGUoYWRkciwgbGV2ZWwsIGZsYWdzKSwgcHRlKTsK IAotCWdndHQtPmludmFsaWRhdGUodm0tPmk5MTUpOworCWdndHQtPmludmFsaWRhdGUoZ2d0dCk7 CiB9CiAKIC8qCkBAIC0yNDU1LDcgKzI0NTAsNyBAQCBzdGF0aWMgdm9pZCBnZW42X2dndHRfaW5z ZXJ0X2VudHJpZXMoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJICogV2Ugd2FudCB0 byBmbHVzaCB0aGUgVExCcyBvbmx5IGFmdGVyIHdlJ3JlIGNlcnRhaW4gYWxsIHRoZSBQVEUKIAkg KiB1cGRhdGVzIGhhdmUgZmluaXNoZWQuCiAJICovCi0JZ2d0dC0+aW52YWxpZGF0ZSh2bS0+aTkx NSk7CisJZ2d0dC0+aW52YWxpZGF0ZShnZ3R0KTsKIH0KIAogc3RhdGljIHZvaWQgbm9wX2NsZWFy X3JhbmdlKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLApAQCAtMzY1MCwyNSArMzY0NSwy OSBAQCBpbnQgaTkxNV9nZ3R0X2VuYWJsZV9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAKIHZvaWQgaTkxNV9nZ3R0X2VuYWJsZV9ndWMoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUpCiB7Ci0JR0VNX0JVR19PTihpOTE1LT5nZ3R0LmludmFsaWRhdGUgIT0gZ2VuNl9n Z3R0X2ludmFsaWRhdGUpOworCXN0cnVjdCBpOTE1X2dndHQgKmdndHQgPSAmaTkxNS0+Z2d0dDsK IAotCWk5MTUtPmdndHQuaW52YWxpZGF0ZSA9IGd1Y19nZ3R0X2ludmFsaWRhdGU7CisJR0VNX0JV R19PTihnZ3R0LT5pbnZhbGlkYXRlICE9IGdlbjZfZ2d0dF9pbnZhbGlkYXRlKTsKIAotCWk5MTVf Z2d0dF9pbnZhbGlkYXRlKGk5MTUpOworCWdndHQtPmludmFsaWRhdGUgPSBndWNfZ2d0dF9pbnZh bGlkYXRlOworCisJZ2d0dC0+aW52YWxpZGF0ZShnZ3R0KTsKIH0KIAogdm9pZCBpOTE1X2dndHRf ZGlzYWJsZV9ndWMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiB7CisJc3RydWN0IGk5 MTVfZ2d0dCAqZ2d0dCA9ICZpOTE1LT5nZ3R0OworCiAJLyogWFhYIFRlbXBvcmFyeSBwYXJkb24g Zm9yIGVycm9yIHVubG9hZCAqLwotCWlmIChpOTE1LT5nZ3R0LmludmFsaWRhdGUgPT0gZ2VuNl9n Z3R0X2ludmFsaWRhdGUpCisJaWYgKGdndHQtPmludmFsaWRhdGUgPT0gZ2VuNl9nZ3R0X2ludmFs aWRhdGUpCiAJCXJldHVybjsKIAogCS8qIFdlIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBhZnRlciBp OTE1X2dndHRfZW5hYmxlX2d1YygpICovCi0JR0VNX0JVR19PTihpOTE1LT5nZ3R0LmludmFsaWRh dGUgIT0gZ3VjX2dndHRfaW52YWxpZGF0ZSk7CisJR0VNX0JVR19PTihnZ3R0LT5pbnZhbGlkYXRl ICE9IGd1Y19nZ3R0X2ludmFsaWRhdGUpOwogCi0JaTkxNS0+Z2d0dC5pbnZhbGlkYXRlID0gZ2Vu Nl9nZ3R0X2ludmFsaWRhdGU7CisJZ2d0dC0+aW52YWxpZGF0ZSA9IGdlbjZfZ2d0dF9pbnZhbGlk YXRlOwogCi0JaTkxNV9nZ3R0X2ludmFsaWRhdGUoaTkxNSk7CisJZ2d0dC0+aW52YWxpZGF0ZShn Z3R0KTsKIH0KIAogdm9pZCBpOTE1X2dlbV9yZXN0b3JlX2d0dF9tYXBwaW5ncyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCkBAIC0zNzEwLDcgKzM3MDksNyBAQCB2b2lkIGk5MTVf Z2VtX3Jlc3RvcmVfZ3R0X21hcHBpbmdzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIAl9CiAKIAlnZ3R0LT52bS5jbG9zZWQgPSBmYWxzZTsKLQlpOTE1X2dndHRfaW52YWxpZGF0 ZShkZXZfcHJpdik7CisJZ2d0dC0+aW52YWxpZGF0ZShnZ3R0KTsKIAogCW11dGV4X3VubG9jaygm Z2d0dC0+dm0ubXV0ZXgpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCmluZGV4IGY4 YzA2Mjg4YmU2NS4uYjU0MTE5MGRiNmU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9ndHQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu aApAQCAtNDAxLDcgKzQwMSw3IEBAIHN0cnVjdCBpOTE1X2dndHQgewogCiAJLyoqICJHcmFwaGlj cyBTdG9sZW4gTWVtb3J5IiBob2xkcyB0aGUgZ2xvYmFsIFBURXMgKi8KIAl2b2lkIF9faW9tZW0g KmdzbTsKLQl2b2lkICgqaW52YWxpZGF0ZSkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KTsKKwl2b2lkICgqaW52YWxpZGF0ZSkoc3RydWN0IGk5MTVfZ2d0dCAqZ2d0dCk7CiAKIAli b29sIGRvX2lkbGVfbWFwczsKIAotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZng=