From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Subject: [PATCH 4/5] drm/cma-helper: Add DRM_GEM_CMA_VMAP_DRIVER_OPS Date: Sat, 10 Nov 2018 15:56:46 +0100 Message-ID: <20181110145647.17580-5-noralf@tronnes.org> References: <20181110145647.17580-1-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181110145647.17580-1-noralf@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org Cc: david@lechnology.com, intel-gfx@lists.freedesktop.org, =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= , sam@ravnborg.org, christian.koenig@amd.com List-Id: intel-gfx@lists.freedesktop.org VGhpcyBhZGRzIGZ1bmN0aW9uYWxpdHkgdG8gdGhlIENNQSBoZWxwZXIgd2hpY2ggZW5zdXJlcyB0 aGF0IHRoZSBrZXJuZWwKdmlydHVhbCBhZGRyZXNzIGlzIHNldCBvbiB0aGUgQ01BIEdFTSBvYmpl Y3QgYWxzbyBmb3IgaW1wb3J0ZWQgYnVmZmVycy4KClRoZSBkcml2ZXJzIGhhdmUgYmVlbiBhdWRp dGVkIHRvIGVuc3VyZSB0aGF0IG5vbmUgc2V0IC0+dmFkZHIgb24gaW1wb3J0ZWQKYnVmZmVycywg bWFraW5nIHRoZSBjb25kaXRpb25hbCBkbWFfYnVmX3Z1bm1hcCgpIGNhbGwgaW4KZHJtX2dlbV9j bWFfZnJlZV9vYmplY3QoKSBzYWZlLgoKU2lnbmVkLW9mZi1ieTogTm9yYWxmIFRyw7hubmVzIDxu b3JhbGZAdHJvbm5lcy5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fY21hX2hlbHBl ci5jIHwgODYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBpbmNsdWRlL2Ry bS9kcm1fZ2VtX2NtYV9oZWxwZXIuaCAgICAgfCAyNCArKysrKysrKysrCiAyIGZpbGVzIGNoYW5n ZWQsIDExMCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9n ZW1fY21hX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fY21hX2hlbHBlci5jCmlu ZGV4IDFkMmNlZDg4MmI2Ni4uY2MyNjYyNWI0YjMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2dlbV9jbWFfaGVscGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fY21h X2hlbHBlci5jCkBAIC0xNzYsNiArMTc2LDcgQEAgZHJtX2dlbV9jbWFfY3JlYXRlX3dpdGhfaGFu ZGxlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2LAogICoKICAqIFRoaXMgZnVuY3Rpb24gZnJl ZXMgdGhlIGJhY2tpbmcgbWVtb3J5IG9mIHRoZSBDTUEgR0VNIG9iamVjdCwgY2xlYW5zIHVwIHRo ZQogICogR0VNIG9iamVjdCBzdGF0ZSBhbmQgZnJlZXMgdGhlIG1lbW9yeSB1c2VkIHRvIHN0b3Jl IHRoZSBvYmplY3QgaXRzZWxmLgorICogSWYgdGhlIGJ1ZmZlciBpcyBpbXBvcnRlZCBhbmQgdGhl IHZpcnR1YWwgYWRkcmVzcyBpcyBzZXQsIGl0IGlzIHJlbGVhc2VkLgogICogRHJpdmVycyB1c2lu ZyB0aGUgQ01BIGhlbHBlcnMgc2hvdWxkIHNldCB0aGlzIGFzIHRoZWlyCiAgKiAmZHJtX2RyaXZl ci5nZW1fZnJlZV9vYmplY3RfdW5sb2NrZWQgY2FsbGJhY2suCiAgKi8KQEAgLTE4OSw2ICsxOTAs OCBAQCB2b2lkIGRybV9nZW1fY21hX2ZyZWVfb2JqZWN0KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq Z2VtX29iaikKIAkJZG1hX2ZyZWVfd2MoZ2VtX29iai0+ZGV2LT5kZXYsIGNtYV9vYmotPmJhc2Uu c2l6ZSwKIAkJCSAgICBjbWFfb2JqLT52YWRkciwgY21hX29iai0+cGFkZHIpOwogCX0gZWxzZSBp ZiAoZ2VtX29iai0+aW1wb3J0X2F0dGFjaCkgeworCQlpZiAoY21hX29iai0+dmFkZHIpCisJCQlk bWFfYnVmX3Z1bm1hcChnZW1fb2JqLT5pbXBvcnRfYXR0YWNoLT5kbWFidWYsIGNtYV9vYmotPnZh ZGRyKTsKIAkJZHJtX3ByaW1lX2dlbV9kZXN0cm95KGdlbV9vYmosIGNtYV9vYmotPnNndCk7CiAJ fQogCkBAIC01NzUsMyArNTc4LDg2IEBAIHZvaWQgZHJtX2dlbV9jbWFfcHJpbWVfdnVubWFwKHN0 cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCB2b2lkICp2YWRkcikKIAkvKiBOb3RoaW5nIHRvIGRv ICovCiB9CiBFWFBPUlRfU1lNQk9MX0dQTChkcm1fZ2VtX2NtYV9wcmltZV92dW5tYXApOworCitz dGF0aWMgY29uc3Qgc3RydWN0IGRybV9nZW1fb2JqZWN0X2Z1bmNzIGRybV9jbWFfZ2VtX2RlZmF1 bHRfZnVuY3MgPSB7CisJLmZyZWUgPSBkcm1fZ2VtX2NtYV9mcmVlX29iamVjdCwKKwkucHJpbnRf aW5mbyA9IGRybV9nZW1fY21hX3ByaW50X2luZm8sCisJLmdldF9zZ190YWJsZSA9IGRybV9nZW1f Y21hX3ByaW1lX2dldF9zZ190YWJsZSwKKwkudm1hcCA9IGRybV9nZW1fY21hX3ByaW1lX3ZtYXAs CisJLnZtX29wcyA9ICZkcm1fZ2VtX2NtYV92bV9vcHMsCit9OworCisvKioKKyAqIGRybV9jbWFf Z2VtX2NyZWF0ZV9vYmplY3RfZGVmYXVsdF9mdW5jcyAtIENyZWF0ZSBhIENNQSBHRU0gb2JqZWN0 IHdpdGggYQorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVm YXVsdCBmdW5jdGlvbiB0YWJsZQorICogQGRldjogRFJNIGRldmljZQorICogQHNpemU6IFNpemUg b2YgdGhlIG9iamVjdCB0byBhbGxvY2F0ZQorICoKKyAqIFRoaXMgc2V0cyB0aGUgR0VNIG9iamVj dCBmdW5jdGlvbnMgdG8gdGhlIGRlZmF1bHQgQ01BIGhlbHBlciBmdW5jdGlvbnMuCisgKiBUaGlz IGZ1bmN0aW9uIGNhbiBiZSB1c2VkIGFzIHRoZSAmZHJtX2RyaXZlci5nZW1fY3JlYXRlX29iamVj dCBjYWxsYmFjay4KKyAqCisgKiBSZXR1cm5zOgorICogQSBwb2ludGVyIHRvIGEgYWxsb2NhdGVk IEdFTSBvYmplY3Qgb3IgYW4gZXJyb3IgcG9pbnRlciBvbiBmYWlsdXJlLgorICovCitzdHJ1Y3Qg ZHJtX2dlbV9vYmplY3QgKgorZHJtX2NtYV9nZW1fY3JlYXRlX29iamVjdF9kZWZhdWx0X2Z1bmNz KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHNpemVfdCBzaXplKQoreworCXN0cnVjdCBkcm1fZ2Vt X2NtYV9vYmplY3QgKmNtYV9vYmo7CisKKwljbWFfb2JqID0ga3phbGxvYyhzaXplb2YoKmNtYV9v YmopLCBHRlBfS0VSTkVMKTsKKwlpZiAoIWNtYV9vYmopCisJCXJldHVybiBOVUxMOworCisJY21h X29iai0+YmFzZS5mdW5jcyA9ICZkcm1fY21hX2dlbV9kZWZhdWx0X2Z1bmNzOworCisJcmV0dXJu ICZjbWFfb2JqLT5iYXNlOworfQorRVhQT1JUX1NZTUJPTChkcm1fY21hX2dlbV9jcmVhdGVfb2Jq ZWN0X2RlZmF1bHRfZnVuY3MpOworCisvKioKKyAqIGRybV9nZW1fY21hX3ByaW1lX2ltcG9ydF9z Z190YWJsZV92bWFwIC0gUFJJTUUgaW1wb3J0IGFub3RoZXIgZHJpdmVyJ3MKKyAqCXNjYXR0ZXIv Z2F0aGVyIHRhYmxlIGFuZCBnZXQgdGhlIHZpcnR1YWwgYWRkcmVzcyBvZiB0aGUgYnVmZmVyCisg KiBAZGV2OiBEUk0gZGV2aWNlCisgKiBAYXR0YWNoOiBETUEtQlVGIGF0dGFjaG1lbnQKKyAqIEBz Z3Q6IFNjYXR0ZXIvZ2F0aGVyIHRhYmxlIG9mIHBpbm5lZCBwYWdlcworICoKKyAqIFRoaXMgZnVu Y3Rpb24gaW1wb3J0cyBhIHNjYXR0ZXIvZ2F0aGVyIHRhYmxlIHVzaW5nCisgKiBkcm1fZ2VtX2Nt YV9wcmltZV9pbXBvcnRfc2dfdGFibGUoKSBhbmQgdXNlcyBkbWFfYnVmX3ZtYXAoKSB0byBnZXQg dGhlIGtlcm5lbAorICogdmlydHVhbCBhZGRyZXNzLiBUaGlzIGVuc3VyZXMgdGhhdCBhIENNQSBH RU0gb2JqZWN0IGFsd2F5cyBoYXMgaXRzIHZpcnR1YWwKKyAqIGFkZHJlc3Mgc2V0LiBUaGlzIGFk ZHJlc3MgaXMgcmVsZWFzZWQgd2hlbiB0aGUgb2JqZWN0IGlzIGZyZWVkLgorICoKKyAqIFRoaXMg ZnVuY3Rpb24gY2FuIGJlIHVzZWQgYXMgdGhlICZkcm1fZHJpdmVyLmdlbV9wcmltZV9pbXBvcnRf c2dfdGFibGUKKyAqIGNhbGxiYWNrLiBUaGUgRFJNX0dFTV9DTUFfVk1BUF9EUklWRVJfT1BTKCkg bWFjcm8gcHJvdmlkZXMgYSBzaG9ydGN1dCB0byBzZXQKKyAqIHRoZSBuZWNlc3NhcnkgRFJNIGRy aXZlciBvcGVyYXRpb25zLgorICoKKyAqIFJldHVybnM6CisgKiBBIHBvaW50ZXIgdG8gYSBuZXds eSBjcmVhdGVkIEdFTSBvYmplY3Qgb3IgYW4gRVJSX1BUUi1lbmNvZGVkIG5lZ2F0aXZlCisgKiBl cnJvciBjb2RlIG9uIGZhaWx1cmUuCisgKi8KK3N0cnVjdCBkcm1fZ2VtX29iamVjdCAqCitkcm1f Z2VtX2NtYV9wcmltZV9pbXBvcnRfc2dfdGFibGVfdm1hcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAorCQkJCSAgICAgICBzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICphdHRhY2gsCisJCQkJICAg ICAgIHN0cnVjdCBzZ190YWJsZSAqc2d0KQoreworCXN0cnVjdCBkcm1fZ2VtX2NtYV9vYmplY3Qg KmNtYV9vYmo7CisJc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmo7CisJdm9pZCAqdmFkZHI7CisK Kwl2YWRkciA9IGRtYV9idWZfdm1hcChhdHRhY2gtPmRtYWJ1Zik7CisJaWYgKCF2YWRkcikgewor CQlEUk1fRVJST1IoIkZhaWxlZCB0byB2bWFwIFBSSU1FIGJ1ZmZlclxuIik7CisJCXJldHVybiBF UlJfUFRSKC1FTk9NRU0pOworCX0KKworCW9iaiA9IGRybV9nZW1fY21hX3ByaW1lX2ltcG9ydF9z Z190YWJsZShkZXYsIGF0dGFjaCwgc2d0KTsKKwlpZiAoSVNfRVJSKG9iaikpIHsKKwkJZG1hX2J1 Zl92dW5tYXAoYXR0YWNoLT5kbWFidWYsIHZhZGRyKTsKKwkJcmV0dXJuIG9iajsKKwl9CisKKwlj bWFfb2JqID0gdG9fZHJtX2dlbV9jbWFfb2JqKG9iaik7CisJY21hX29iai0+dmFkZHIgPSB2YWRk cjsKKworCXJldHVybiBvYmo7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9nZW1fY21hX3ByaW1lX2lt cG9ydF9zZ190YWJsZV92bWFwKTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9nZW1fY21h X2hlbHBlci5oIGIvaW5jbHVkZS9kcm0vZHJtX2dlbV9jbWFfaGVscGVyLmgKaW5kZXggMTk3Nzcx NDVjZjhlLi4wN2M1MDQ5NDBiYTEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9nZW1fY21h X2hlbHBlci5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9nZW1fY21hX2hlbHBlci5oCkBAIC0xMDMs NCArMTAzLDI4IEBAIGludCBkcm1fZ2VtX2NtYV9wcmltZV9tbWFwKHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqb2JqLAogdm9pZCAqZHJtX2dlbV9jbWFfcHJpbWVfdm1hcChzdHJ1Y3QgZHJtX2dlbV9v YmplY3QgKm9iaik7CiB2b2lkIGRybV9nZW1fY21hX3ByaW1lX3Z1bm1hcChzdHJ1Y3QgZHJtX2dl bV9vYmplY3QgKm9iaiwgdm9pZCAqdmFkZHIpOwogCitzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKgor ZHJtX2NtYV9nZW1fY3JlYXRlX29iamVjdF9kZWZhdWx0X2Z1bmNzKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHNpemVfdCBzaXplKTsKKworLyoqCisgKiBEUk1fR0VNX0NNQV9WTUFQX0RSSVZFUl9P UFMgLSBDTUEgR0VNIGRyaXZlciBvcGVyYXRpb25zIGVuc3VyaW5nIGEgdmlydHVhbAorICogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzcyBvbiB0aGUgYnVmZmVyCisgKgorICog VGhpcyBtYWNybyBwcm92aWRlcyBhIHNob3J0Y3V0IGZvciBzZXR0aW5nIHRoZSBkZWZhdWx0IEdF TSBvcGVyYXRpb25zIGluIHRoZQorICogJmRybV9kcml2ZXIgc3RydWN0dXJlIGZvciBkcml2ZXJz IHRoYXQgbmVlZCB0aGUgdmlydHVhbCBhZGRyZXNzIGFsc28gb24KKyAqIGltcG9ydGVkIGJ1ZmZl cnMuCisgKi8KKyNkZWZpbmUgRFJNX0dFTV9DTUFfVk1BUF9EUklWRVJfT1BTIFwKKwkuZ2VtX2Ny ZWF0ZV9vYmplY3QJPSBkcm1fY21hX2dlbV9jcmVhdGVfb2JqZWN0X2RlZmF1bHRfZnVuY3MsIFwK KwkuZHVtYl9jcmVhdGUJCT0gZHJtX2dlbV9jbWFfZHVtYl9jcmVhdGUsIFwKKwkucHJpbWVfaGFu ZGxlX3RvX2ZkCT0gZHJtX2dlbV9wcmltZV9oYW5kbGVfdG9fZmQsIFwKKwkucHJpbWVfZmRfdG9f aGFuZGxlCT0gZHJtX2dlbV9wcmltZV9mZF90b19oYW5kbGUsIFwKKwkuZ2VtX3ByaW1lX2ltcG9y dF9zZ190YWJsZSA9IGRybV9nZW1fY21hX3ByaW1lX2ltcG9ydF9zZ190YWJsZV92bWFwLCBcCisJ LmdlbV9wcmltZV9tbWFwCQk9IGRybV9nZW1fcHJpbWVfbW1hcAorCitzdHJ1Y3QgZHJtX2dlbV9v YmplY3QgKgorZHJtX2dlbV9jbWFfcHJpbWVfaW1wb3J0X3NnX3RhYmxlX3ZtYXAoc3RydWN0IGRy bV9kZXZpY2UgKmRybSwKKwkJCQkgICAgICAgc3RydWN0IGRtYV9idWZfYXR0YWNobWVudCAqYXR0 YWNoLAorCQkJCSAgICAgICBzdHJ1Y3Qgc2dfdGFibGUgKnNndCk7CisKICNlbmRpZiAvKiBfX0RS TV9HRU1fQ01BX0hFTFBFUl9IX18gKi8KLS0gCjIuMTUuMQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==