From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH] drm/i915: Clean up associated VMAs on context destruction Date: Fri, 11 Sep 2015 15:31:33 +0100 Message-ID: <1441981893-28133-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 6EB3C6E0EA for ; Fri, 11 Sep 2015 07:32:04 -0700 (PDT) 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 Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClByZXZlbnQg bGVha2luZyBWTUFzIGFuZCBQUEdUVCBWTXMgd2hlbiBvYmplY3RzIGFyZSBpbXBvcnRlZAp2aWEg ZmxpbmsuCgpTY2VuYXJpbyBpcyB0aGF0IGFueSBWTUFzIGNyZWF0ZWQgYnkgdGhlIGltcG9ydGVy IHdpbGwgYmUgbGVmdApkYW5nbGluZyBhZnRlciB0aGUgaW1wb3J0ZXIgZXhpdHMsIG9yIGRlc3Ry b3lzIHRoZSBQUEdUVCBjb250ZXh0CndpdGggd2hpY2ggdGhleSBhcmUgYXNzb2NpYXRlZC4KClRo aXMgaXMgY2F1c2VkIGJ5IG9iamVjdCBkZXN0cnVjdGlvbiBub3QgcnVubmluZyB3aGVuIHRoZQpp bXBvcnRlciBjbG9zZXMgdGhlIGJ1ZmZlciBvYmplY3QgaGFuZGxlIGR1ZSB0aGUgcmVmZXJlbmNl IGhlbGQKYnkgdGhlIGV4cG9ydGVyLiBUaGlzIGFsc28gbGVha3MgdGhlIFZNIHNpbmNlIHRoZSBW TUEgaGFzIGEKcmVmZXJlbmNlIG9uIGl0LgoKSW4gcHJhY3RpY2UgdGhlc2UgbGVha3MgY2FuIGJl IG9ic2VydmVkIGJ5IHN0b3BwaW5nIGFuZCBzdGFydGluZwp0aGUgWCBzZXJ2ZXIgb24gYSBrZXJu ZWwgd2l0aCBmYmNvbiBjb21waWxlZCBpbi4gRXZlcnkgdGltZQpYIHNlcnZlciBleGl0cyBhbm90 aGVyIFZNQSB3aWxsIGJlIGxlYWtlZCBhZ2FpbnN0IHRoZSBmYmNvbidzCmZyYW1lIGJ1ZmZlciBv YmplY3QuCgpBbHNvIG9uIHN5c3RlbXMgd2hlcmUgZmxpbmsgYnVmZmVyIHNoYXJpbmcgaXMgdXNl ZCBleHRlbnNpdmVseSwKbGlrZSBBbmRyb2lkLCB0aGlzIGxlYWsgaGFzIGV2ZW4gbW9yZSBzZXJp b3VzIGNvbnNlcXVlbmNlcy4KClRoaXMgdmVyc2lvbiBpcyB0YWtlcyBhIGdlbmVyYWwgYXBwcm9h Y2ggZnJvbSB0aGUgIGVhcmxpZXIgd29yawpieSBSYWZhZWwgQmFyYWJhbGhvIChkcm0vaTkxNTog Q2xlYW4tdXAgUFBHVFQgb24gY29udGV4dApkZXN0cnVjdGlvbikgYW5kIHRyaWVzIHRvIGluY29y cG9yYXRlIHRoZSBzdWJzZXF1ZW50IGRpc2N1c3Npb24KYmV0d2VlbiBDaHJpcyBXaWxzb24gYW5k IERhbmllbCBWZXR0ZXIuCgpPbiBjb250ZXh0IGRlc3RydWN0aW9uIGEgVk0gaXMgbWFya2VkIGFz IGNsb3NlZCBhbmQgYSB3b3JrZXIKdGhyZWFkIHNjaGVkdWxlZCB0byB1bmJpbmQgYWxsIGluYWN0 aXZlIFZNQXMgZm9yIHRoaXMgVk0uIEF0CnRoZSBzYW1lIHRpbWUsIGFjdGl2ZSBWTUFzIHJldGly ZWQgb24gdGhpcyBjbG9zZWQgVk0gYXJlCnVuYm91bmQgaW1tZWRpYXRlbHkuCgpTaWduZWQtb2Zm LWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpUZXN0Y2FzZTog aWd0L2dlbV9wcGd0dC5jCkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNo PgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBSYWZhZWwg QmFyYmFsaG8gPHJhZmFlbC5iYXJiYWxob0BpbnRlbC5jb20+CkNjOiBNaWNoZWwgVGhpZXJyeSA8 bWljaGVsLnRoaWVycnlAaW50ZWwuY29tPgotLS0KCk9rIGFub3RoZXIgYXR0ZW1wdCBndXlzLiBE b2VzIGl0IGhhdmUgYW55IG1lcnJpdCBhcyBhIHN0b3AgZ2FwCnNvbHV0aW9uIHVudGlsIHRoYXQg ZnVsbCBHRU0gVk1BIHJld3JpdGUgYnkgQ2hyaXMgbGFuZHM/Ci0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYyAgICAgICAgIHwgIDggKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2NvbnRleHQuYyB8IDU2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgICAgIHwgIDMgKysKIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oICAgICB8ICA1ICsrKwogNCBmaWxlcyBjaGFu Z2VkLCA3MCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jCmluZGV4IDQxMjYzY2Q0MTcwYy4uMWRjMDA1NzU4YTk2IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMKQEAgLTIzNzIsNyArMjM3Miw3IEBAIGk5MTVfZ2VtX29iamVjdF9yZXRpcmVfX3dyaXRl KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiBzdGF0aWMgdm9pZAogaTkxNV9nZW1f b2JqZWN0X3JldGlyZV9fcmVhZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCBpbnQg cmluZykKIHsKLQlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKKwlzdHJ1Y3QgaTkxNV92bWEgKnZtYSwg Km5leHQ7CiAKIAlSUV9CVUdfT04ob2JqLT5sYXN0X3JlYWRfcmVxW3JpbmddID09IE5VTEwpOwog CVJRX0JVR19PTighKG9iai0+YWN0aXZlICYgKDEgPDwgcmluZykpKTsKQEAgLTIzOTQsOSArMjM5 NCwxMyBAQCBpOTE1X2dlbV9vYmplY3RfcmV0aXJlX19yZWFkKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmosIGludCByaW5nKQogCWxpc3RfbW92ZV90YWlsKCZvYmotPmdsb2JhbF9saXN0 LAogCQkgICAgICAgJnRvX2k5MTUob2JqLT5iYXNlLmRldiktPm1tLmJvdW5kX2xpc3QpOwogCi0J bGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykgeworCWxp c3RfZm9yX2VhY2hfZW50cnlfc2FmZSh2bWEsIG5leHQsICZvYmotPnZtYV9saXN0LCB2bWFfbGlu aykgewogCQlpZiAoIWxpc3RfZW1wdHkoJnZtYS0+bW1fbGlzdCkpCiAJCQlsaXN0X21vdmVfdGFp bCgmdm1hLT5tbV9saXN0LCAmdm1hLT52bS0+aW5hY3RpdmVfbGlzdCk7CisKKwkJLyogVW5iaW5k IFZNQXMgZnJvbSBjb250ZXh0cyBjbG9zZWQgaW4gdGhlIGludGVyaW0uICovCisJCWlmICh2bWEt PnZtLT5jbG9zZWQpCisJCQlXQVJOX09OKGk5MTVfdm1hX3VuYmluZCh2bWEpKTsKIAl9CiAKIAlp OTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbigmb2JqLT5sYXN0X2ZlbmNlZF9yZXEsIE5VTEwpOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCmluZGV4IDc0YWEwYzk5MjliYS4uNjYy OGI4ZmUxOTc2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250 ZXh0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCkBAIC0x MzMsNiArMTMzLDU1IEBAIHN0YXRpYyBpbnQgZ2V0X2NvbnRleHRfc2l6ZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyB2b2lkCitpOTE1X2dlbV9jb250 ZXh0X2NsZWFudXBfd29ya2VyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKK3sKKwlzdHJ1Y3Qg aTkxNV9od19wcGd0dCAqcHBndHQgPSBjb250YWluZXJfb2Yod29yaywgdHlwZW9mKCpwcGd0dCks CisJCQkJCQkgICBjbGVhbnVwX3dvcmspOworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwcGd0 dC0+YmFzZS5kZXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgaTkxNV92bWEgKnZtYSwgKm5leHQ7CisKKwltdXRleF9sb2Nr KCZkZXYtPnN0cnVjdF9tdXRleCk7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUodm1hLCBu ZXh0LCAmcHBndHQtPmJhc2UuaW5hY3RpdmVfbGlzdCwKKwkJCQkgbW1fbGlzdCkgeworCQlib29s IHdhc19pbnRlcnJ1cHRpYmxlOworCisJCXdhc19pbnRlcnJ1cHRpYmxlID0gZGV2X3ByaXYtPm1t LmludGVycnVwdGlibGU7CisJCWRldl9wcml2LT5tbS5pbnRlcnJ1cHRpYmxlID0gZmFsc2U7CisJ CVdBUk5fT04oaTkxNV92bWFfdW5iaW5kKHZtYSkpOworCisJCWRldl9wcml2LT5tbS5pbnRlcnJ1 cHRpYmxlID0gd2FzX2ludGVycnVwdGlibGU7CisJfQorCisJaTkxNV9wcGd0dF9wdXQocHBndHQp OworCisJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cit9CisKK3N0YXRpYyB2b2lk IGk5MTVfZ2VtX2NvbnRleHRfY2xlYW4oc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCkKK3sKKwlz dHJ1Y3QgaTkxNV9od19wcGd0dCAqcHBndHQgPSBjdHgtPnBwZ3R0OworCisJaWYgKCFwcGd0dCkK KwkJcmV0dXJuOworCisJLyoKKwkgKiBTaWduYWwgdGhhdCB3aGlzIGNvbnRleHQsIG9yIGJldHRl ciBzYXkgdGhlIHVuZGVybHlpbmcgVk0gaXMKKwkgKiBnZXR0aW5nIGNsb3NlZC4gU2luY2UgdGhl IFZNIGlzIG5vdCBleHBlY3RlZCB0byBvdXRsaXZlIHRoZSBjb250ZXh0CisJICogdGhpcyBpcyBz YWZlIHRvIGRvLgorCSAqLworCXBwZ3R0LT5iYXNlLmNsb3NlZCA9IHRydWU7CisKKwkvKgorCSAq IFVuYmluZCBhbGwgaW5hY3RpdmUgVk1BcyBmb3IgdGhpcyBWTSwgYnV0IGRvIGl0IGFzeW5jaHJv bm91c2x5LgorCSAqLworCUlOSVRfV09SSygmcHBndHQtPmNsZWFudXBfd29yaywgaTkxNV9nZW1f Y29udGV4dF9jbGVhbnVwX3dvcmtlcik7CisJaTkxNV9wcGd0dF9nZXQocHBndHQpOworCXNjaGVk dWxlX3dvcmsoJnBwZ3R0LT5jbGVhbnVwX3dvcmspOworfQorCiB2b2lkIGk5MTVfZ2VtX2NvbnRl eHRfZnJlZShzdHJ1Y3Qga3JlZiAqY3R4X3JlZikKIHsKIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAq Y3R4ID0gY29udGFpbmVyX29mKGN0eF9yZWYsIHR5cGVvZigqY3R4KSwgcmVmKTsKQEAgLTE0Miw2 ICsxOTEsMTMgQEAgdm9pZCBpOTE1X2dlbV9jb250ZXh0X2ZyZWUoc3RydWN0IGtyZWYgKmN0eF9y ZWYpCiAJaWYgKGk5MTUuZW5hYmxlX2V4ZWNsaXN0cykKIAkJaW50ZWxfbHJfY29udGV4dF9mcmVl KGN0eCk7CiAKKwkvKgorCSAqIFRoaXMgY29udGV4dCBpcyBnb2luZyBhd2F5IGFuZCB3ZSBuZWVk IHRvIHJlbW92ZSBhbGwgVk1BcyBzdGlsbAorCSAqIGFyb3VuZC4gVGhpcyBpcyB0byBoYW5kbGUg aW1wb3J0ZWQgc2hhcmVkIG9iamVjdHMgZm9yIHdoaWNoCisJICogZGVzdHJ1Y3RvciBkaWQgbm90 IHJ1biB3aGVuIHRoZWlyIGhhbmRsZXMgd2VyZSBjbG9zZWQuCisJICovCisJaTkxNV9nZW1fY29u dGV4dF9jbGVhbihjdHgpOworCiAJaTkxNV9wcGd0dF9wdXQoY3R4LT5wcGd0dCk7CiAKIAlpZiAo Y3R4LT5sZWdhY3lfaHdfY3R4LnJjc19zdGF0ZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0 LmMKaW5kZXggODc4NjI4MTNjZmRlLi5iOGU1NGNlNTc5YTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5jCkBAIC0zMTc4LDYgKzMxNzgsOSBAQCBfX2k5MTVfZ2VtX3ZtYV9jcmVhdGUo c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlpZiAoV0FSTl9PTihpOTE1X2lzX2dn dHQodm0pICE9ICEhZ2d0dF92aWV3KSkKIAkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CiAKKwlp ZiAoV0FSTl9PTih2bS0+Y2xvc2VkKSkKKwkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CisKIAl2 bWEgPSBrbWVtX2NhY2hlX3phbGxvYyh0b19pOTE1KG9iai0+YmFzZS5kZXYpLT52bWFzLCBHRlBf S0VSTkVMKTsKIAlpZiAodm1hID09IE5VTEwpCiAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAppbmRleCA4Mjc1MDA3M2Q1YjMuLmFhMDc5ZWU2 N2MxNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKQEAgLTI3NSw2ICsyNzUsOSBA QCBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlIHsKIAl1NjQgc3RhcnQ7CQkvKiBTdGFydCBvZmZz ZXQgYWx3YXlzIDAgZm9yIGRyaTIgKi8KIAl1NjQgdG90YWw7CQkvKiBzaXplIGFkZHIgc3BhY2Ug bWFwcyAoZXguIDJHQiBmb3IgZ2d0dCkgKi8KIAorCS8qKiBBZGRyZXNzIHNwYWNlIGlzIGJlaW5n IGRlc3Ryb3llZD8gKi8KKwlib29sIGNsb3NlZDsKKwogCXN0cnVjdCBpOTE1X3BhZ2Vfc2NyYXRj aCAqc2NyYXRjaF9wYWdlOwogCXN0cnVjdCBpOTE1X3BhZ2VfdGFibGUgKnNjcmF0Y2hfcHQ7CiAJ c3RydWN0IGk5MTVfcGFnZV9kaXJlY3RvcnkgKnNjcmF0Y2hfcGQ7CkBAIC0zNzEsNiArMzc0LDgg QEAgc3RydWN0IGk5MTVfaHdfcHBndHQgewogCiAJc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0 ZSAqZmlsZV9wcml2OwogCisJc3RydWN0IHdvcmtfc3RydWN0IGNsZWFudXBfd29yazsKKwogCWdl bjZfcHRlX3QgX19pb21lbSAqcGRfYWRkcjsKIAogCWludCAoKmVuYWJsZSkoc3RydWN0IGk5MTVf aHdfcHBndHQgKnBwZ3R0KTsKLS0gCjIuNS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=