From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: [PATCH 1/4] drm: Add helpers for locking an array of BO reservations. Date: Fri, 8 Mar 2019 08:17:13 -0800 Message-ID: <20190308161716.2466-2-eric@anholt.net> References: <20190308161716.2466-1-eric@anholt.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from anholt.net (anholt.net [50.246.234.109]) by gabe.freedesktop.org (Postfix) with ESMTP id A83B96E3E1 for ; Fri, 8 Mar 2019 16:17:21 +0000 (UTC) In-Reply-To: <20190308161716.2466-1-eric@anholt.net> 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: david.emett@broadcom.com, thomas.spurden@broadcom.com, linux-kernel@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org Tm93IHRoYXQgd2UgaGF2ZSB0aGUgcmVzZXJ2YXRpb24gb2JqZWN0IGluIHRoZSBHRU0gb2JqZWN0 LCBpdCdzIGVhc3kKdG8gcHJvdmlkZSBhIGhlbHBlciBmb3IgdGhpcyBjb21tb24gY2FzZS4gIE5v dGljZWQgd2hpbGUgcmV2aWV3aW5nCnBhbmZyb3N0IGFuZCBsaW1hIGRyaXZlcnMuICBUaGlzIHBh cnRpY3VsYXIgdmVyc2lvbiBjYW1lIG91dCBvZiB2M2QsCndoaWNoIGluIHR1cm4gd2FzIGEgY29w eSBmcm9tIHZjNC4KClNpZ25lZC1vZmYtYnk6IEVyaWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9nZW0uYyB8IDc2ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX2dlbS5oICAgICB8ICA0ICsrKwog MiBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2VtLmMKaW5kZXggYWQxMjRm NWE2ZjRkLi45ZmQ4MDRmN2Q3Y2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZ2Vt LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9nZW0uYwpAQCAtMTIzMywzICsxMjMzLDc5IEBA IHZvaWQgZHJtX2dlbV92dW5tYXAoc3RydWN0IGRybV9nZW1fb2JqZWN0ICpvYmosIHZvaWQgKnZh ZGRyKQogCQlvYmotPmRldi0+ZHJpdmVyLT5nZW1fcHJpbWVfdnVubWFwKG9iaiwgdmFkZHIpOwog fQogRVhQT1JUX1NZTUJPTChkcm1fZ2VtX3Z1bm1hcCk7CisKKy8qKgorICogZHJtX2dlbV9sb2Nr X2JvX3Jlc2VydmF0aW9ucyAtIFNldHMgdXAgdGhlIHd3IGNvbnRleHQgYW5kIGFjcXVpcmVzCisg KiB0aGUgbG9jayBvbiBhbiBhcnJheSBvZiBHRU0gb2JqZWN0cy4KKyAqCisgKiBPbmNlIHlvdSd2 ZSBsb2NrZWQgeW91ciByZXNlcnZhdGlvbnMsIHlvdSdsbCB3YW50IHRvIHNldCB1cCBzcGFjZQor ICogZm9yIHlvdXIgc2hhcmVkIGZlbmNlcyAoaWYgYXBwbGljYWJsZSksIHN1Ym1pdCB5b3VyIGpv YiwgdGhlbgorICogZHJtX2dlbV91bmxvY2tfcmVzZXJ2YXRpb25zKCkuCisgKgorICogQGFjcXVp cmVfY3R4IC0gc3RydWN0IHd3X2FjcXVpcmVfY3R4IHRoYXQgd2lsbCBiZSBpbml0aWFsaXplZCBh cworICogcGFydCBvZiB0cmFja2luZyB0aGlzIHNldCBvZiBsb2NrZWQgcmVzZXJ2YXRpb25zLgor ICovCitpbnQKK2RybV9nZW1fbG9ja19yZXNlcnZhdGlvbnMoc3RydWN0IGRybV9nZW1fb2JqZWN0 ICoqb2JqcywgaW50IGNvdW50LAorCQkJICBzdHJ1Y3Qgd3dfYWNxdWlyZV9jdHggKmFjcXVpcmVf Y3R4KQoreworCWludCBjb250ZW5kZWQgPSAtMTsKKwlpbnQgaSwgcmV0OworCisJd3dfYWNxdWly ZV9pbml0KGFjcXVpcmVfY3R4LCAmcmVzZXJ2YXRpb25fd3dfY2xhc3MpOworCityZXRyeToKKwlp ZiAoY29udGVuZGVkICE9IC0xKSB7CisJCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqID0gb2Jq c1tjb250ZW5kZWRdOworCisJCXJldCA9IHd3X211dGV4X2xvY2tfc2xvd19pbnRlcnJ1cHRpYmxl KCZvYmotPnJlc3YtPmxvY2ssCisJCQkJCQkgICAgICAgYWNxdWlyZV9jdHgpOworCQlpZiAocmV0 KSB7CisJCQl3d19hY3F1aXJlX2RvbmUoYWNxdWlyZV9jdHgpOworCQkJcmV0dXJuIHJldDsKKwkJ fQorCX0KKworCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CisJCWlmIChpID09IGNvbnRl bmRlZCkKKwkJCWNvbnRpbnVlOworCisJCXJldCA9IHd3X211dGV4X2xvY2tfaW50ZXJydXB0aWJs ZSgmb2Jqc1tpXS0+cmVzdi0+bG9jaywKKwkJCQkJCSAgYWNxdWlyZV9jdHgpOworCQlpZiAocmV0 KSB7CisJCQlpbnQgajsKKworCQkJZm9yIChqID0gMDsgaiA8IGk7IGorKykKKwkJCQl3d19tdXRl eF91bmxvY2soJm9ianNbal0tPnJlc3YtPmxvY2spOworCisJCQlpZiAoY29udGVuZGVkICE9IC0x ICYmIGNvbnRlbmRlZCA+PSBpKQorCQkJCXd3X211dGV4X3VubG9jaygmb2Jqc1tjb250ZW5kZWRd LT5yZXN2LT5sb2NrKTsKKworCQkJaWYgKHJldCA9PSAtRURFQURMSykgeworCQkJCWNvbnRlbmRl ZCA9IGk7CisJCQkJZ290byByZXRyeTsKKwkJCX0KKworCQkJd3dfYWNxdWlyZV9kb25lKGFjcXVp cmVfY3R4KTsKKwkJCXJldHVybiByZXQ7CisJCX0KKwl9CisKKwl3d19hY3F1aXJlX2RvbmUoYWNx dWlyZV9jdHgpOworCisJcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9nZW1fbG9ja19y ZXNlcnZhdGlvbnMpOworCit2b2lkCitkcm1fZ2VtX3VubG9ja19yZXNlcnZhdGlvbnMoc3RydWN0 IGRybV9nZW1fb2JqZWN0ICoqb2JqcywgaW50IGNvdW50LAorCQkJICAgIHN0cnVjdCB3d19hY3F1 aXJlX2N0eCAqYWNxdWlyZV9jdHgpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgY291 bnQ7IGkrKykKKwkJd3dfbXV0ZXhfdW5sb2NrKCZvYmpzW2ldLT5yZXN2LT5sb2NrKTsKKworCXd3 X2FjcXVpcmVfZmluaShhY3F1aXJlX2N0eCk7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9nZW1fdW5s b2NrX3Jlc2VydmF0aW9ucyk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZ2VtLmggYi9p bmNsdWRlL2RybS9kcm1fZ2VtLmgKaW5kZXggMjVmMWZmMmRmNDY0Li4yOTU1YWFhYjNkY2EgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9nZW0uaAorKysgYi9pbmNsdWRlL2RybS9kcm1fZ2Vt LmgKQEAgLTM4NCw2ICszODQsMTAgQEAgdm9pZCBkcm1fZ2VtX3B1dF9wYWdlcyhzdHJ1Y3QgZHJt X2dlbV9vYmplY3QgKm9iaiwgc3RydWN0IHBhZ2UgKipwYWdlcywKIHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqZHJtX2dlbV9vYmplY3RfbG9va3VwKHN0cnVjdCBkcm1fZmlsZSAqZmlscCwgdTMyIGhh bmRsZSk7CiBsb25nIGRybV9nZW1fcmVzZXJ2YXRpb25fb2JqZWN0X3dhaXQoc3RydWN0IGRybV9m aWxlICpmaWxlcCwgdTMyIGhhbmRsZSwKIAkJCQkgICAgYm9vbCB3YWl0X2FsbCwgdW5zaWduZWQg bG9uZyB0aW1lb3V0KTsKK2ludCBkcm1fZ2VtX2xvY2tfcmVzZXJ2YXRpb25zKHN0cnVjdCBkcm1f Z2VtX29iamVjdCAqKm9ianMsIGludCBjb3VudCwKKwkJCSAgICAgIHN0cnVjdCB3d19hY3F1aXJl X2N0eCAqYWNxdWlyZV9jdHgpOwordm9pZCBkcm1fZ2VtX3VubG9ja19yZXNlcnZhdGlvbnMoc3Ry dWN0IGRybV9nZW1fb2JqZWN0ICoqb2JqcywgaW50IGNvdW50LAorCQkJCSBzdHJ1Y3Qgd3dfYWNx dWlyZV9jdHggKmFjcXVpcmVfY3R4KTsKIGludCBkcm1fZ2VtX2R1bWJfbWFwX29mZnNldChzdHJ1 Y3QgZHJtX2ZpbGUgKmZpbGUsIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkgICAgdTMyIGhh bmRsZSwgdTY0ICpvZmZzZXQpOwogaW50IGRybV9nZW1fZHVtYl9kZXN0cm95KHN0cnVjdCBkcm1f ZmlsZSAqZmlsZSwKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVs