From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Hellstrom Subject: [PATCH 07/28] drm/vmwgfx: Add an interface to pin a resource v3 Date: Wed, 12 Aug 2015 22:42:56 -0700 Message-ID: <1439444597-4664-8-git-send-email-thellstrom@vmware.com> References: <1439444597-4664-1-git-send-email-thellstrom@vmware.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.bahnhof.se (mx1.bahnhof.se [213.80.101.11]) by gabe.freedesktop.org (Postfix) with ESMTPS id 76F3E6EBE6 for ; Wed, 12 Aug 2015 23:03:44 -0700 (PDT) Received: from localhost (mf.bahnhof.se [213.80.101.20]) by mx1-reinject (Postfix) with ESMTP id DE7DC440A2 for ; Thu, 13 Aug 2015 08:03:42 +0200 (CEST) Received: from mf3.bahnhof.se ([127.0.0.1]) by localhost (mf3.bahnhof.se [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id kt6WbwZpZWr9 for ; Thu, 13 Aug 2015 08:03:33 +0200 (CEST) Received: from mail.shipmail.org (h-5-150-198-217.na.cust.bahnhof.se [5.150.198.217]) by mf3.bahnhof.se (Postfix) with ESMTP id 8A3283E8D2B for ; Thu, 13 Aug 2015 08:03:05 +0200 (CEST) Received: from mail.shipmail.org (lin0.kontor.shipmail.org [127.0.0.1]) by mail.shipmail.org (Postfix) with ESMTP id A41373DC00A for ; Thu, 13 Aug 2015 07:43:23 +0200 (CEST) Received: from localhost.localdomain (lin0.kontor.shipmail.org [127.0.0.1]) by mail.shipmail.org (Postfix) with ESMTP id 91CF33DC005 for ; Thu, 13 Aug 2015 07:43:23 +0200 (CEST) In-Reply-To: <1439444597-4664-1-git-send-email-thellstrom@vmware.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org Rm9yIHNjcmVlbiB0YXJnZXRzIGl0IGFwcGVhcnMgd2UgbmVlZCB0byBwaW4gc3VyZmFjZXMgd2hp bGUgdGhleSBhcmUgYm91bmQKYXMgc2NyZWVuIHRhcmdldHMsIHNvIGFkZCBhIHNtYWxsIGludGVy ZmFjZSB0byBkbyB0aGF0LgoKdjI6IEFsd2F5cyBpbmNyZWFzZSBwaW5fY291bnQgb24gcGluLgp2 MzogQWRkIG1pc3NpbmcgcmVzZXJ2YXRpb24gc2VtLgoKU2lnbmVkLW9mZi1ieTogVGhvbWFzIEhl bGxzdHJvbSA8dGhlbGxzdHJvbUB2bXdhcmUuY29tPgpSZXZpZXdlZC1ieTogU2luY2xhaXIgWWVo IDxzeWVoQHZtd2FyZS5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfZHJ2 LmggICAgICB8ICA0ICsrCiBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9yZXNvdXJjZS5j IHwgOTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDIgZmlsZXMgY2hhbmdlZCwg OTQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS92bXdnZngvdm13Z2Z4X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhf ZHJ2LmgKaW5kZXggOGZkNDBjNi4uMzM4ZGNlMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L3Ztd2dmeC92bXdnZnhfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhf ZHJ2LmgKQEAgLTExMyw2ICsxMTMsNyBAQCBzdHJ1Y3Qgdm13X3Jlc291cmNlIHsKIAlib29sIGJh Y2t1cF9kaXJ0eTsgLyogUHJvdGVjdGVkIGJ5IGJhY2t1cCBidWZmZXIgcmVzZXJ2ZWQgKi8KIAlz dHJ1Y3Qgdm13X2RtYV9idWZmZXIgKmJhY2t1cDsKIAl1bnNpZ25lZCBsb25nIGJhY2t1cF9vZmZz ZXQ7CisJdW5zaWduZWQgbG9uZyBwaW5fY291bnQ7IC8qIFByb3RlY3RlZCBieSByZXNvdXJjZSBy ZXNlcnZlZCAqLwogCWNvbnN0IHN0cnVjdCB2bXdfcmVzX2Z1bmMgKmZ1bmM7CiAJc3RydWN0IGxp c3RfaGVhZCBscnVfaGVhZDsgLyogUHJvdGVjdGVkIGJ5IHRoZSByZXNvdXJjZSBsb2NrICovCiAJ c3RydWN0IGxpc3RfaGVhZCBtb2JfaGVhZDsgLyogUHJvdGVjdGVkIGJ5IEBiYWNrdXAgcmVzZXJ2 ZWQgKi8KQEAgLTk0MSw2ICs5NDIsOSBAQCBpbnQgdm13X2R1bWJfbWFwX29mZnNldChzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbGVfcHJpdiwKIGludCB2bXdfZHVtYl9kZXN0cm95KHN0cnVjdCBkcm1fZmls ZSAqZmlsZV9wcml2LAogCQkgICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCSAgICAgdWlu dDMyX3QgaGFuZGxlKTsKK2V4dGVybiBpbnQgdm13X3Jlc291cmNlX3BpbihzdHJ1Y3Qgdm13X3Jl c291cmNlICpyZXMpOworZXh0ZXJuIHZvaWQgdm13X3Jlc291cmNlX3VucGluKHN0cnVjdCB2bXdf cmVzb3VyY2UgKnJlcyk7CisKIC8qKgogICogT3ZlcmxheSBjb250cm9sIC0gdm13Z2Z4X292ZXJs YXkuYwogICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9yZXNv dXJjZS5jIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdnZnhfcmVzb3VyY2UuYwppbmRleCAz ZmQ4MDcwLi42NzM4YzFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dm eF9yZXNvdXJjZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3Jlc291cmNl LmMKQEAgLTExODMsNyArMTE4Myw3IEBAIHZvaWQgdm13X3Jlc291cmNlX3VucmVzZXJ2ZShzdHJ1 Y3Qgdm13X3Jlc291cmNlICpyZXMsCiAJaWYgKG5ld19iYWNrdXApCiAJCXJlcy0+YmFja3VwX29m ZnNldCA9IG5ld19iYWNrdXBfb2Zmc2V0OwogCi0JaWYgKCFyZXMtPmZ1bmMtPm1heV9ldmljdCB8 fCByZXMtPmlkID09IC0xKQorCWlmICghcmVzLT5mdW5jLT5tYXlfZXZpY3QgfHwgcmVzLT5pZCA9 PSAtMSB8fCByZXMtPnBpbl9jb3VudCkKIAkJcmV0dXJuOwogCiAJd3JpdGVfbG9jaygmZGV2X3By aXYtPnJlc291cmNlX2xvY2spOwpAQCAtMTU3MywzICsxNTczLDkyIEBAIHZvaWQgdm13X3Jlc291 cmNlX2V2aWN0X2FsbChzdHJ1Y3Qgdm13X3ByaXZhdGUgKmRldl9wcml2KQogCiAJbXV0ZXhfdW5s b2NrKCZkZXZfcHJpdi0+Y21kYnVmX211dGV4KTsKIH0KKworLyoqCisgKiB2bXdfcmVzb3VyY2Vf cGluIC0gQWRkIGEgcGluIHJlZmVyZW5jZSBvbiBhIHJlc291cmNlCisgKgorICogQHJlczogVGhl IHJlc291cmNlIHRvIGFkZCBhIHBpbiByZWZlcmVuY2Ugb24KKyAqCisgKiBUaGlzIGZ1bmN0aW9u IGFkZHMgYSBwaW4gcmVmZXJlbmNlLCBhbmQgaWYgbmVlZGVkIHZhbGlkYXRlcyB0aGUgcmVzb3Vy Y2UuCisgKiBIYXZpbmcgYSBwaW4gcmVmZXJlbmNlIG1lYW5zIHRoYXQgdGhlIHJlc291cmNlIGNh biBuZXZlciBiZSBldmljdGVkLCBhbmQKKyAqIGl0cyBpZCB3aWxsIG5ldmVyIGNoYW5nZSBhcyBs b25nIGFzIHRoZXJlIGlzIGEgcGluIHJlZmVyZW5jZS4KKyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJu cyAwIG9uIHN1Y2Nlc3MgYW5kIGEgbmVnYXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlLgorICov CitpbnQgdm13X3Jlc291cmNlX3BpbihzdHJ1Y3Qgdm13X3Jlc291cmNlICpyZXMpCit7CisJc3Ry dWN0IHZtd19wcml2YXRlICpkZXZfcHJpdiA9IHJlcy0+ZGV2X3ByaXY7CisJaW50IHJldDsKKwor CXR0bV93cml0ZV9sb2NrKCZkZXZfcHJpdi0+cmVzZXJ2YXRpb25fc2VtLCBmYWxzZSk7CisJbXV0 ZXhfbG9jaygmZGV2X3ByaXYtPmNtZGJ1Zl9tdXRleCk7CisJcmV0ID0gdm13X3Jlc291cmNlX3Jl c2VydmUocmVzLCBmYWxzZSk7CisJaWYgKHJldCkKKwkJZ290byBvdXRfbm9fcmVzZXJ2ZTsKKwor CWlmIChyZXMtPnBpbl9jb3VudCA9PSAwKSB7CisJCXN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAq Ym8gPSBOVUxMOworCisJCWlmIChyZXMtPmJhY2t1cCkgeworCQkJYm8gPSAmcmVzLT5iYWNrdXAt PmJhc2U7CisKKwkJCXR0bV9ib19yZXNlcnZlKGJvLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBOVUxM KTsKKwkJCXJldCA9IHR0bV9ib192YWxpZGF0ZShibywgcmVzLT5mdW5jLT5iYWNrdXBfcGxhY2Vt ZW50LAorCQkJCQkgICAgICBmYWxzZSwgZmFsc2UpOworCQkJaWYgKHJldCkgeworCQkJCXR0bV9i b191bnJlc2VydmUoYm8pOworCQkJCWdvdG8gb3V0X25vX3ZhbGlkYXRlOworCQkJfQorCisJCQkv KiBEbyB3ZSByZWFsbHkgbmVlZCB0byBwaW4gdGhlIE1PQiBhcyB3ZWxsPyAqLworCQkJdm13X2Jv X3BpbihibywgdHJ1ZSk7CisJCX0KKwkJcmV0ID0gdm13X3Jlc291cmNlX3ZhbGlkYXRlKHJlcyk7 CisJCWlmIChibykKKwkJCXR0bV9ib191bnJlc2VydmUoYm8pOworCQlpZiAocmV0KQorCQkJZ290 byBvdXRfbm9fdmFsaWRhdGU7CisJfQorCXJlcy0+cGluX2NvdW50Kys7CisKK291dF9ub192YWxp ZGF0ZToKKwl2bXdfcmVzb3VyY2VfdW5yZXNlcnZlKHJlcywgTlVMTCwgMFVMKTsKK291dF9ub19y ZXNlcnZlOgorCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmNtZGJ1Zl9tdXRleCk7CisJdHRtX3dy aXRlX3VubG9jaygmZGV2X3ByaXYtPnJlc2VydmF0aW9uX3NlbSk7CisKKwlyZXR1cm4gcmV0Owor fQorCisvKioKKyAqIHZtd19yZXNvdXJjZV91bnBpbiAtIFJlbW92ZSBhIHBpbiByZWZlcmVuY2Ug ZnJvbSBhIHJlc291cmNlCisgKgorICogQHJlczogVGhlIHJlc291cmNlIHRvIHJlbW92ZSBhIHBp biByZWZlcmVuY2UgZnJvbQorICoKKyAqIEhhdmluZyBhIHBpbiByZWZlcmVuY2UgbWVhbnMgdGhh dCB0aGUgcmVzb3VyY2UgY2FuIG5ldmVyIGJlIGV2aWN0ZWQsIGFuZAorICogaXRzIGlkIHdpbGwg bmV2ZXIgY2hhbmdlIGFzIGxvbmcgYXMgdGhlcmUgaXMgYSBwaW4gcmVmZXJlbmNlLgorICovCit2 b2lkIHZtd19yZXNvdXJjZV91bnBpbihzdHJ1Y3Qgdm13X3Jlc291cmNlICpyZXMpCit7CisJc3Ry dWN0IHZtd19wcml2YXRlICpkZXZfcHJpdiA9IHJlcy0+ZGV2X3ByaXY7CisJaW50IHJldDsKKwor CXR0bV9yZWFkX2xvY2soJmRldl9wcml2LT5yZXNlcnZhdGlvbl9zZW0sIGZhbHNlKTsKKwltdXRl eF9sb2NrKCZkZXZfcHJpdi0+Y21kYnVmX211dGV4KTsKKworCXJldCA9IHZtd19yZXNvdXJjZV9y ZXNlcnZlKHJlcywgdHJ1ZSk7CisJV0FSTl9PTihyZXQpOworCisJV0FSTl9PTihyZXMtPnBpbl9j b3VudCA9PSAwKTsKKwlpZiAoLS1yZXMtPnBpbl9jb3VudCA9PSAwICYmIHJlcy0+YmFja3VwKSB7 CisJCXN0cnVjdCB0dG1fYnVmZmVyX29iamVjdCAqYm8gPSAmcmVzLT5iYWNrdXAtPmJhc2U7CisK KwkJdHRtX2JvX3Jlc2VydmUoYm8sIGZhbHNlLCBmYWxzZSwgZmFsc2UsIE5VTEwpOworCQl2bXdf Ym9fcGluKGJvLCBmYWxzZSk7CisJCXR0bV9ib191bnJlc2VydmUoYm8pOworCX0KKworCXZtd19y ZXNvdXJjZV91bnJlc2VydmUocmVzLCBOVUxMLCAwVUwpOworCisJbXV0ZXhfdW5sb2NrKCZkZXZf cHJpdi0+Y21kYnVmX211dGV4KTsKKwl0dG1fcmVhZF91bmxvY2soJmRldl9wcml2LT5yZXNlcnZh dGlvbl9zZW0pOworfQotLSAKMi4xLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbAo=