From mboxrd@z Thu Jan 1 00:00:00 1970 From: Brian Starkey Subject: [RFC PATCH v2 7/9] drm: atomic: factor out common out-fence operations Date: Wed, 26 Oct 2016 09:55:06 +0100 Message-ID: <1477472108-27222-8-git-send-email-brian.starkey@arm.com> References: <1477472108-27222-1-git-send-email-brian.starkey@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from foss.arm.com (foss.arm.com [217.140.101.70]) by gabe.freedesktop.org (Postfix) with ESMTP id 965286E81A for ; Wed, 26 Oct 2016 08:55:36 +0000 (UTC) In-Reply-To: <1477472108-27222-1-git-send-email-brian.starkey@arm.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: linux-kernel@vger.kernel.org, linux-media@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org U29tZSBwYXJ0cyBvZiBzZXR0aW5nIHVwIHRoZSBDUlRDIG91dC1mZW5jZSBjYW4gYmUgcmUtdXNl ZCBmb3IKd3JpdGViYWNrIG91dC1mZW5jZXMuIEZhY3RvciB0aGlzIG91dCBpbnRvIGEgc2VwYXJh dGUgZnVuY3Rpb24uCgpTaWduZWQtb2ZmLWJ5OiBCcmlhbiBTdGFya2V5IDxicmlhbi5zdGFya2V5 QGFybS5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyB8ICAgNjQgKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDIg aW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKaW5kZXggZjQz NGYzNC4uM2Y4ZmM5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCkBAIC0xNjkzLDM3ICsxNjkzLDQ2IEBA IHZvaWQgZHJtX2F0b21pY19jbGVhbl9vbGRfZmIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIH0K IEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19jbGVhbl9vbGRfZmIpOwogCi1zdGF0aWMgaW50IGNy dGNfc2V0dXBfb3V0X2ZlbmNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKLQkJCQlzdHJ1Y3QgZHJt X2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCi0JCQkJc3RydWN0IGRybV9vdXRfZmVuY2Vfc3RhdGUg KmZlbmNlX3N0YXRlKQorc3RhdGljIHN0cnVjdCBmZW5jZSAqZ2V0X2NydGNfZmVuY2Uoc3RydWN0 IGRybV9jcnRjICpjcnRjLAorCQkJCSAgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUpCiB7CiAJc3RydWN0IGZlbmNlICpmZW5jZTsKIAotCWZlbmNlX3N0YXRlLT5mZCA9IGdldF91 bnVzZWRfZmRfZmxhZ3MoT19DTE9FWEVDKTsKLQlpZiAoZmVuY2Vfc3RhdGUtPmZkIDwgMCkgewot CQlyZXR1cm4gZmVuY2Vfc3RhdGUtPmZkOwotCX0KLQotCWZlbmNlX3N0YXRlLT5vdXRfZmVuY2Vf cHRyID0gY3J0Y19zdGF0ZS0+b3V0X2ZlbmNlX3B0cjsKLQljcnRjX3N0YXRlLT5vdXRfZmVuY2Vf cHRyID0gTlVMTDsKLQotCWlmIChwdXRfdXNlcihmZW5jZV9zdGF0ZS0+ZmQsIGZlbmNlX3N0YXRl LT5vdXRfZmVuY2VfcHRyKSkKLQkJcmV0dXJuIC1FRkFVTFQ7Ci0KIAlmZW5jZSA9IGt6YWxsb2Mo c2l6ZW9mKCpmZW5jZSksIEdGUF9LRVJORUwpOwogCWlmICghZmVuY2UpCi0JCXJldHVybiAtRU5P TUVNOworCQlyZXR1cm4gTlVMTDsKIAogCWZlbmNlX2luaXQoZmVuY2UsICZkcm1fY3J0Y19mZW5j ZV9vcHMsICZjcnRjLT5mZW5jZV9sb2NrLAogCQkgICBjcnRjLT5mZW5jZV9jb250ZXh0LCArK2Ny dGMtPmZlbmNlX3NlcW5vKTsKIAorCWNydGNfc3RhdGUtPmV2ZW50LT5iYXNlLmZlbmNlID0gZmVu Y2VfZ2V0KGZlbmNlKTsKKworCXJldHVybiBmZW5jZTsKK30KKworc3RhdGljIGludCBzZXR1cF9v dXRfZmVuY2Uoc3RydWN0IGRybV9vdXRfZmVuY2Vfc3RhdGUgKmZlbmNlX3N0YXRlLAorCQkJICAg dTY0IF9fdXNlciAqb3V0X2ZlbmNlX3B0ciwKKwkJCSAgIHN0cnVjdCBmZW5jZSAqZmVuY2UpCit7 CisJaW50IHJldDsKKworCURSTV9ERUJVR19BVE9NSUMoIlB1dHRpbmcgb3V0LWZlbmNlICVwIGlu dG8gdXNlciBwdHI6ICVwXG4iLAorCQkJIGZlbmNlLCBvdXRfZmVuY2VfcHRyKTsKKworCWZlbmNl X3N0YXRlLT5mZCA9IGdldF91bnVzZWRfZmRfZmxhZ3MoT19DTE9FWEVDKTsKKwlpZiAoZmVuY2Vf c3RhdGUtPmZkIDwgMCkKKwkJcmV0dXJuIGZlbmNlX3N0YXRlLT5mZDsKKworCXJldCA9IHB1dF91 c2VyKGZlbmNlX3N0YXRlLT5mZCwgb3V0X2ZlbmNlX3B0cik7CisJaWYgKHJldCkKKwkJcmV0dXJu IHJldDsKKworCWZlbmNlX3N0YXRlLT5vdXRfZmVuY2VfcHRyID0gb3V0X2ZlbmNlX3B0cjsKKwog CWZlbmNlX3N0YXRlLT5zeW5jX2ZpbGUgPSBzeW5jX2ZpbGVfY3JlYXRlKGZlbmNlKTsKLQlpZigh ZmVuY2Vfc3RhdGUtPnN5bmNfZmlsZSkgewotCQlmZW5jZV9wdXQoZmVuY2UpOworCWlmICghZmVu Y2Vfc3RhdGUtPnN5bmNfZmlsZSkKIAkJcmV0dXJuIC1FTk9NRU07Ci0JfQogCi0JY3J0Y19zdGF0 ZS0+ZXZlbnQtPmJhc2UuZmVuY2UgPSBmZW5jZV9nZXQoZmVuY2UpOwogCXJldHVybiAwOwogfQog CkBAIC0xODk2LDEwICsxOTA1LDIxIEBAIHJldHJ5OgogCQl9CiAKIAkJaWYgKGNydGNfc3RhdGUt Pm91dF9mZW5jZV9wdHIpIHsKLQkJCXJldCA9IGNydGNfc2V0dXBfb3V0X2ZlbmNlKGNydGMsIGNy dGNfc3RhdGUsCi0JCQkJCQkgICAmZmVuY2Vfc3RhdGVbZmVuY2VfaWR4KytdKTsKLQkJCWlmIChy ZXQpCisJCQlzdHJ1Y3QgZmVuY2UgKmZlbmNlID0gZ2V0X2NydGNfZmVuY2UoY3J0YywgY3J0Y19z dGF0ZSk7CisJCQlpZiAoIWZlbmNlKSB7CisJCQkJcmV0ID0gLUVOT01FTTsKKwkJCQlnb3RvIG91 dDsKKwkJCX0KKworCQkJcmV0ID0gc2V0dXBfb3V0X2ZlbmNlKCZmZW5jZV9zdGF0ZVtmZW5jZV9p ZHgrK10sCisJCQkJCSAgICAgIGNydGNfc3RhdGUtPm91dF9mZW5jZV9wdHIsCisJCQkJCSAgICAg IGZlbmNlKTsKKwkJCWlmIChyZXQpIHsKKwkJCQlmZW5jZV9wdXQoZmVuY2UpOwogCQkJCWdvdG8g b3V0OworCQkJfQorCisJCQljcnRjX3N0YXRlLT5vdXRfZmVuY2VfcHRyID0gTlVMTDsKIAkJfQog CX0KIAotLSAKMS43LjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVsCg==