From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: [PATCH 2/6] drm/omap: gem: Merge __omap_gem_get_pages() and omap_gem_attach_pages() Date: Mon, 2 Apr 2018 21:50:34 +0300 Message-ID: <20180402185038.18418-3-laurent.pinchart@ideasonboard.com> References: <20180402185038.18418-1-laurent.pinchart@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from galahad.ideasonboard.com (galahad.ideasonboard.com [185.26.127.97]) by gabe.freedesktop.org (Postfix) with ESMTPS id 494096E312 for ; Mon, 2 Apr 2018 18:50:36 +0000 (UTC) In-Reply-To: <20180402185038.18418-1-laurent.pinchart@ideasonboard.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 Cc: Daniel Vetter , Tomi Valkeinen List-Id: dri-devel@lists.freedesktop.org VGhlIF9fb21hcF9nZW1fZ2V0X3BhZ2VzKCkgZnVuY3Rpb24gaXMgYSB3cmFwcGVyIGFyb3VuZApv bWFwX2dlbV9hdHRhY2hfcGFnZXMoKSB0aGF0IHJldHVybnMgdGhlIG9tYXBfb2JqLT5wYWdlcyBw b2ludGVyIHRocm91Z2gKYSBmdW5jdGlvbiBhcmd1bWVudC4gU29tZSBjYWxsZXJzIGRvbid0IG5l ZWQgdGhlIHBhZ2VzIHBvaW50ZXIsIGFuZCBhbGwKb2YgdGhlbSBjYW4gYWNjZXNzIG9tYXBfb2Jq LT5wYWdlcyBkaXJlY3RseS4gVG8gc2ltcGxpZnkgdGhlIGNvZGUgbWVyZ2UKdGhlIF9fb21hcF9n ZW1fZ2V0X3BhZ2VzKCkgd3JhcHBlciB3aXRoIG9tYXBfZ2VtX2F0dGFjaF9wYWdlcygpIGFuZAp1 cGRhdGUgdGhlIGNhbGxlcnMgYWNjb3JkaW5nbHkuCgpTaWduZWQtb2ZmLWJ5OiBMYXVyZW50IFBp bmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL29tYXBkcm0vb21hcF9nZW0uYyB8IDYyICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMzkgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9nZW0uYyBi L2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZ2VtLmMKaW5kZXggNmNmY2Y2MGNmZmUzLi4x M2ZlYTIwNzM0M2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZ2Vt LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9nZW0uYwpAQCAtMjIyLDcgKzIy MiwxMCBAQCBzdGF0aWMgdm9pZCBvbWFwX2dlbV9ldmljdChzdHJ1Y3QgZHJtX2dlbV9vYmplY3Qg Km9iaikKICAqIFBhZ2UgTWFuYWdlbWVudAogICovCiAKLS8qKiBlbnN1cmUgYmFja2luZyBwYWdl cyBhcmUgYWxsb2NhdGVkICovCisvKgorICogRW5zdXJlIGJhY2tpbmcgcGFnZXMgYXJlIGFsbG9j YXRlZC4gTXVzdCBiZSBjYWxsZWQgd2l0aCB0aGUgb21hcF9vYmoubG9jaworICogaGVsZC4KKyAq Lwogc3RhdGljIGludCBvbWFwX2dlbV9hdHRhY2hfcGFnZXMoc3RydWN0IGRybV9nZW1fb2JqZWN0 ICpvYmopCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG9iai0+ZGV2OwpAQCAtMjMyLDcg KzIzNSwxMiBAQCBzdGF0aWMgaW50IG9tYXBfZ2VtX2F0dGFjaF9wYWdlcyhzdHJ1Y3QgZHJtX2dl bV9vYmplY3QgKm9iaikKIAlpbnQgaSwgcmV0OwogCWRtYV9hZGRyX3QgKmFkZHJzOwogCi0JV0FS Tl9PTihvbWFwX29iai0+cGFnZXMpOworCS8qCisJICogSWYgbm90IHVzaW5nIHNobWVtIChpbiB3 aGljaCBjYXNlIGJhY2tpbmcgcGFnZXMgZG9uJ3QgbmVlZCB0byBiZQorCSAqIGFsbG9jYXRlZCkg b3IgaWYgcGFnZXMgYXJlIGFscmVhZHkgYWxsb2NhdGVkIHdlJ3JlIGRvbmUuCisJICovCisJaWYg KCEob21hcF9vYmotPmZsYWdzICYgT01BUF9CT19NRU1fU0hNRU0pIHx8IG9tYXBfb2JqLT5wYWdl cykKKwkJcmV0dXJuIDA7CiAKIAlwYWdlcyA9IGRybV9nZW1fZ2V0X3BhZ2VzKG9iaik7CiAJaWYg KElTX0VSUihwYWdlcykpIHsKQEAgLTI4OCwyOSArMjk2LDYgQEAgc3RhdGljIGludCBvbWFwX2dl bV9hdHRhY2hfcGFnZXMoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmopCiAJcmV0dXJuIHJldDsK IH0KIAotLyogYWNxdWlyZSBwYWdlcyB3aGVuIG5lZWRlZCAoZm9yIGV4YW1wbGUsIGZvciBETUEg d2hlcmUgcGh5c2ljYWxseQotICogY29udGlndW91cyBidWZmZXIgaXMgbm90IHJlcXVpcmVkCi0g Ki8KLXN0YXRpYyBpbnQgX19vbWFwX2dlbV9nZXRfcGFnZXMoc3RydWN0IGRybV9nZW1fb2JqZWN0 ICpvYmosCi0JCQkJc3RydWN0IHBhZ2UgKioqcGFnZXMpCi17Ci0Jc3RydWN0IG9tYXBfZ2VtX29i amVjdCAqb21hcF9vYmogPSB0b19vbWFwX2JvKG9iaik7Ci0JaW50IHJldCA9IDA7Ci0KLQlpZiAo KG9tYXBfb2JqLT5mbGFncyAmIE9NQVBfQk9fTUVNX1NITUVNKSAmJiAhb21hcF9vYmotPnBhZ2Vz KSB7Ci0JCXJldCA9IG9tYXBfZ2VtX2F0dGFjaF9wYWdlcyhvYmopOwotCQlpZiAocmV0KSB7Ci0J CQlkZXZfZXJyKG9iai0+ZGV2LT5kZXYsICJjb3VsZCBub3QgYXR0YWNoIHBhZ2VzXG4iKTsKLQkJ CXJldHVybiByZXQ7Ci0JCX0KLQl9Ci0KLQkvKiBUT0RPOiBldmVuIHBoeXMtY29udGlnLi4gd2Ug c2hvdWxkIGhhdmUgYSBsaXN0IG9mIHBhZ2VzPyAqLwotCSpwYWdlcyA9IG9tYXBfb2JqLT5wYWdl czsKLQotCXJldHVybiAwOwotfQotCiAvKiogcmVsZWFzZSBiYWNraW5nIHBhZ2VzICovCiBzdGF0 aWMgdm9pZCBvbWFwX2dlbV9kZXRhY2hfcGFnZXMoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmop CiB7CkBAIC01MTYsNyArNTAxLDYgQEAgaW50IG9tYXBfZ2VtX2ZhdWx0KHN0cnVjdCB2bV9mYXVs dCAqdm1mKQogCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqID0gdm1hLT52bV9wcml2YXRlX2Rh dGE7CiAJc3RydWN0IG9tYXBfZ2VtX29iamVjdCAqb21hcF9vYmogPSB0b19vbWFwX2JvKG9iaik7 CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IG9iai0+ZGV2OwotCXN0cnVjdCBwYWdlICoqcGFn ZXM7CiAJaW50IHJldDsKIAogCS8qIE1ha2Ugc3VyZSB3ZSBkb24ndCBwYXJhbGxlbCB1cGRhdGUg b24gYSBmYXVsdCwgbm9yIG1vdmUgb3IgcmVtb3ZlCkBAIC01MjUsNyArNTA5LDcgQEAgaW50IG9t YXBfZ2VtX2ZhdWx0KHN0cnVjdCB2bV9mYXVsdCAqdm1mKQogCW11dGV4X2xvY2soJmRldi0+c3Ry dWN0X211dGV4KTsKIAogCS8qIGlmIGEgc2htZW0gYmFja2VkIG9iamVjdCwgbWFrZSBzdXJlIHdl IGhhdmUgcGFnZXMgYXR0YWNoZWQgbm93ICovCi0JcmV0ID0gX19vbWFwX2dlbV9nZXRfcGFnZXMo b2JqLCAmcGFnZXMpOworCXJldCA9IG9tYXBfZ2VtX2F0dGFjaF9wYWdlcyhvYmopOwogCWlmIChy ZXQpCiAJCWdvdG8gZmFpbDsKIApAQCAtNjk0LDEyICs2NzgsMTIgQEAgaW50IG9tYXBfZ2VtX3Jv bGwoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIHUzMiByb2xsKQogCiAJLyogaWYgd2UgYXJl bid0IG1hcHBlZCB5ZXQsIHdlIGRvbid0IG5lZWQgdG8gZG8gYW55dGhpbmcgKi8KIAlpZiAob21h cF9vYmotPmJsb2NrKSB7Ci0JCXN0cnVjdCBwYWdlICoqcGFnZXM7Ci0KLQkJcmV0ID0gX19vbWFw X2dlbV9nZXRfcGFnZXMob2JqLCAmcGFnZXMpOworCQlyZXQgPSBvbWFwX2dlbV9hdHRhY2hfcGFn ZXMob2JqKTsKIAkJaWYgKHJldCkKIAkJCWdvdG8gZmFpbDsKLQkJcmV0ID0gdGlsZXJfcGluKG9t YXBfb2JqLT5ibG9jaywgcGFnZXMsIG5wYWdlcywgcm9sbCwgdHJ1ZSk7CisKKwkJcmV0ID0gdGls ZXJfcGluKG9tYXBfb2JqLT5ibG9jaywgb21hcF9vYmotPnBhZ2VzLCBucGFnZXMsCisJCQkJcm9s bCwgdHJ1ZSk7CiAJCWlmIChyZXQpCiAJCQlkZXZfZXJyKG9iai0+ZGV2LT5kZXYsICJjb3VsZCBu b3QgcmVwaW46ICVkXG4iLCByZXQpOwogCX0KQEAgLTgxMCwxNCArNzk0LDEzIEBAIGludCBvbWFw X2dlbV9waW4oc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIGRtYV9hZGRyX3QgKmRtYV9hZGRy KQogCiAJaWYgKCFvbWFwX2dlbV9pc19jb250aWd1b3VzKG9tYXBfb2JqKSAmJiBwcml2LT5oYXNf ZG1tKSB7CiAJCWlmIChvbWFwX29iai0+ZG1hX2FkZHJfY250ID09IDApIHsKLQkJCXN0cnVjdCBw YWdlICoqcGFnZXM7CiAJCQl1MzIgbnBhZ2VzID0gb2JqLT5zaXplID4+IFBBR0VfU0hJRlQ7CiAJ CQllbnVtIHRpbGVyX2ZtdCBmbXQgPSBnZW0yZm10KG9tYXBfb2JqLT5mbGFncyk7CiAJCQlzdHJ1 Y3QgdGlsZXJfYmxvY2sgKmJsb2NrOwogCiAJCQlCVUdfT04ob21hcF9vYmotPmJsb2NrKTsKIAot CQkJcmV0ID0gX19vbWFwX2dlbV9nZXRfcGFnZXMob2JqLCAmcGFnZXMpOworCQkJcmV0ID0gb21h cF9nZW1fYXR0YWNoX3BhZ2VzKG9iaik7CiAJCQlpZiAocmV0KQogCQkJCWdvdG8gZmFpbDsKIApA QCAtODM3LDcgKzgyMCw3IEBAIGludCBvbWFwX2dlbV9waW4oc3RydWN0IGRybV9nZW1fb2JqZWN0 ICpvYmosIGRtYV9hZGRyX3QgKmRtYV9hZGRyKQogCQkJfQogCiAJCQkvKiBUT0RPOiBlbmFibGUg YXN5bmMgcmVmaWxsLi4gKi8KLQkJCXJldCA9IHRpbGVyX3BpbihibG9jaywgcGFnZXMsIG5wYWdl cywKKwkJCXJldCA9IHRpbGVyX3BpbihibG9jaywgb21hcF9vYmotPnBhZ2VzLCBucGFnZXMsCiAJ CQkJCW9tYXBfb2JqLT5yb2xsLCB0cnVlKTsKIAkJCWlmIChyZXQpIHsKIAkJCQl0aWxlcl9yZWxl YXNlKGJsb2NrKTsKQEAgLTk0NiwxNiArOTI5LDE4IEBAIGludCBvbWFwX2dlbV90aWxlZF9zdHJp ZGUoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIHUzMiBvcmllbnQpCiBpbnQgb21hcF9nZW1f Z2V0X3BhZ2VzKHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLCBzdHJ1Y3QgcGFnZSAqKipwYWdl cywKIAkJYm9vbCByZW1hcCkKIHsKKwlzdHJ1Y3Qgb21hcF9nZW1fb2JqZWN0ICpvbWFwX29iaiA9 IHRvX29tYXBfYm8ob2JqKTsKIAlpbnQgcmV0OworCiAJaWYgKCFyZW1hcCkgewotCQlzdHJ1Y3Qg b21hcF9nZW1fb2JqZWN0ICpvbWFwX29iaiA9IHRvX29tYXBfYm8ob2JqKTsKIAkJaWYgKCFvbWFw X29iai0+cGFnZXMpCiAJCQlyZXR1cm4gLUVOT01FTTsKIAkJKnBhZ2VzID0gb21hcF9vYmotPnBh Z2VzOwogCQlyZXR1cm4gMDsKIAl9CiAJbXV0ZXhfbG9jaygmb2JqLT5kZXYtPnN0cnVjdF9tdXRl eCk7Ci0JcmV0ID0gX19vbWFwX2dlbV9nZXRfcGFnZXMob2JqLCBwYWdlcyk7CisJcmV0ID0gb21h cF9nZW1fYXR0YWNoX3BhZ2VzKG9iaik7CisJKnBhZ2VzID0gb21hcF9vYmotPnBhZ2VzOwogCW11 dGV4X3VubG9jaygmb2JqLT5kZXYtPnN0cnVjdF9tdXRleCk7CiAJcmV0dXJuIHJldDsKIH0KQEAg LTk4MCwxMyArOTY1LDEyIEBAIHZvaWQgKm9tYXBfZ2VtX3ZhZGRyKHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqb2JqKQogCXN0cnVjdCBvbWFwX2dlbV9vYmplY3QgKm9tYXBfb2JqID0gdG9fb21hcF9i byhvYmopOwogCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmb2JqLT5kZXYtPnN0cnVjdF9tdXRl eCkpOwogCWlmICghb21hcF9vYmotPnZhZGRyKSB7Ci0JCXN0cnVjdCBwYWdlICoqcGFnZXM7CiAJ CWludCByZXQ7CiAKLQkJcmV0ID0gX19vbWFwX2dlbV9nZXRfcGFnZXMob2JqLCAmcGFnZXMpOwor CQlyZXQgPSBvbWFwX2dlbV9hdHRhY2hfcGFnZXMob2JqKTsKIAkJaWYgKHJldCkKIAkJCXJldHVy biBFUlJfUFRSKHJldCk7Ci0JCW9tYXBfb2JqLT52YWRkciA9IHZtYXAocGFnZXMsIG9iai0+c2l6 ZSA+PiBQQUdFX1NISUZULAorCQlvbWFwX29iai0+dmFkZHIgPSB2bWFwKG9tYXBfb2JqLT5wYWdl cywgb2JqLT5zaXplID4+IFBBR0VfU0hJRlQsCiAJCQkJVk1fTUFQLCBwZ3Byb3Rfd3JpdGVjb21i aW5lKFBBR0VfS0VSTkVMKSk7CiAJfQogCXJldHVybiBvbWFwX29iai0+dmFkZHI7Ci0tIApSZWdh cmRzLAoKTGF1cmVudCBQaW5jaGFydAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCg==