From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 26/37] drm/i915: Use VMA for render state page tracking Date: Fri, 12 Aug 2016 07:54:16 +0100 Message-ID: <1470984867-7132-26-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-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id D5BC46EA86 for ; Fri, 12 Aug 2016 06:55:04 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id i138so1158958wmf.3 for ; Thu, 11 Aug 2016 23:55:04 -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+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmMgfCA0 MCArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9yZW5kZXJfc3RhdGUuaCB8ICAyICstCiAyIGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlv bnMoKyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f cmVuZGVyX3N0YXRlLmMKaW5kZXggNTdmZDc2N2EyZDc5Li45NWI3ZTlhZmQ1ZjggMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5jCkBAIC0zMCw4ICszMCw3 IEBACiAKIHN0cnVjdCByZW5kZXJfc3RhdGUgewogCWNvbnN0IHN0cnVjdCBpbnRlbF9yZW5kZXJz dGF0ZV9yb2RhdGEgKnJvZGF0YTsKLQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwot CXU2NCBnZ3R0X29mZnNldDsKKwlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKIAl1MzIgYXV4X2JhdGNo X3NpemU7CiAJdTMyIGF1eF9iYXRjaF9vZmZzZXQ7CiB9OwpAQCAtNzMsNyArNzIsNyBAQCByZW5k ZXJfc3RhdGVfZ2V0X3JvZGF0YShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJl cSkKIAogc3RhdGljIGludCByZW5kZXJfc3RhdGVfc2V0dXAoc3RydWN0IHJlbmRlcl9zdGF0ZSAq c28pCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHNvLT5vYmotPmJhc2UuZGV2OworCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBzby0+dm1hLT52bS0+ZGV2OwogCWNvbnN0IHN0cnVjdCBp bnRlbF9yZW5kZXJzdGF0ZV9yb2RhdGEgKnJvZGF0YSA9IHNvLT5yb2RhdGE7CiAJY29uc3QgYm9v bCBoYXNfNjRiaXRfcmVsb2MgPSBJTlRFTF9HRU4oZGV2KSA+PSA4OwogCXVuc2lnbmVkIGludCBp ID0gMCwgcmVsb2NfaW5kZXggPSAwOwpAQCAtODEsMTggKzgwLDE4IEBAIHN0YXRpYyBpbnQgcmVu ZGVyX3N0YXRlX3NldHVwKHN0cnVjdCByZW5kZXJfc3RhdGUgKnNvKQogCXUzMiAqZDsKIAlpbnQg cmV0OwogCi0JcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3NldF90b19jcHVfZG9tYWluKHNvLT5vYmos IHRydWUpOworCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zZXRfdG9fY3B1X2RvbWFpbihzby0+dm1h LT5vYmosIHRydWUpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQlwYWdlID0gaTkxNV9n ZW1fb2JqZWN0X2dldF9kaXJ0eV9wYWdlKHNvLT5vYmosIDApOworCXBhZ2UgPSBpOTE1X2dlbV9v YmplY3RfZ2V0X2RpcnR5X3BhZ2Uoc28tPnZtYS0+b2JqLCAwKTsKIAlkID0ga21hcChwYWdlKTsK IAogCXdoaWxlIChpIDwgcm9kYXRhLT5iYXRjaF9pdGVtcykgewogCQl1MzIgcyA9IHJvZGF0YS0+ YmF0Y2hbaV07CiAKIAkJaWYgKGkgKiA0ICA9PSByb2RhdGEtPnJlbG9jW3JlbG9jX2luZGV4XSkg ewotCQkJdTY0IHIgPSBzICsgc28tPmdndHRfb2Zmc2V0OworCQkJdTY0IHIgPSBzICsgc28tPnZt YS0+bm9kZS5zdGFydDsKIAkJCXMgPSBsb3dlcl8zMl9iaXRzKHIpOwogCQkJaWYgKGhhc182NGJp dF9yZWxvYykgewogCQkJCWlmIChpICsgMSA+PSByb2RhdGEtPmJhdGNoX2l0ZW1zIHx8CkBAIC0x NTQsNyArMTUzLDcgQEAgc3RhdGljIGludCByZW5kZXJfc3RhdGVfc2V0dXAoc3RydWN0IHJlbmRl cl9zdGF0ZSAqc28pCiAKIAlrdW5tYXAocGFnZSk7CiAKLQlyZXQgPSBpOTE1X2dlbV9vYmplY3Rf c2V0X3RvX2d0dF9kb21haW4oc28tPm9iaiwgZmFsc2UpOworCXJldCA9IGk5MTVfZ2VtX29iamVj dF9zZXRfdG9fZ3R0X2RvbWFpbihzby0+dm1hLT5vYmosIGZhbHNlKTsKIAlpZiAocmV0KQogCQly ZXR1cm4gcmV0OwogCkBAIC0xNzUsNiArMTc0LDcgQEAgZXJyX291dDoKIGludCBpOTE1X2dlbV9y ZW5kZXJfc3RhdGVfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIHsKIAlz dHJ1Y3QgcmVuZGVyX3N0YXRlIHNvOworCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7 CiAJaW50IHJldDsKIAogCWlmIChXQVJOX09OKHJlcS0+ZW5naW5lLT5pZCAhPSBSQ1MpKQpAQCAt MTg3LDIxICsxODcsMjUgQEAgaW50IGk5MTVfZ2VtX3JlbmRlcl9zdGF0ZV9pbml0KHN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogCWlmIChzby5yb2RhdGEtPmJhdGNoX2l0ZW1zICog NCA+IDQwOTYpCiAJCXJldHVybiAtRUlOVkFMOwogCi0Jc28ub2JqID0gaTkxNV9nZW1fb2JqZWN0 X2NyZWF0ZSgmcmVxLT5pOTE1LT5kcm0sIDQwOTYpOwotCWlmIChJU19FUlIoc28ub2JqKSkKLQkJ cmV0dXJuIFBUUl9FUlIoc28ub2JqKTsKKwlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlKCZy ZXEtPmk5MTUtPmRybSwgNDA5Nik7CisJaWYgKElTX0VSUihvYmopKQorCQlyZXR1cm4gUFRSX0VS UihvYmopOwogCi0JcmV0ID0gaTkxNV9nZW1fb2JqZWN0X2dndHRfcGluKHNvLm9iaiwgTlVMTCwg MCwgMCwgMCk7Ci0JaWYgKHJldCkKKwlzby52bWEgPSBpOTE1X3ZtYV9jcmVhdGUob2JqLCAmcmVx LT5pOTE1LT5nZ3R0LmJhc2UsIE5VTEwpOworCWlmIChJU19FUlIoc28udm1hKSkgeworCQlyZXQg PSBQVFJfRVJSKHNvLnZtYSk7CiAJCWdvdG8gZXJyX29iajsKKwl9CiAKLQlzby5nZ3R0X29mZnNl dCA9IGk5MTVfZ2VtX29ial9nZ3R0X29mZnNldChzby5vYmopOworCXJldCA9IGk5MTVfdm1hX3Bp bihzby52bWEsIDAsIDAsIFBJTl9HTE9CQUwpOworCWlmIChyZXQpCisJCWdvdG8gZXJyX29iajsK IAogCXJldCA9IHJlbmRlcl9zdGF0ZV9zZXR1cCgmc28pOwogCWlmIChyZXQpCiAJCWdvdG8gZXJy X3VucGluOwogCi0JcmV0ID0gcmVxLT5lbmdpbmUtPmVtaXRfYmJfc3RhcnQocmVxLCBzby5nZ3R0 X29mZnNldCwKKwlyZXQgPSByZXEtPmVuZ2luZS0+ZW1pdF9iYl9zdGFydChyZXEsIHNvLnZtYS0+ bm9kZS5zdGFydCwKIAkJCQkJIHNvLnJvZGF0YS0+YmF0Y2hfaXRlbXMgKiA0LAogCQkJCQkgSTkx NV9ESVNQQVRDSF9TRUNVUkUpOwogCWlmIChyZXQpCkBAIC0yMDksNyArMjEzLDcgQEAgaW50IGk5 MTVfZ2VtX3JlbmRlcl9zdGF0ZV9pbml0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVx KQogCiAJaWYgKHNvLmF1eF9iYXRjaF9zaXplID4gOCkgewogCQlyZXQgPSByZXEtPmVuZ2luZS0+ ZW1pdF9iYl9zdGFydChyZXEsCi0JCQkJCQkgKHNvLmdndHRfb2Zmc2V0ICsKKwkJCQkJCSAoc28u dm1hLT5ub2RlLnN0YXJ0ICsKIAkJCQkJCSAgc28uYXV4X2JhdGNoX29mZnNldCksCiAJCQkJCQkg c28uYXV4X2JhdGNoX3NpemUsCiAJCQkJCQkgSTkxNV9ESVNQQVRDSF9TRUNVUkUpOwpAQCAtMjE3 LDEwICsyMjEsMTAgQEAgaW50IGk5MTVfZ2VtX3JlbmRlcl9zdGF0ZV9pbml0KHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogCQkJZ290byBlcnJfdW5waW47CiAJfQogCi0JaTkxNV92 bWFfbW92ZV90b19hY3RpdmUoaTkxNV9nZW1fb2JqX3RvX2dndHQoc28ub2JqKSwgcmVxLCAwKTsK KwlpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZShzby52bWEsIHJlcSwgMCk7CiBlcnJfdW5waW46Ci0J aTkxNV9nZW1fb2JqZWN0X2dndHRfdW5waW4oc28ub2JqKTsKKwlpOTE1X3ZtYV91bnBpbihzby52 bWEpOwogZXJyX29iajoKLQlpOTE1X2dlbV9vYmplY3RfcHV0KHNvLm9iaik7CisJaTkxNV9nZW1f b2JqZWN0X3B1dChvYmopOwogCXJldHVybiByZXQ7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX3JlbmRlcl9zdGF0ZS5oCmluZGV4IGM0NGZjYTg1OTliYi4uMThjY2UzZjA2ZTlj IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuaApAQCAt MjQsNyArMjQsNyBAQAogI2lmbmRlZiBfSTkxNV9HRU1fUkVOREVSX1NUQVRFX0hfCiAjZGVmaW5l IF9JOTE1X0dFTV9SRU5ERVJfU1RBVEVfSF8KIAotI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Citz dHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Q7CiAKIGludCBpOTE1X2dlbV9yZW5kZXJfc3RhdGVf aW5pdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSk7CiAKLS0gCjIuOC4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK