From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH v4 1/3] drm: Implement drm_modeset_lock_all_ctx() Date: Tue, 1 Dec 2015 10:56:59 +0100 Message-ID: <1448963821-18936-1-git-send-email-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5A5DB6E7C7 for ; Tue, 1 Dec 2015 01:57:04 -0800 (PST) Received: by wmww144 with SMTP id w144so165328090wmw.1 for ; Tue, 01 Dec 2015 01:57:02 -0800 (PST) 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 List-Id: dri-devel@lists.freedesktop.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KClRoaXMgZnVuY3Rpb24g aXMgbGlrZSBkcm1fbW9kZXNldF9sb2NrX2FsbCgpLCBidXQgaXQgdGFrZXMgdGhlIGxvY2sKYWNx dWlzaXRpb24gY29udGV4dCBhcyBhIHBhcmFtZXRlciByYXRoZXIgdGhhbiBzdG9yaW5nIGl0IGlu IHRoZSBEUk0KZGV2aWNlJ3MgbW9kZV9jb25maWcgc3RydWN0dXJlLgoKSW1wbGVtZW50IGRybV9t b2Rlc2V0X3ssdW59bG9ja19hbGwoKSBpbiB0ZXJtcyBvZiB0aGUgbmV3IGZ1bmN0aW9uIGZvcgpi ZXR0ZXIgY29kZSByZXVzZSwgYW5kIGFkZCBhIG5vdGUgdG8gdGhlIGtlcm5lbGRvYyB0aGF0IG5l dyBjb2RlIHNob3VsZAp1c2UgdGhlIG5ldyBmdW5jdGlvbnMuCgp2MjogaW1wcm92ZSBrZXJuZWxk b2MKdjQ6IHJlbmFtZSBkcm1fbW9kZXNldF9sb2NrX2FsbF9jcnRjcygpIHRvIGRybV9tb2Rlc2V0 X2xvY2tfYWxsX2N0eCgpCiAgICBhbmQgdGFrZSBtb2RlX2NvbmZpZydzIC5jb25uZWN0aW9uX211 dGV4IGluc3RlYWQgb2YgLm11dGV4IGxvY2sgdG8KICAgIGF2b2lkIGxvY2sgaW52ZXJzaW9uIChE YW5pZWwgVmV0dGVyKSwgdXNlIGRybV9tb2Rlc2V0X2Ryb3BfbG9ja3MoKQogICAgd2hpY2ggaXMg bm93IHRoZSBlcXVpdmFsZW50IG9mIGRybV9tb2Rlc2V0X3VubG9ja19hbGxfY3R4KCkKClNpZ25l ZC1vZmYtYnk6IFRoaWVycnkgUmVkaW5nIDx0cmVkaW5nQG52aWRpYS5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2RybV9hdG9taWMuYyAgICAgICB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0vZHJt X21vZGVzZXRfbG9jay5jIHwgODIgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0KIGluY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2xvY2suaCAgICAgfCAgNCArLQogMyBmaWxlcyBj aGFuZ2VkLCA1NiBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMu YwppbmRleCA1NWI0ZGViYWQ3OWIuLjRjYmU3YzA3MjMxYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCkBA IC0xMTkyLDggKzExOTIsNyBAQCByZXRyeToKIAkJCSAgICAgICBzdGF0ZS0+YWNxdWlyZV9jdHgp OwogCWlmIChyZXQpCiAJCWdvdG8gcmV0cnk7Ci0JcmV0ID0gZHJtX21vZGVzZXRfbG9ja19hbGxf Y3J0Y3Moc3RhdGUtPmRldiwKLQkJCQkJIHN0YXRlLT5hY3F1aXJlX2N0eCk7CisJcmV0ID0gZHJt X21vZGVzZXRfbG9ja19hbGxfY3R4KHN0YXRlLT5kZXYsIHN0YXRlLT5hY3F1aXJlX2N0eCk7CiAJ aWYgKHJldCkKIAkJZ290byByZXRyeTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fbW9kZXNldF9sb2NrLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzZXRfbG9jay5jCmlu ZGV4IDY2NzViMTQyODQxMC4uMzQxMTU4YzkyMDI3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX21vZGVzZXRfbG9jay5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXNldF9s b2NrLmMKQEAgLTU3LDExICs1NywxOCBAQAogCiAvKioKICAqIGRybV9tb2Rlc2V0X2xvY2tfYWxs IC0gdGFrZSBhbGwgbW9kZXNldCBsb2NrcwotICogQGRldjogZHJtIGRldmljZQorICogQGRldjog RFJNIGRldmljZQogICoKICAqIFRoaXMgZnVuY3Rpb24gdGFrZXMgYWxsIG1vZGVzZXQgbG9ja3Ms IHN1aXRhYmxlIHdoZXJlIGEgbW9yZSBmaW5lLWdyYWluZWQKLSAqIHNjaGVtZSBpc24ndCAoeWV0 KSBpbXBsZW1lbnRlZC4gTG9ja3MgbXVzdCBiZSBkcm9wcGVkIHdpdGgKLSAqIGRybV9tb2Rlc2V0 X3VubG9ja19hbGwuCisgKiBzY2hlbWUgaXNuJ3QgKHlldCkgaW1wbGVtZW50ZWQuIExvY2tzIG11 c3QgYmUgZHJvcHBlZCBieSBjYWxsaW5nIHRoZQorICogZHJtX21vZGVzZXRfdW5sb2NrX2FsbCgp IGZ1bmN0aW9uLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZC4gSXQgYWxsb2Nh dGVzIGEgbG9jayBhY3F1aXNpdGlvbiBjb250ZXh0IGFuZAorICogc3RvcmVzIGl0IGluIHRoZSBE Uk0gZGV2aWNlJ3MgLT5tb2RlX2NvbmZpZy4gVGhpcyBmYWNpbGl0YXRlIGNvbnZlcnNpb24gb2YK KyAqIGV4aXN0aW5nIGNvZGUgYmVjYXVzZSBpdCByZW1vdmVzIHRoZSBuZWVkIHRvIG1hbnVhbGx5 IGRlYWwgd2l0aCB0aGUKKyAqIGFjcXVpc2l0aW9uIGNvbnRleHQsIGJ1dCBpdCBpcyBhbHNvIGJy aXR0bGUgYmVjYXVzZSB0aGUgY29udGV4dCBpcyBnbG9iYWwKKyAqIGFuZCBjYXJlIG11c3QgYmUg dGFrZW4gbm90IHRvIG5lc3QgY2FsbHMuIE5ldyBjb2RlIHNob3VsZCB1c2UgdGhlCisgKiBkcm1f bW9kZXNldF9sb2NrX2FsbF9jdHgoKSBmdW5jdGlvbiBhbmQgcGFzcyBpbiB0aGUgY29udGV4dCBl eHBsaWNpdGx5LgogICovCiB2b2lkIGRybV9tb2Rlc2V0X2xvY2tfYWxsKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCiB7CkBAIC03OCwzOSArODUsNDMgQEAgdm9pZCBkcm1fbW9kZXNldF9sb2NrX2Fs bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWRybV9tb2Rlc2V0X2FjcXVpcmVfaW5pdChjdHgs IDApOwogCiByZXRyeToKLQlyZXQgPSBkcm1fbW9kZXNldF9sb2NrKCZjb25maWctPmNvbm5lY3Rp b25fbXV0ZXgsIGN0eCk7Ci0JaWYgKHJldCkKLQkJZ290byBmYWlsOwotCXJldCA9IGRybV9tb2Rl c2V0X2xvY2tfYWxsX2NydGNzKGRldiwgY3R4KTsKLQlpZiAocmV0KQotCQlnb3RvIGZhaWw7CisJ cmV0ID0gZHJtX21vZGVzZXRfbG9ja19hbGxfY3R4KGRldiwgY3R4KTsKKwlpZiAocmV0IDwgMCkg eworCQlpZiAocmV0ID09IC1FREVBRExLKSB7CisJCQlkcm1fbW9kZXNldF9iYWNrb2ZmKGN0eCk7 CisJCQlnb3RvIHJldHJ5OworCQl9CisKKwkJZHJtX21vZGVzZXRfYWNxdWlyZV9maW5pKGN0eCk7 CisJCWtmcmVlKGN0eCk7CisJCXJldHVybjsKKwl9CiAKIAlXQVJOX09OKGNvbmZpZy0+YWNxdWly ZV9jdHgpOwogCi0JLyogbm93IHdlIGhvbGQgdGhlIGxvY2tzLCBzbyBub3cgdGhhdCBpdCBpcyBz YWZlLCBzdGFzaCB0aGUKLQkgKiBjdHggZm9yIGRybV9tb2Rlc2V0X3VubG9ja19hbGwoKToKKwkv KgorCSAqIFdlIGhvbGQgdGhlIGxvY2tzIG5vdywgc28gaXQgaXMgc2FmZSB0byBzdGFzaCB0aGUg YWNxdWlzaXRpb24KKwkgKiBjb250ZXh0IGZvciBkcm1fbW9kZXNldF91bmxvY2tfYWxsKCkuCiAJ ICovCiAJY29uZmlnLT5hY3F1aXJlX2N0eCA9IGN0eDsKIAogCWRybV93YXJuX29uX21vZGVzZXRf bm90X2FsbF9sb2NrZWQoZGV2KTsKLQotCXJldHVybjsKLQotZmFpbDoKLQlpZiAocmV0ID09IC1F REVBRExLKSB7Ci0JCWRybV9tb2Rlc2V0X2JhY2tvZmYoY3R4KTsKLQkJZ290byByZXRyeTsKLQl9 Ci0KLQlrZnJlZShjdHgpOwogfQogRVhQT1JUX1NZTUJPTChkcm1fbW9kZXNldF9sb2NrX2FsbCk7 CiAKIC8qKgogICogZHJtX21vZGVzZXRfdW5sb2NrX2FsbCAtIGRyb3AgYWxsIG1vZGVzZXQgbG9j a3MKLSAqIEBkZXY6IGRldmljZQorICogQGRldjogRFJNIGRldmljZQorICoKKyAqIFRoaXMgZnVu Y3Rpb24gZHJvcHMgYWxsIG1vZGVzZXQgbG9ja3MgdGFrZW4gYnkgYSBwcmV2aW91cyBjYWxsIHRv IHRoZQorICogZHJtX21vZGVzZXRfbG9ja19hbGwoKSBmdW5jdGlvbi4KICAqCi0gKiBUaGlzIGZ1 bmN0aW9uIGRyb3AgYWxsIG1vZGVzZXQgbG9ja3MgdGFrZW4gYnkgZHJtX21vZGVzZXRfbG9ja19h bGwuCisgKiBUaGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQuIEl0IHVzZXMgdGhlIGxvY2sgYWNx dWlzaXRpb24gY29udGV4dCBzdG9yZWQKKyAqIGluIHRoZSBEUk0gZGV2aWNlJ3MgLT5tb2RlX2Nv bmZpZy4gVGhpcyBmYWNpbGl0YXRlcyBjb252ZXJzaW9uIG9mIGV4aXN0aW5nCisgKiBjb2RlIGJl Y2F1c2UgaXQgcmVtb3ZlcyB0aGUgbmVlZCB0byBtYW51YWxseSBkZWFsIHdpdGggdGhlIGFjcXVp c2l0aW9uCisgKiBjb250ZXh0LCBidXQgaXQgaXMgYWxzbyBicml0dGxlIGJlY2F1c2UgdGhlIGNv bnRleHQgaXMgZ2xvYmFsIGFuZCBjYXJlIG11c3QKKyAqIGJlIHRha2VuIG5vdCB0byBuZXN0IGNh bGxzLiBOZXcgY29kZSBzaG91bGQgcGFzcyB0aGUgYWNxdWlzaXRpb24gY29udGV4dAorICogZGly ZWN0bHkgdG8gdGhlIGRybV9tb2Rlc2V0X2Ryb3BfbG9ja3MoKSBmdW5jdGlvbi4KICAqLwogdm9p ZCBkcm1fbW9kZXNldF91bmxvY2tfYWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7CkBAIC00 MzEsMTQgKzQ0MiwyNyBAQCB2b2lkIGRybV9tb2Rlc2V0X3VubG9jayhzdHJ1Y3QgZHJtX21vZGVz ZXRfbG9jayAqbG9jaykKIH0KIEVYUE9SVF9TWU1CT0woZHJtX21vZGVzZXRfdW5sb2NrKTsKIAot LyogSW4gc29tZSBsZWdhY3kgY29kZXBhdGhzIGl0J3MgY29udmVuaWVudCB0byBqdXN0IGdyYWIg YWxsIHRoZSBjcnRjIGFuZCBwbGFuZQotICogcmVsYXRlZCBsb2Nrcy4gKi8KLWludCBkcm1fbW9k ZXNldF9sb2NrX2FsbF9jcnRjcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQlzdHJ1Y3QgZHJt X21vZGVzZXRfYWNxdWlyZV9jdHggKmN0eCkKKy8qKgorICogZHJtX21vZGVzZXRfbG9ja19hbGxf Y3R4IC0gdGFrZSBhbGwgbW9kZXNldCBsb2NrcworICogQGRldjogRFJNIGRldmljZQorICogQGN0 eDogbG9jayBhY3F1aXNpdGlvbiBjb250ZXh0CisgKgorICogVGhpcyBmdW5jdGlvbiB0YWtlcyBh bGwgbW9kZXNldCBsb2Nrcywgc3VpdGFibGUgd2hlcmUgYSBtb3JlIGZpbmUtZ3JhaW5lZAorICog c2NoZW1lIGlzbid0ICh5ZXQpIGltcGxlbWVudGVkLiBMb2NrcyBtdXN0IGJlIGRyb3BwZWQgYnkg Y2FsbGluZyB0aGUKKyAqIGRybV9tb2Rlc2V0X2Ryb3BfbG9ja3MoKSBmdW5jdGlvbi4KKyAqCisg KiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSBlcnJvci1jb2RlIG9uIGZhaWx1 cmUuCisgKi8KK2ludCBkcm1fbW9kZXNldF9sb2NrX2FsbF9jdHgoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKKwkJCSAgICAgc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHgpCiB7CiAJ c3RydWN0IGRybV9jcnRjICpjcnRjOwogCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOwotCWludCBy ZXQgPSAwOworCWludCByZXQ7CisKKwlyZXQgPSBkcm1fbW9kZXNldF9sb2NrKCZkZXYtPm1vZGVf Y29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgsIGN0eCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsK IAogCWRybV9mb3JfZWFjaF9jcnRjKGNydGMsIGRldikgewogCQlyZXQgPSBkcm1fbW9kZXNldF9s b2NrKCZjcnRjLT5tdXRleCwgY3R4KTsKQEAgLTQ1NCw0ICs0NzgsNCBAQCBpbnQgZHJtX21vZGVz ZXRfbG9ja19hbGxfY3J0Y3Moc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogCXJldHVybiAwOwog fQotRVhQT1JUX1NZTUJPTChkcm1fbW9kZXNldF9sb2NrX2FsbF9jcnRjcyk7CitFWFBPUlRfU1lN Qk9MKGRybV9tb2Rlc2V0X2xvY2tfYWxsX2N0eCk7CmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9k cm1fbW9kZXNldF9sb2NrLmggYi9pbmNsdWRlL2RybS9kcm1fbW9kZXNldF9sb2NrLmgKaW5kZXgg OTQ5MzhkODkzNDdjLi5jNTU3NmZiY2I5MDkgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9t b2Rlc2V0X2xvY2suaAorKysgYi9pbmNsdWRlL2RybS9kcm1fbW9kZXNldF9sb2NrLmgKQEAgLTEz OCw3ICsxMzgsNyBAQCB2b2lkIGRybV93YXJuX29uX21vZGVzZXRfbm90X2FsbF9sb2NrZWQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldik7CiBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggKgog ZHJtX21vZGVzZXRfbGVnYWN5X2FjcXVpcmVfY3R4KHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7CiAK LWludCBkcm1fbW9kZXNldF9sb2NrX2FsbF9jcnRjcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAot CQlzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggKmN0eCk7CitpbnQgZHJtX21vZGVzZXRf bG9ja19hbGxfY3R4KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJCQkgICAgIHN0cnVjdCBkcm1f bW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4KTsKIAogI2VuZGlmIC8qIERSTV9NT0RFU0VUX0xPQ0tf SF8gKi8KLS0gCjIuNS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo=