From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 1/5] drm: Allow drivers setting vm_ops per vma offset node Date: Tue, 26 Jan 2016 14:53:29 +0000 Message-ID: <1453820013-3908-2-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1453820013-3908-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 mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 8FA046E5F7 for ; Tue, 26 Jan 2016 06:53:38 -0800 (PST) In-Reply-To: <1453820013-3908-1-git-send-email-tvrtko.ursulin@linux.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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClRoaXMgYWxs b3dzIGRyaXZlcnMgdG8gaW1wbGVtZW50IHBlci1vYmplY3QgbW1hcCgyKSBzdHJhdGVnaWVzLgoK SWYgbm90IHNldCB2aWEgdGhlIGRybV92bWFfbm9kZV9zZXRfdm1fb3BzIGhlbHBlciwgZHJpdmVy CmRlZmF1bHQgdm1fb3BzIGFyZSB1c2VkIHByZXNlcnZpbmcgY29tcGF0aWJpbGl0eSB3aXRoIHRo ZQpleGlzdGluZyBjb2RlIGJhc2UuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZy dGtvLnVyc3VsaW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZ2VtLmMgICAg ICAgICB8IDUzICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogZHJpdmVy cy9ncHUvZHJtL2RybV92bWFfbWFuYWdlci5jIHwgIDEgKwogaW5jbHVkZS9kcm0vZHJtX3ZtYV9t YW5hZ2VyLmggICAgIHwgMTMgKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRp b25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9nZW0uYwppbmRleCAyZThjNzdlNzFlMWYuLjkw ZDljMTE0MWFmMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9nZW0uYworKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2dlbS5jCkBAIC04MjQsNiArODI0LDMxIEBAIHZvaWQgZHJtX2dl bV92bV9jbG9zZShzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKIH0KIEVYUE9SVF9TWU1CT0wo ZHJtX2dlbV92bV9jbG9zZSk7CiAKK3N0YXRpYyBpbnQgZHJtX2dlbV9tbWFwX29ial9vcHMoc3Ry dWN0IGRybV9nZW1fb2JqZWN0ICpvYmosCisJCQkJdW5zaWduZWQgbG9uZyBvYmpfc2l6ZSwKKwkJ CQljb25zdCBzdHJ1Y3Qgdm1fb3BlcmF0aW9uc19zdHJ1Y3QgKnZtX29wcywKKwkJCQlzdHJ1Y3Qg dm1fYXJlYV9zdHJ1Y3QgKnZtYSkKK3sKKwkvKiBDaGVjayBmb3IgdmFsaWQgc2l6ZS4gKi8KKwlp ZiAob2JqX3NpemUgPCB2bWEtPnZtX2VuZCAtIHZtYS0+dm1fc3RhcnQpCisJCXJldHVybiAtRUlO VkFMOworCisJdm1hLT52bV9mbGFncyB8PSBWTV9JTyB8IFZNX1BGTk1BUCB8IFZNX0RPTlRFWFBB TkQgfCBWTV9ET05URFVNUDsKKwl2bWEtPnZtX29wcyA9IHZtX29wczsKKwl2bWEtPnZtX3ByaXZh dGVfZGF0YSA9IG9iajsKKwl2bWEtPnZtX3BhZ2VfcHJvdCA9IHBncHJvdF93cml0ZWNvbWJpbmUo dm1fZ2V0X3BhZ2VfcHJvdCh2bWEtPnZtX2ZsYWdzKSk7CisKKwkvKiBUYWtlIGEgcmVmIGZvciB0 aGlzIG1hcHBpbmcgb2YgdGhlIG9iamVjdCwgc28gdGhhdCB0aGUgZmF1bHQKKwkgKiBoYW5kbGVy IGNhbiBkZXJlZmVyZW5jZSB0aGUgbW1hcCBvZmZzZXQncyBwb2ludGVyIHRvIHRoZSBvYmplY3Qu CisJICogVGhpcyByZWZlcmVuY2UgaXMgY2xlYW5lZCB1cCBieSB0aGUgY29ycmVzcG9uZGluZyB2 bV9jbG9zZQorCSAqICh3aGljaCBzaG91bGQgaGFwcGVuIHdoZXRoZXIgdGhlIHZtYSB3YXMgY3Jl YXRlZCBieSB0aGlzIGNhbGwsIG9yCisJICogYnkgYSB2bV9vcGVuIGR1ZSB0byBtcmVtYXAgb3Ig cGFydGlhbCB1bm1hcCBvciB3aGF0ZXZlcikuCisJICovCisJZHJtX2dlbV9vYmplY3RfcmVmZXJl bmNlKG9iaik7CisKKwlyZXR1cm4gMDsKK30KKwogLyoqCiAgKiBkcm1fZ2VtX21tYXBfb2JqIC0g bWVtb3J5IG1hcCBhIEdFTSBvYmplY3QKICAqIEBvYmo6IHRoZSBHRU0gb2JqZWN0IHRvIG1hcApA QCAtODUzLDI3ICs4NzgsMTEgQEAgaW50IGRybV9nZW1fbW1hcF9vYmooc3RydWN0IGRybV9nZW1f b2JqZWN0ICpvYmosIHVuc2lnbmVkIGxvbmcgb2JqX3NpemUsCiB7CiAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IG9iai0+ZGV2OwogCi0JLyogQ2hlY2sgZm9yIHZhbGlkIHNpemUuICovCi0JaWYg KG9ial9zaXplIDwgdm1hLT52bV9lbmQgLSB2bWEtPnZtX3N0YXJ0KQotCQlyZXR1cm4gLUVJTlZB TDsKLQogCWlmICghZGV2LT5kcml2ZXItPmdlbV92bV9vcHMpCiAJCXJldHVybiAtRUlOVkFMOwog Ci0Jdm1hLT52bV9mbGFncyB8PSBWTV9JTyB8IFZNX1BGTk1BUCB8IFZNX0RPTlRFWFBBTkQgfCBW TV9ET05URFVNUDsKLQl2bWEtPnZtX29wcyA9IGRldi0+ZHJpdmVyLT5nZW1fdm1fb3BzOwotCXZt YS0+dm1fcHJpdmF0ZV9kYXRhID0gb2JqOwotCXZtYS0+dm1fcGFnZV9wcm90ID0gcGdwcm90X3dy aXRlY29tYmluZSh2bV9nZXRfcGFnZV9wcm90KHZtYS0+dm1fZmxhZ3MpKTsKLQotCS8qIFRha2Ug YSByZWYgZm9yIHRoaXMgbWFwcGluZyBvZiB0aGUgb2JqZWN0LCBzbyB0aGF0IHRoZSBmYXVsdAot CSAqIGhhbmRsZXIgY2FuIGRlcmVmZXJlbmNlIHRoZSBtbWFwIG9mZnNldCdzIHBvaW50ZXIgdG8g dGhlIG9iamVjdC4KLQkgKiBUaGlzIHJlZmVyZW5jZSBpcyBjbGVhbmVkIHVwIGJ5IHRoZSBjb3Jy ZXNwb25kaW5nIHZtX2Nsb3NlCi0JICogKHdoaWNoIHNob3VsZCBoYXBwZW4gd2hldGhlciB0aGUg dm1hIHdhcyBjcmVhdGVkIGJ5IHRoaXMgY2FsbCwgb3IKLQkgKiBieSBhIHZtX29wZW4gZHVlIHRv IG1yZW1hcCBvciBwYXJ0aWFsIHVubWFwIG9yIHdoYXRldmVyKS4KLQkgKi8KLQlkcm1fZ2VtX29i amVjdF9yZWZlcmVuY2Uob2JqKTsKLQotCXJldHVybiAwOworCXJldHVybiBkcm1fZ2VtX21tYXBf b2JqX29wcyhvYmosIG9ial9zaXplLCBkZXYtPmRyaXZlci0+Z2VtX3ZtX29wcywKKwkJCQkgICAg dm1hKTsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX2dlbV9tbWFwX29iaik7CiAKQEAgLTg5OCw2ICs5 MDcsNyBAQCBpbnQgZHJtX2dlbV9tbWFwKHN0cnVjdCBmaWxlICpmaWxwLCBzdHJ1Y3Qgdm1fYXJl YV9zdHJ1Y3QgKnZtYSkKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcHJpdi0+bWlub3ItPmRl djsKIAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiA9IE5VTEw7CiAJc3RydWN0IGRybV92bWFf b2Zmc2V0X25vZGUgKm5vZGU7CisJY29uc3Qgc3RydWN0IHZtX29wZXJhdGlvbnNfc3RydWN0ICp2 bV9vcHM7CiAJaW50IHJldDsKIAogCWlmIChkcm1fZGV2aWNlX2lzX3VucGx1Z2dlZChkZXYpKQpA QCAtOTMyLDggKzk0MiwxMSBAQCBpbnQgZHJtX2dlbV9tbWFwKHN0cnVjdCBmaWxlICpmaWxwLCBz dHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKIAkJcmV0dXJuIC1FQUNDRVM7CiAJfQogCi0JcmV0 ID0gZHJtX2dlbV9tbWFwX29iaihvYmosIGRybV92bWFfbm9kZV9zaXplKG5vZGUpIDw8IFBBR0Vf U0hJRlQsCi0JCQkgICAgICAgdm1hKTsKKwl2bV9vcHMgPSBub2RlLT52bV9vcHM7CisJaWYgKCF2 bV9vcHMpCisJCXZtX29wcyA9IGRldi0+ZHJpdmVyLT5nZW1fdm1fb3BzOworCXJldCA9IGRybV9n ZW1fbW1hcF9vYmpfb3BzKG9iaiwgZHJtX3ZtYV9ub2RlX3NpemUobm9kZSkgPDwgUEFHRV9TSElG VCwKKwkJCQkgICB2bV9vcHMsIHZtYSk7CiAKIAlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZV91 bmxvY2tlZChvYmopOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX3ZtYV9tYW5h Z2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3ZtYV9tYW5hZ2VyLmMKaW5kZXggMmYyZWNkZTgy ODViLi5lNzM3NzY3NTc1NTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fdm1hX21h bmFnZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3ZtYV9tYW5hZ2VyLmMKQEAgLTI2NSw2 ICsyNjUsNyBAQCB2b2lkIGRybV92bWFfb2Zmc2V0X3JlbW92ZShzdHJ1Y3QgZHJtX3ZtYV9vZmZz ZXRfbWFuYWdlciAqbWdyLAogCQlyYl9lcmFzZSgmbm9kZS0+dm1fcmIsICZtZ3ItPnZtX2FkZHJf c3BhY2VfcmIpOwogCQlkcm1fbW1fcmVtb3ZlX25vZGUoJm5vZGUtPnZtX25vZGUpOwogCQltZW1z ZXQoJm5vZGUtPnZtX25vZGUsIDAsIHNpemVvZihub2RlLT52bV9ub2RlKSk7CisJCW5vZGUtPnZt X29wcyA9IE5VTEw7CiAJfQogCiAJd3JpdGVfdW5sb2NrKCZtZ3ItPnZtX2xvY2spOwpkaWZmIC0t Z2l0IGEvaW5jbHVkZS9kcm0vZHJtX3ZtYV9tYW5hZ2VyLmggYi9pbmNsdWRlL2RybS9kcm1fdm1h X21hbmFnZXIuaAppbmRleCAyZjYzZGQ1ZTA1ZWIuLjc4ZjAyOTExYTVjNSAxMDA2NDQKLS0tIGEv aW5jbHVkZS9kcm0vZHJtX3ZtYV9tYW5hZ2VyLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX3ZtYV9t YW5hZ2VyLmgKQEAgLTQyLDYgKzQyLDcgQEAgc3RydWN0IGRybV92bWFfb2Zmc2V0X25vZGUgewog CXN0cnVjdCBkcm1fbW1fbm9kZSB2bV9ub2RlOwogCXN0cnVjdCByYl9ub2RlIHZtX3JiOwogCXN0 cnVjdCByYl9yb290IHZtX2ZpbGVzOworCWNvbnN0IHN0cnVjdCB2bV9vcGVyYXRpb25zX3N0cnVj dCAqdm1fb3BzOwogfTsKIAogc3RydWN0IGRybV92bWFfb2Zmc2V0X21hbmFnZXIgewpAQCAtMjQ0 LDQgKzI0NSwxNiBAQCBzdGF0aWMgaW5saW5lIGludCBkcm1fdm1hX25vZGVfdmVyaWZ5X2FjY2Vz cyhzdHJ1Y3QgZHJtX3ZtYV9vZmZzZXRfbm9kZSAqbm9kZSwKIAlyZXR1cm4gZHJtX3ZtYV9ub2Rl X2lzX2FsbG93ZWQobm9kZSwgZmlscCkgPyAwIDogLUVBQ0NFUzsKIH0KIAorc3RhdGljIGlubGlu ZSBpbnQKK2RybV92bWFfbm9kZV9zZXRfdm1fb3BzKHN0cnVjdCBkcm1fdm1hX29mZnNldF9ub2Rl ICpub2RlLAorCQkJY29uc3Qgc3RydWN0IHZtX29wZXJhdGlvbnNfc3RydWN0ICp2bV9vcHMpCit7 CisJaWYgKG5vZGUtPnZtX29wcyAmJiBub2RlLT52bV9vcHMgIT0gdm1fb3BzKQorCQlyZXR1cm4g LUVOT0RFVjsKKworCW5vZGUtPnZtX29wcyA9IHZtX29wczsKKworCXJldHVybiAwOworfQorCiAj ZW5kaWYgLyogX19EUk1fVk1BX01BTkFHRVJfSF9fICovCi0tIAoxLjkuMQoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK