From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH 03/12] gpu: host1x: Overhaul host1x_bo_{pin,unpin}() API Date: Mon, 28 Oct 2019 13:37:09 +0100 Message-ID: <20191028123718.3890217-4-thierry.reding@gmail.com> References: <20191028123718.3890217-1-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191028123718.3890217-1-thierry.reding@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding Cc: linux-tegra@vger.kernel.org, Sachin Nikam , dri-devel@lists.freedesktop.org, Puneet Saxena List-Id: linux-tegra@vger.kernel.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KClRoZSBob3N0MXhfYm9f cGluKCkgYW5kIGhvc3QxeF9ib191bnBpbigpIEFQSXMgYXJlIHVzZWQgdG8gcGluIGFuZCB1bnBp bgpidWZmZXJzIGR1cmluZyBob3N0MXggam9iIHN1Ym1pc3Npb24uIFBpbm5pbmcgY3VycmVudGx5 IHJldHVybnMgdGhlIFNHCnRhYmxlIGFuZCB0aGUgRE1BIGFkZHJlc3MgKGFuIElPVkEgaWYgYW4g SU9NTVUgaXMgdXNlZCBvciBhIHBoeXNpY2FsCmFkZHJlc3MgaWYgbm8gSU9NTVUgaXMgdXNlZCkg b2YgdGhlIGJ1ZmZlci4gVGhlIERNQSBhZGRyZXNzIGlzIG9ubHkgdXNlZApmb3IgYnVmZmVycyB0 aGF0IGFyZSByZWxvY2F0ZWQsIHdoZXJlYXMgdGhlIGhvc3QxeCBkcml2ZXIgd2lsbCBtYXAKZ2F0 aGVyIGJ1ZmZlcnMgaW50byBpdHMgb3duIElPVkEgc3BhY2Ugc28gdGhhdCB0aGV5IGNhbiBiZSBw cm9jZXNzZWQgYnkKdGhlIENETUEgZW5naW5lLgoKVGhpcyBhcHByb2FjaCBoYXMgYSBjb3VwbGUg b2YgaXNzdWVzLiBPbiBvbmUgaGFuZCBpdCdzIG5vdCB2ZXJ5IHVzZWZ1bAp0byByZXR1cm4gYSBE TUEgYWRkcmVzcyBmb3IgdGhlIGJ1ZmZlciBpZiBob3N0MXggZG9lc24ndCBuZWVkIGl0LiBPbiB0 aGUKb3RoZXIgaGFuZCwgcmV0dXJuaW5nIHRoZSBTRyB0YWJsZSBvZiB0aGUgYnVmZmVyIGlzIHN1 Ym9wdGltYWwgYmVjYXVzZSBhCnNpbmdsZSBTRyB0YWJsZSBjYW5ub3QgYmUgc2hhcmVkIGZvciBt dWx0aXBsZSBtYXBwaW5ncywgYmVjYXVzZSB0aGUgRE1BCmFkZHJlc3MgaXMgc3RvcmVkIHdpdGhp biB0aGUgU0cgdGFibGUsIGFuZCB0aGUgRE1BIGFkZHJlc3MgbWF5IGJlCmRpZmZlcmVudCBmb3Ig ZGlmZmVyZW50IGRldmljZXMuCgpTdWJzZXF1ZW50IHBhdGNoZXMgd2lsbCBtb3ZlIHRoZSBob3N0 MXggZHJpdmVyIG92ZXIgdG8gdGhlIERNQSBBUEkgd2hpY2gKZG9lc24ndCB3b3JrIHdpdGggYSBz aW5nbGUgc2hhcmVkIFNHIHRhYmxlLiBGaXggdGhpcyBieSByZXR1cm5pbmcgYSBuZXcKU0cgdGFi bGUgZWFjaCB0aW1lIGEgYnVmZmVyIGlzIHBpbm5lZC4gVGhpcyBhbGxvd3MgdGhlIGJ1ZmZlciB0 byBiZQpyZWZlcmVuY2VkIGJ5IG11bHRpcGxlIGpvYnMgZm9yIGRpZmZlcmVudCBlbmdpbmVzLgoK Q2hhbmdlIHRoZSBwcm90b3R5cGVzIG9mIGhvc3QxeF9ib19waW4oKSBhbmQgaG9zdDF4X2JvX3Vu cGluKCkgdG8gdGFrZSBhCnN0cnVjdCBkZXZpY2UgKiwgc3BlY2lmeWluZyB0aGUgZGV2aWNlIGZv ciB3aGljaCB0aGUgYnVmZmVyIHNob3VsZCBiZQpwaW5uZWQuIFRoaXMgaXMgcmVxdWlyZWQgaW4g b3JkZXIgdG8gYmUgYWJsZSB0byBwcm9wZXJseSBjb25zdHJ1Y3QgdGhlClNHIHRhYmxlLiBXaGls ZSBhdCBpdCwgbWFrZSBob3N0MXhfYm9fcGluKCkgcmV0dXJuIHRoZSBTRyB0YWJsZSBiZWNhdXNl CnRoYXQgYWxsb3dzIHVzIHRvIHJldHVybiBhbiBFUlJfUFRSKCktZW5jb2RlZCBlcnJvciBjb2Rl IGlmIHdlIG5lZWQgdG8sCm9yIHJldHVybiBOVUxMIHRvIHNpZ25hbCB0aGF0IHdlIGRvbid0IG5l ZWQgdGhlIFNHIHRhYmxlIHRvIGJlIHJlbWFwcGVkCmFuZCBjYW4gc2ltcGx5IHVzZSB0aGUgRE1B IGFkZHJlc3MgYXMtaXMuIEF0IHRoZSBzYW1lIHRpbWUsIHJldHVybmluZwp0aGUgRE1BIGFkZHJl c3MgaXMgbWFkZSBvcHRpb25hbCBiZWNhdXNlIGluIHRoZSBleGFtcGxlIG9mIGNvbW1hbmQKYnVm ZmVycywgaG9zdDF4IGRvZXNuJ3QgbmVlZCB0byBrbm93IHRoZSBETUEgYWRkcmVzcyBzaW5jZSBp dCB3aWxsIGhhdmUKdG8gY3JlYXRlIGl0cyBvd24gbWFwcGluZyBhbnl3YXkuCgpTaWduZWQtb2Zm LWJ5OiBUaGllcnJ5IFJlZGluZyA8dHJlZGluZ0BudmlkaWEuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS90ZWdyYS9nZW0uYyB8IDM0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0K IGRyaXZlcnMvZ3B1L2hvc3QxeC9qb2IuYyAgICB8IDE1ICsrKysrKysrKysrKy0tLQogaW5jbHVk ZS9saW51eC9ob3N0MXguaCAgICAgIHwgMTcgKysrKysrKysrKy0tLS0tLS0KIDMgZmlsZXMgY2hh bmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3RlZ3JhL2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2dlbS5jCmlu ZGV4IGQyZjg4Y2MzMTM0Zi4uNTY0ZWY2MGY2N2MyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vdGVncmEvZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2dlbS5jCkBAIC0yNywx NyArMjcsNDMgQEAgc3RhdGljIHZvaWQgdGVncmFfYm9fcHV0KHN0cnVjdCBob3N0MXhfYm8gKmJv KQogCWRybV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZCgmb2JqLT5nZW0pOwogfQogCi1zdGF0aWMg ZG1hX2FkZHJfdCB0ZWdyYV9ib19waW4oc3RydWN0IGhvc3QxeF9ibyAqYm8sIHN0cnVjdCBzZ190 YWJsZSAqKnNndCkKK3N0YXRpYyBzdHJ1Y3Qgc2dfdGFibGUgKnRlZ3JhX2JvX3BpbihzdHJ1Y3Qg ZGV2aWNlICpkZXYsIHN0cnVjdCBob3N0MXhfYm8gKmJvLAorCQkJCSAgICAgZG1hX2FkZHJfdCAq cGh5cykKIHsKIAlzdHJ1Y3QgdGVncmFfYm8gKm9iaiA9IGhvc3QxeF90b190ZWdyYV9ibyhibyk7 CisJc3RydWN0IHNnX3RhYmxlICpzZ3Q7CisJaW50IGVycjsKKworCWlmIChwaHlzKQorCQkqcGh5 cyA9IG9iai0+aW92YTsKIAotCSpzZ3QgPSBvYmotPnNndDsKKwlzZ3QgPSBremFsbG9jKHNpemVv Zigqc2d0KSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFzZ3QpCisJCXJldHVybiBFUlJfUFRSKC1FTk9N RU0pOwogCi0JcmV0dXJuIG9iai0+aW92YTsKKwlpZiAob2JqLT5wYWdlcykgeworCQllcnIgPSBz Z19hbGxvY190YWJsZV9mcm9tX3BhZ2VzKHNndCwgb2JqLT5wYWdlcywgb2JqLT5udW1fcGFnZXMs CisJCQkJCQkwLCBvYmotPmdlbS5zaXplLCBHRlBfS0VSTkVMKTsKKwkJaWYgKGVyciA8IDApCisJ CQlnb3RvIGZyZWU7CisJfSBlbHNlIHsKKwkJZXJyID0gZG1hX2dldF9zZ3RhYmxlKGRldiwgc2d0 LCBvYmotPnZhZGRyLCBvYmotPmlvdmEsCisJCQkJICAgICAgb2JqLT5nZW0uc2l6ZSk7CisJCWlm IChlcnIgPCAwKQorCQkJZ290byBmcmVlOworCX0KKworCXJldHVybiBzZ3Q7CisKK2ZyZWU6CisJ a2ZyZWUoc2d0KTsKKwlyZXR1cm4gRVJSX1BUUihlcnIpOwogfQogCi1zdGF0aWMgdm9pZCB0ZWdy YV9ib191bnBpbihzdHJ1Y3QgaG9zdDF4X2JvICpibywgc3RydWN0IHNnX3RhYmxlICpzZ3QpCitz dGF0aWMgdm9pZCB0ZWdyYV9ib191bnBpbihzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBzZ190 YWJsZSAqc2d0KQogeworCXNnX2ZyZWVfdGFibGUoc2d0KTsKKwlrZnJlZShzZ3QpOwogfQogCiBz dGF0aWMgdm9pZCAqdGVncmFfYm9fbW1hcChzdHJ1Y3QgaG9zdDF4X2JvICpibykKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2hvc3QxeC9qb2IuYyBiL2RyaXZlcnMvZ3B1L2hvc3QxeC9qb2IuYwpp bmRleCBlYWE1YzMzNTJjMTMuLjkwZGQ1OTJmZGZjYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv aG9zdDF4L2pvYi5jCisrKyBiL2RyaXZlcnMvZ3B1L2hvc3QxeC9qb2IuYwpAQCAtOTksNiArOTks NyBAQCBFWFBPUlRfU1lNQk9MKGhvc3QxeF9qb2JfYWRkX2dhdGhlcik7CiAKIHN0YXRpYyB1bnNp Z25lZCBpbnQgcGluX2pvYihzdHJ1Y3QgaG9zdDF4ICpob3N0LCBzdHJ1Y3QgaG9zdDF4X2pvYiAq am9iKQogeworCXN0cnVjdCBkZXZpY2UgKmRldiA9IGpvYi0+Y2xpZW50LT5kZXY7CiAJdW5zaWdu ZWQgaW50IGk7CiAJaW50IGVycjsKIApAQCAtMTE1LDcgKzExNiwxMSBAQCBzdGF0aWMgdW5zaWdu ZWQgaW50IHBpbl9qb2Ioc3RydWN0IGhvc3QxeCAqaG9zdCwgc3RydWN0IGhvc3QxeF9qb2IgKmpv YikKIAkJCWdvdG8gdW5waW47CiAJCX0KIAotCQlwaHlzX2FkZHIgPSBob3N0MXhfYm9fcGluKHJl bG9jLT50YXJnZXQuYm8sICZzZ3QpOworCQlzZ3QgPSBob3N0MXhfYm9fcGluKGRldiwgcmVsb2Mt PnRhcmdldC5ibywgJnBoeXNfYWRkcik7CisJCWlmIChJU19FUlIoc2d0KSkgeworCQkJZXJyID0g UFRSX0VSUihzZ3QpOworCQkJZ290byB1bnBpbjsKKwkJfQogCiAJCWpvYi0+YWRkcl9waHlzW2pv Yi0+bnVtX3VucGluc10gPSBwaHlzX2FkZHI7CiAJCWpvYi0+dW5waW5zW2pvYi0+bnVtX3VucGlu c10uYm8gPSByZWxvYy0+dGFyZ2V0LmJvOwpAQCAtMTM5LDcgKzE0NCwxMSBAQCBzdGF0aWMgdW5z aWduZWQgaW50IHBpbl9qb2Ioc3RydWN0IGhvc3QxeCAqaG9zdCwgc3RydWN0IGhvc3QxeF9qb2Ig KmpvYikKIAkJCWdvdG8gdW5waW47CiAJCX0KIAotCQlwaHlzX2FkZHIgPSBob3N0MXhfYm9fcGlu KGctPmJvLCAmc2d0KTsKKwkJc2d0ID0gaG9zdDF4X2JvX3Bpbihob3N0LT5kZXYsIGctPmJvLCAm cGh5c19hZGRyKTsKKwkJaWYgKElTX0VSUihzZ3QpKSB7CisJCQllcnIgPSBQVFJfRVJSKHNndCk7 CisJCQlnb3RvIHVucGluOworCQl9CiAKIAkJaWYgKCFJU19FTkFCTEVEKENPTkZJR19URUdSQV9I T1NUMVhfRklSRVdBTEwpICYmIGhvc3QtPmRvbWFpbikgewogCQkJZm9yX2VhY2hfc2coc2d0LT5z Z2wsIHNnLCBzZ3QtPm5lbnRzLCBqKQpAQCAtNTY2LDcgKzU3NSw3IEBAIHZvaWQgaG9zdDF4X2pv Yl91bnBpbihzdHJ1Y3QgaG9zdDF4X2pvYiAqam9iKQogCQkJCWlvdmFfcGZuKCZob3N0LT5pb3Zh LCBqb2ItPmFkZHJfcGh5c1tpXSkpOwogCQl9CiAKLQkJaG9zdDF4X2JvX3VucGluKHVucGluLT5i bywgdW5waW4tPnNndCk7CisJCWhvc3QxeF9ib191bnBpbihob3N0LT5kZXYsIHVucGluLT5ibywg dW5waW4tPnNndCk7CiAJCWhvc3QxeF9ib19wdXQodW5waW4tPmJvKTsKIAl9CiAKZGlmZiAtLWdp dCBhL2luY2x1ZGUvbGludXgvaG9zdDF4LmggYi9pbmNsdWRlL2xpbnV4L2hvc3QxeC5oCmluZGV4 IGRmNmU2MTNiYTcxNS4uMWJhMjNhNmEyMDIxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2hv c3QxeC5oCisrKyBiL2luY2x1ZGUvbGludXgvaG9zdDF4LmgKQEAgLTY3LDggKzY3LDkgQEAgc3Ry dWN0IHNnX3RhYmxlOwogc3RydWN0IGhvc3QxeF9ib19vcHMgewogCXN0cnVjdCBob3N0MXhfYm8g KigqZ2V0KShzdHJ1Y3QgaG9zdDF4X2JvICpibyk7CiAJdm9pZCAoKnB1dCkoc3RydWN0IGhvc3Qx eF9ibyAqYm8pOwotCWRtYV9hZGRyX3QgKCpwaW4pKHN0cnVjdCBob3N0MXhfYm8gKmJvLCBzdHJ1 Y3Qgc2dfdGFibGUgKipzZ3QpOwotCXZvaWQgKCp1bnBpbikoc3RydWN0IGhvc3QxeF9ibyAqYm8s IHN0cnVjdCBzZ190YWJsZSAqc2d0KTsKKwlzdHJ1Y3Qgc2dfdGFibGUgKigqcGluKShzdHJ1Y3Qg ZGV2aWNlICpkZXYsIHN0cnVjdCBob3N0MXhfYm8gKmJvLAorCQkJCWRtYV9hZGRyX3QgKnBoeXMp OworCXZvaWQgKCp1bnBpbikoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qgc2dfdGFibGUgKnNn dCk7CiAJdm9pZCAqKCptbWFwKShzdHJ1Y3QgaG9zdDF4X2JvICpibyk7CiAJdm9pZCAoKm11bm1h cCkoc3RydWN0IGhvc3QxeF9ibyAqYm8sIHZvaWQgKmFkZHIpOwogCXZvaWQgKigqa21hcCkoc3Ry dWN0IGhvc3QxeF9ibyAqYm8sIHVuc2lnbmVkIGludCBwYWdlbnVtKTsKQEAgLTk1LDE1ICs5Niwx NyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaG9zdDF4X2JvX3B1dChzdHJ1Y3QgaG9zdDF4X2JvICpi bykKIAliby0+b3BzLT5wdXQoYm8pOwogfQogCi1zdGF0aWMgaW5saW5lIGRtYV9hZGRyX3QgaG9z dDF4X2JvX3BpbihzdHJ1Y3QgaG9zdDF4X2JvICpibywKLQkJCQkgICAgICAgc3RydWN0IHNnX3Rh YmxlICoqc2d0KQorc3RhdGljIGlubGluZSBzdHJ1Y3Qgc2dfdGFibGUgKmhvc3QxeF9ib19waW4o c3RydWN0IGRldmljZSAqZGV2LAorCQkJCQkgICAgIHN0cnVjdCBob3N0MXhfYm8gKmJvLAorCQkJ CQkgICAgIGRtYV9hZGRyX3QgKnBoeXMpCiB7Ci0JcmV0dXJuIGJvLT5vcHMtPnBpbihibywgc2d0 KTsKKwlyZXR1cm4gYm8tPm9wcy0+cGluKGRldiwgYm8sIHBoeXMpOwogfQogCi1zdGF0aWMgaW5s aW5lIHZvaWQgaG9zdDF4X2JvX3VucGluKHN0cnVjdCBob3N0MXhfYm8gKmJvLCBzdHJ1Y3Qgc2df dGFibGUgKnNndCkKK3N0YXRpYyBpbmxpbmUgdm9pZCBob3N0MXhfYm9fdW5waW4oc3RydWN0IGRl dmljZSAqZGV2LCBzdHJ1Y3QgaG9zdDF4X2JvICpibywKKwkJCQkgICBzdHJ1Y3Qgc2dfdGFibGUg KnNndCkKIHsKLQliby0+b3BzLT51bnBpbihibywgc2d0KTsKKwliby0+b3BzLT51bnBpbihkZXYs IHNndCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCAqaG9zdDF4X2JvX21tYXAoc3RydWN0IGhv c3QxeF9ibyAqYm8pCi0tIAoyLjIzLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2RyaS1kZXZlbA==