From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Gordon Subject: [PATCH 1/2 v2] drm/i915: mark GEM object pages dirty when mapped & written by the CPU Date: Wed, 9 Dec 2015 15:52:51 +0000 Message-ID: <1449676372-6988-2-git-send-email-david.s.gordon@intel.com> References: <1449593478-33649-1-git-send-email-david.s.gordon@intel.com> <1449676372-6988-1-git-send-email-david.s.gordon@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id E84C96E8A7 for ; Wed, 9 Dec 2015 07:53:03 -0800 (PST) In-Reply-To: <1449676372-6988-1-git-send-email-david.s.gordon@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 SW4gdmFyaW91cyBwbGFjZXMsIGEgc2luZ2xlIHBhZ2Ugb2YgYSAocmVndWxhcikgR0VNIG9iamVj dCBpcyBtYXBwZWQgaW50bwpDUFUgYWRkcmVzcyBzcGFjZSBhbmQgdXBkYXRlZC4gSW4gZWFjaCBz dWNoIGNhc2UsIGVpdGhlciB0aGUgcGFnZSBvciB0aGUKdGhlIG9iamVjdCBzaG91bGQgYmUgbWFy a2VkIGRpcnR5LCB0byBlbnN1cmUgdGhhdCB0aGUgbW9kaWZpY2F0aW9ucyBhcmUKbm90IGRpc2Nh cmRlZCBpZiB0aGUgb2JqZWN0IGlzIGV2aWN0ZWQgdW5kZXIgbWVtb3J5IHByZXNzdXJlLgoKVGhl IHR5cGljYWwgc2VxdWVuY2UgaXM6Cgl2YSA9IGttYXBfYXRvbWljKGk5MTVfZ2VtX29iamVjdF9n ZXRfcGFnZShvYmosIHBhZ2VubykpOwoJKih2YStvZmZzZXQpID0gLi4uCglrdW5tYXBfYXRvbWlj KHZhKTsKCkhlcmUgd2UgaW50cm9kdWNlIGk5MTVfZ2VtX29iamVjdF9nZXRfZGlydHlfcGFnZSgp LCB3aGljaCBwZXJmb3JtcyB0aGUKc2FtZSBvcGVyYXRpb24gYXMgaTkxNV9nZW1fb2JqZWN0X2dl dF9wYWdlKCkgYnV0IHdpdGggdGhlIHNpZGUtZWZmZWN0Cm9mIG1hcmtpbmcgdGhlIHJldHVybmVk IHBhZ2UgZGlydHkgaW4gdGhlIHBhZ2VjYWNoZS4gIFRoaXMgd2lsbCBlbnN1cmUKdGhhdCBpZiB0 aGUgb2JqZWN0IGlzIHN1YnNlcXVlbnRseSBldmljdGVkIChkdWUgdG8gbWVtb3J5IHByZXNzdXJl KSwKdGhlIGNoYW5nZXMgYXJlIHdyaXR0ZW4gdG8gYmFja2luZyBzdG9yZSByYXRoZXIgdGhhbiBk aXNjYXJkZWQuCgpOb3RlIHRoYXQgaXQgd29ya3Mgb25seSBmb3IgcmVndWxhciAoc2htZnMtYmFj a2VkKSBHRU0gb2JqZWN0cywgYnV0IChhdApsZWFzdCBmb3Igbm93KSB0aG9zZSBhcmUgdGhlIG9u bHkgb25lcyB0aGF0IGFyZSB1cGRhdGVkIGluIHRoaXMgd2F5IC0tCnRoZSBvYmplY3RzIGluIHF1 ZXN0aW9uIGFyZSBjb250ZXh0cyBhbmQgYmF0Y2hidWZmZXJzLCB3aGljaCBhcmUgYWx3YXlzCnNo bWZzLWJhY2tlZC4KCkEgc2VwYXJhdGUgcGF0Y2ggZGVhbHMgd2l0aCB0aGUgY2FzZSB3aGVyZSB3 aG9sZSBvYmplY3RzIGFyZSAob3IgbWF5CmJlKSBkaXJ0aWVkLgoKU2lnbmVkLW9mZi1ieTogRGF2 ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVsLmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hy aXNAY2hyaXMtd2lsc29uLmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggICAgICAgICAgICAgIHwgIDMgKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j ICAgICAgICAgICAgICB8IDE1ICsrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZXhlY2J1ZmZlci5jICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9yZW5kZXJfc3RhdGUuYyB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2d1Y19zdWJtaXNzaW9uLmMgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuYyAgICAgICAgICAgICB8IDExICsrKystLS0tLS0tCiA2IGZpbGVzIGNoYW5nZWQsIDI2IGlu c2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4 IGYxYThhNTMuLmNhNzczOTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMjg5NCw2ICsy ODk0LDkgQEAgc3RhdGljIGlubGluZSBpbnQgX19zZ19wYWdlX2NvdW50KHN0cnVjdCBzY2F0dGVy bGlzdCAqc2cpCiAJcmV0dXJuIHNnLT5sZW5ndGggPj4gUEFHRV9TSElGVDsKIH0KIAorc3RydWN0 IHBhZ2UgKgoraTkxNV9nZW1fb2JqZWN0X2dldF9kaXJ0eV9wYWdlKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmosIGludCBuKTsKKwogc3RhdGljIGlubGluZSBzdHJ1Y3QgcGFnZSAqCiBp OTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2Uoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwg aW50IG4pCiB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCBkZmFmMjViLi4wNmE1ZjM5IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTUxODQsNiArNTE4NCwyMSBAQCBib29sIGk5MTVf Z2VtX29ial9pc19waW5uZWQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAlyZXR1 cm4gZmFsc2U7CiB9CiAKKy8qIExpa2UgaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlKCksIGJ1dCBt YXJrIHRoZSByZXR1cm5lZCBwYWdlIGRpcnR5ICovCitzdHJ1Y3QgcGFnZSAqCitpOTE1X2dlbV9v YmplY3RfZ2V0X2RpcnR5X3BhZ2Uoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwgaW50 IG4pCit7CisJc3RydWN0IHBhZ2UgKnBhZ2U7CisKKwkvKiBPbmx5IGRlZmF1bHQgb2JqZWN0cyBo YXZlIHBlci1wYWdlIGRpcnR5IHRyYWNraW5nICovCisJaWYgKFdBUk5fT04ob2JqLT5vcHMgIT0g Jmk5MTVfZ2VtX29iamVjdF9vcHMpKQorCQlyZXR1cm4gTlVMTDsKKworCXBhZ2UgPSBpOTE1X2dl bV9vYmplY3RfZ2V0X3BhZ2Uob2JqLCBuKTsKKwlzZXRfcGFnZV9kaXJ0eShwYWdlKTsKKwlyZXR1 cm4gcGFnZTsKK30KKwogLyogQWxsb2NhdGUgYSBuZXcgR0VNIG9iamVjdCBhbmQgZmlsbCBpdCB3 aXRoIHRoZSBzdXBwbGllZCBkYXRhICovCiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqCiBp OTE1X2dlbV9vYmplY3RfY3JlYXRlX2Zyb21fZGF0YShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCmluZGV4IGE0YzI0M2Mu LjgxNzk2Y2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNi dWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMK QEAgLTI2NCw3ICsyNjQsNyBAQCByZWxvY2F0ZV9lbnRyeV9jcHUoc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaiwKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCi0JdmFkZHIgPSBrbWFw X2F0b21pYyhpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2Uob2JqLAorCXZhZGRyID0ga21hcF9hdG9t aWMoaTkxNV9nZW1fb2JqZWN0X2dldF9kaXJ0eV9wYWdlKG9iaiwKIAkJCQlyZWxvYy0+b2Zmc2V0 ID4+IFBBR0VfU0hJRlQpKTsKIAkqKHVpbnQzMl90ICopKHZhZGRyICsgcGFnZV9vZmZzZXQpID0g bG93ZXJfMzJfYml0cyhkZWx0YSk7CiAKQEAgLTM1NSw3ICszNTUsNyBAQCByZWxvY2F0ZV9lbnRy eV9jbGZsdXNoKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJaWYgKHJldCkKIAkJ cmV0dXJuIHJldDsKIAotCXZhZGRyID0ga21hcF9hdG9taWMoaTkxNV9nZW1fb2JqZWN0X2dldF9w YWdlKG9iaiwKKwl2YWRkciA9IGttYXBfYXRvbWljKGk5MTVfZ2VtX29iamVjdF9nZXRfZGlydHlf cGFnZShvYmosCiAJCQkJcmVsb2MtPm9mZnNldCA+PiBQQUdFX1NISUZUKSk7CiAJY2xmbHVzaF93 cml0ZTMyKHZhZGRyICsgcGFnZV9vZmZzZXQsIGxvd2VyXzMyX2JpdHMoZGVsdGEpKTsKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVuZGVyX3N0YXRlLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3RhdGUuYwppbmRleCA1MDI2YTYy Li5mYzdlNmQ1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5k ZXJfc3RhdGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZW5kZXJfc3Rh dGUuYwpAQCAtMTAzLDcgKzEwMyw3IEBAIHN0YXRpYyBpbnQgcmVuZGVyX3N0YXRlX3NldHVwKHN0 cnVjdCByZW5kZXJfc3RhdGUgKnNvKQogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQlwYWdl ID0gc2dfcGFnZShzby0+b2JqLT5wYWdlcy0+c2dsKTsKKwlwYWdlID0gaTkxNV9nZW1fb2JqZWN0 X2dldF9kaXJ0eV9wYWdlKHNvLT5vYmosIDApOwogCWQgPSBrbWFwKHBhZ2UpOwogCiAJd2hpbGUg KGkgPCByb2RhdGEtPmJhdGNoX2l0ZW1zKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1 Y19zdWJtaXNzaW9uLmMKaW5kZXggMGQyMzc4NWIuLjA1YWE3ZTYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKQEAgLTU2OCw3ICs1NjgsNyBAQCBzdGF0aWMg dm9pZCBscl9jb250ZXh0X3VwZGF0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxKQog CVdBUk5fT04oIWk5MTVfZ2VtX29ial9pc19waW5uZWQoY3R4X29iaikpOwogCVdBUk5fT04oIWk5 MTVfZ2VtX29ial9pc19waW5uZWQocmJfb2JqKSk7CiAKLQlwYWdlID0gaTkxNV9nZW1fb2JqZWN0 X2dldF9wYWdlKGN0eF9vYmosIExSQ19TVEFURV9QTik7CisJcGFnZSA9IGk5MTVfZ2VtX29iamVj dF9nZXRfZGlydHlfcGFnZShjdHhfb2JqLCBMUkNfU1RBVEVfUE4pOwogCXJlZ19zdGF0ZSA9IGtt YXBfYXRvbWljKHBhZ2UpOwogCiAJcmVnX3N0YXRlW0NUWF9SSU5HX0JVRkZFUl9TVEFSVCsxXSA9 IGk5MTVfZ2VtX29ial9nZ3R0X29mZnNldChyYl9vYmopOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMu YwppbmRleCA0ZWJhZmFiLi5jZWNjZWNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAt MzcyLDcgKzM3Miw3IEBAIHN0YXRpYyBpbnQgZXhlY2xpc3RzX3VwZGF0ZV9jb250ZXh0KHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcnEpCiAJV0FSTl9PTighaTkxNV9nZW1fb2JqX2lzX3Bp bm5lZChjdHhfb2JqKSk7CiAJV0FSTl9PTighaTkxNV9nZW1fb2JqX2lzX3Bpbm5lZChyYl9vYmop KTsKIAotCXBhZ2UgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2UoY3R4X29iaiwgTFJDX1NUQVRF X1BOKTsKKwlwYWdlID0gaTkxNV9nZW1fb2JqZWN0X2dldF9kaXJ0eV9wYWdlKGN0eF9vYmosIExS Q19TVEFURV9QTik7CiAJcmVnX3N0YXRlID0ga21hcF9hdG9taWMocGFnZSk7CiAKIAlyZWdfc3Rh dGVbQ1RYX1JJTkdfVEFJTCsxXSA9IHJxLT50YWlsOwpAQCAtMTQyNSw3ICsxNDI1LDcgQEAgc3Rh dGljIGludCBpbnRlbF9pbml0X3dvcmthcm91bmRfYmIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZykKIAkJcmV0dXJuIHJldDsKIAl9CiAKLQlwYWdlID0gaTkxNV9nZW1fb2JqZWN0X2dldF9w YWdlKHdhX2N0eC0+b2JqLCAwKTsKKwlwYWdlID0gaTkxNV9nZW1fb2JqZWN0X2dldF9kaXJ0eV9w YWdlKHdhX2N0eC0+b2JqLCAwKTsKIAliYXRjaCA9IGttYXBfYXRvbWljKHBhZ2UpOwogCW9mZnNl dCA9IDA7CiAKQEAgLTIyNTcsNyArMjI1Nyw3IEBAIHBvcHVsYXRlX2xyX2NvbnRleHQoc3RydWN0 IGludGVsX2NvbnRleHQgKmN0eCwgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vCiAK IAkvKiBUaGUgc2Vjb25kIHBhZ2Ugb2YgdGhlIGNvbnRleHQgb2JqZWN0IGNvbnRhaW5zIHNvbWUg ZmllbGRzIHdoaWNoIG11c3QKIAkgKiBiZSBzZXQgdXAgcHJpb3IgdG8gdGhlIGZpcnN0IGV4ZWN1 dGlvbi4gKi8KLQlwYWdlID0gaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlKGN0eF9vYmosIExSQ19T VEFURV9QTik7CisJcGFnZSA9IGk5MTVfZ2VtX29iamVjdF9nZXRfZGlydHlfcGFnZShjdHhfb2Jq LCBMUkNfU1RBVEVfUE4pOwogCXJlZ19zdGF0ZSA9IGttYXBfYXRvbWljKHBhZ2UpOwogCiAJLyog QSBjb250ZXh0IGlzIGFjdHVhbGx5IGEgYmlnIGJhdGNoIGJ1ZmZlciB3aXRoIHNldmVyYWwgTUlf TE9BRF9SRUdJU1RFUl9JTU0KQEAgLTIzNDMsOSArMjM0Myw2IEBAIHBvcHVsYXRlX2xyX2NvbnRl eHQoc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg KmN0eF9vCiAJfQogCiAJa3VubWFwX2F0b21pYyhyZWdfc3RhdGUpOwotCi0JY3R4X29iai0+ZGly dHkgPSAxOwotCXNldF9wYWdlX2RpcnR5KHBhZ2UpOwogCWk5MTVfZ2VtX29iamVjdF91bnBpbl9w YWdlcyhjdHhfb2JqKTsKIAogCXJldHVybiAwOwpAQCAtMjUyOSw3ICsyNTI2LDcgQEAgdm9pZCBp bnRlbF9scl9jb250ZXh0X3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQlXQVJOKDEs ICJGYWlsZWQgZ2V0X3BhZ2VzIGZvciBjb250ZXh0IG9ialxuIik7CiAJCQljb250aW51ZTsKIAkJ fQotCQlwYWdlID0gaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlKGN0eF9vYmosIExSQ19TVEFURV9Q Tik7CisJCXBhZ2UgPSBpOTE1X2dlbV9vYmplY3RfZ2V0X2RpcnR5X3BhZ2UoY3R4X29iaiwgTFJD X1NUQVRFX1BOKTsKIAkJcmVnX3N0YXRlID0ga21hcF9hdG9taWMocGFnZSk7CiAKIAkJcmVnX3N0 YXRlW0NUWF9SSU5HX0hFQUQrMV0gPSAwOwotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==