From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 27/37] drm/i915: Use VMA for wa_ctx tracking Date: Fri, 12 Aug 2016 07:54:17 +0100 Message-ID: <1470984867-7132-27-git-send-email-chris@chris-wilson.co.uk> References: <1470984867-7132-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id C72DE6EA8D for ; Fri, 12 Aug 2016 06:55:05 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id q128so1175184wma.1 for ; Thu, 11 Aug 2016 23:55:05 -0700 (PDT) In-Reply-To: <1470984867-7132-1-git-send-email-chris@chris-wilson.co.uk> 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 U2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ClJl dmlld2VkLWJ5OiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYyAgIHwgIDIgKy0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICB8IDU4ICsrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5oIHwgIDQgKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDI5IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vy cm9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCmluZGV4IGQ0NWIy MWEwMWVmYy4uNTRjMDRlZGRmMzEzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dwdV9lcnJvci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9y LmMKQEAgLTExMjgsNyArMTEyOCw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3JlY29yZF9yaW5n cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJCQkgICAgICBlbmdpbmUt PnN0YXR1c19wYWdlLnZtYS0+b2JqKTsKIAogCQllZS0+d2FfY3R4ID0gaTkxNV9lcnJvcl9nZ3R0 X29iamVjdF9jcmVhdGUoZGV2X3ByaXYsCi0JCQkJCQkJICAgZW5naW5lLT53YV9jdHgub2JqKTsK KwkJCQkJCQkgICBlbmdpbmUtPndhX2N0eC52bWEtPm9iaik7CiAKIAkJY291bnQgPSAwOwogCQls aXN0X2Zvcl9lYWNoX2VudHJ5KHJlcXVlc3QsICZlbmdpbmUtPnJlcXVlc3RfbGlzdCwgbGluaykK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggODhiYzVkNGNlMjQzLi5hZTM5YWU3NzFhZDkg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC0xMTY1LDQ1ICsxMTY1LDUxIEBAIHN0YXRp YyBpbnQgZ2VuOV9pbml0X3BlcmN0eF9iYihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUs CiAKIHN0YXRpYyBpbnQgbHJjX3NldHVwX3dhX2N0eF9vYmooc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lLCB1MzIgc2l6ZSkKIHsKLQlpbnQgcmV0OworCXN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmo7CisJc3RydWN0IGk5MTVfdm1hICp2bWE7CisJaW50IGVycjsKIAotCWVuZ2lu ZS0+d2FfY3R4Lm9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGUoJmVuZ2luZS0+aTkxNS0+ZHJt LAotCQkJCQkJICAgIFBBR0VfQUxJR04oc2l6ZSkpOwotCWlmIChJU19FUlIoZW5naW5lLT53YV9j dHgub2JqKSkgewotCQlEUk1fREVCVUdfRFJJVkVSKCJhbGxvYyBMUkMgV0EgY3R4IGJhY2tpbmcg b2JqIGZhaWxlZC5cbiIpOwotCQlyZXQgPSBQVFJfRVJSKGVuZ2luZS0+d2FfY3R4Lm9iaik7Ci0J CWVuZ2luZS0+d2FfY3R4Lm9iaiA9IE5VTEw7Ci0JCXJldHVybiByZXQ7Ci0JfQorCW9iaiA9IGk5 MTVfZ2VtX29iamVjdF9jcmVhdGUoJmVuZ2luZS0+aTkxNS0+ZHJtLCBQQUdFX0FMSUdOKHNpemUp KTsKKwlpZiAoSVNfRVJSKG9iaikpCisJCXJldHVybiBQVFJfRVJSKG9iaik7CiAKLQlyZXQgPSBp OTE1X2dlbV9vYmplY3RfZ2d0dF9waW4oZW5naW5lLT53YV9jdHgub2JqLCBOVUxMLAotCQkJCSAg ICAgICAwLCBQQUdFX1NJWkUsIFBJTl9ISUdIKTsKLQlpZiAocmV0KSB7Ci0JCURSTV9ERUJVR19E UklWRVIoInBpbiBMUkMgV0EgY3R4IGJhY2tpbmcgb2JqIGZhaWxlZDogJWRcbiIsCi0JCQkJIHJl dCk7Ci0JCWk5MTVfZ2VtX29iamVjdF9wdXQoZW5naW5lLT53YV9jdHgub2JqKTsKLQkJcmV0dXJu IHJldDsKKwl2bWEgPSBpOTE1X3ZtYV9jcmVhdGUob2JqLCAmZW5naW5lLT5pOTE1LT5nZ3R0LmJh c2UsIE5VTEwpOworCWlmIChJU19FUlIodm1hKSkgeworCQllcnIgPSBQVFJfRVJSKHZtYSk7CisJ CWdvdG8gZXJyOwogCX0KIAorCWVyciA9IGk5MTVfdm1hX3Bpbih2bWEsIDAsIFBBR0VfU0laRSwg UElOX0dMT0JBTCB8IFBJTl9ISUdIKTsKKwlpZiAoZXJyKQorCQlnb3RvIGVycjsKKworCWVuZ2lu ZS0+d2FfY3R4LnZtYSA9IHZtYTsKIAlyZXR1cm4gMDsKKworZXJyOgorCWk5MTVfZ2VtX29iamVj dF9wdXQob2JqKTsKKwlyZXR1cm4gZXJyOwogfQogCiBzdGF0aWMgdm9pZCBscmNfZGVzdHJveV93 YV9jdHhfb2JqKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIHsKLQlpZiAoZW5naW5l LT53YV9jdHgub2JqKSB7Ci0JCWk5MTVfZ2VtX29iamVjdF9nZ3R0X3VucGluKGVuZ2luZS0+d2Ff Y3R4Lm9iaik7Ci0JCWk5MTVfZ2VtX29iamVjdF9wdXQoZW5naW5lLT53YV9jdHgub2JqKTsKLQkJ ZW5naW5lLT53YV9jdHgub2JqID0gTlVMTDsKLQl9CisJc3RydWN0IGk5MTVfdm1hICp2bWE7CisK Kwl2bWEgPSBmZXRjaF9hbmRfemVybygmZW5naW5lLT53YV9jdHgudm1hKTsKKwlpZiAoIXZtYSkK KwkJcmV0dXJuOworCisJaTkxNV92bWFfdW5waW4odm1hKTsKKwlpOTE1X3ZtYV9wdXQodm1hKTsK IH0KIAogc3RhdGljIGludCBpbnRlbF9pbml0X3dvcmthcm91bmRfYmIoc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lKQogewotCWludCByZXQ7CisJc3RydWN0IGk5MTVfY3R4X3dvcmthcm91 bmRzICp3YV9jdHggPSAmZW5naW5lLT53YV9jdHg7CiAJdWludDMyX3QgKmJhdGNoOwogCXVpbnQz Ml90IG9mZnNldDsKIAlzdHJ1Y3QgcGFnZSAqcGFnZTsKLQlzdHJ1Y3QgaTkxNV9jdHhfd29ya2Fy b3VuZHMgKndhX2N0eCA9ICZlbmdpbmUtPndhX2N0eDsKKwlpbnQgcmV0OwogCiAJV0FSTl9PTihl bmdpbmUtPmlkICE9IFJDUyk7CiAKQEAgLTEyMjYsNyArMTIzMiw3IEBAIHN0YXRpYyBpbnQgaW50 ZWxfaW5pdF93b3JrYXJvdW5kX2JiKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJ cmV0dXJuIHJldDsKIAl9CiAKLQlwYWdlID0gaTkxNV9nZW1fb2JqZWN0X2dldF9kaXJ0eV9wYWdl KHdhX2N0eC0+b2JqLCAwKTsKKwlwYWdlID0gaTkxNV9nZW1fb2JqZWN0X2dldF9kaXJ0eV9wYWdl KHdhX2N0eC0+dm1hLT5vYmosIDApOwogCWJhdGNoID0ga21hcF9hdG9taWMocGFnZSk7CiAJb2Zm c2V0ID0gMDsKIApAQCAtMjAxOSw5ICsyMDI1LDkgQEAgcG9wdWxhdGVfbHJfY29udGV4dChzdHJ1 Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAogCQkJICAgICAgIFJJTkdfSU5ESVJFQ1RfQ1RYKGVu Z2luZS0+bW1pb19iYXNlKSwgMCk7CiAJCUFTU0lHTl9DVFhfUkVHKHJlZ19zdGF0ZSwgQ1RYX1JD U19JTkRJUkVDVF9DVFhfT0ZGU0VULAogCQkJICAgICAgIFJJTkdfSU5ESVJFQ1RfQ1RYX09GRlNF VChlbmdpbmUtPm1taW9fYmFzZSksIDApOwotCQlpZiAoZW5naW5lLT53YV9jdHgub2JqKSB7CisJ CWlmIChlbmdpbmUtPndhX2N0eC52bWEpIHsKIAkJCXN0cnVjdCBpOTE1X2N0eF93b3JrYXJvdW5k cyAqd2FfY3R4ID0gJmVuZ2luZS0+d2FfY3R4OwotCQkJdWludDMyX3QgZ2d0dF9vZmZzZXQgPSBp OTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQod2FfY3R4LT5vYmopOworCQkJdTMyIGdndHRfb2Zmc2V0 ID0gd2FfY3R4LT52bWEtPm5vZGUuc3RhcnQ7CiAKIAkJCXJlZ19zdGF0ZVtDVFhfUkNTX0lORElS RUNUX0NUWCsxXSA9CiAJCQkJKGdndHRfb2Zmc2V0ICsgd2FfY3R4LT5pbmRpcmVjdF9jdHgub2Zm c2V0ICogc2l6ZW9mKHVpbnQzMl90KSkgfApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5oCmluZGV4IGNiNDA3ODVlNzY3Ny4uZTM3Nzc1NzJjNzBlIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCkBAIC0xMjMsMTIgKzEyMywxMiBAQCBzdHJ1Y3QgZHJt X2k5MTVfcmVnX3RhYmxlOwogICogICAgYW4gb3B0aW9uIGZvciBmdXR1cmUgdXNlLgogICogIHNp emU6IHNpemUgb2YgdGhlIGJhdGNoIGluIERXT1JEUwogICovCi1zdHJ1Y3QgIGk5MTVfY3R4X3dv cmthcm91bmRzIHsKK3N0cnVjdCBpOTE1X2N0eF93b3JrYXJvdW5kcyB7CiAJc3RydWN0IGk5MTVf d2FfY3R4X2JiIHsKIAkJdTMyIG9mZnNldDsKIAkJdTMyIHNpemU7CiAJfSBpbmRpcmVjdF9jdHgs IHBlcl9jdHg7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKKwlzdHJ1Y3QgaTkx NV92bWEgKnZtYTsKIH07CiAKIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdDsKLS0gCjIuOC4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK