From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH] drm: Implement drm_modeset_{,un}lock_all_ctx() Date: Tue, 8 Sep 2015 15:26:47 +0200 Message-ID: <1441718807-13206-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-pa0-f48.google.com (mail-pa0-f48.google.com [209.85.220.48]) by gabe.freedesktop.org (Postfix) with ESMTPS id 137B26E0B8 for ; Tue, 8 Sep 2015 06:26:51 -0700 (PDT) Received: by padhy16 with SMTP id hy16so122263445pad.1 for ; Tue, 08 Sep 2015 06:26:50 -0700 (PDT) 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 RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KClRoZXNlIGZ1bmN0aW9u cyBhcmUgbGlrZSBkcm1fbW9kZXNldF97LHVufWxvY2tfYWxsKCksIGJ1dCB0aGV5IHRha2UgdGhl CmxvY2sgYWNxdWlzaXRpb24gY29udGV4dCBhcyBhIHBhcmFtZXRlciByYXRoZXIgdGhhbiBzdG9y aW5nIGl0IGluIHRoZQpEUk0gZGV2aWNlJ3MgZHJtX21vZGVfY29uZmlnIHN0cnVjdHVyZS4KCklt cGxlbWVudCBkcm1fbW9kZXNldF97LHVufWxvY2tfYWxsKCkgaW4gdGVybXMgb2YgdGhlIG5ldyBm dW5jdGlvbiBmb3IKYmV0dGVyIGNvZGUgcmV1c2UsIGFuZCBhZGQgYSBub3RlIHRvIHRoZSBrZXJu ZWxkb2MgdGhhdCBuZXcgY29kZSBzaG91bGQKdXNlIHRoZSBuZXcgZnVuY3Rpb25zLgoKU2lnbmVk LW9mZi1ieTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vZHJtX21vZGVzZXRfbG9jay5jIHwgODcgKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0KIGluY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2xvY2suaCAgICAgfCAgNCAr KwogMiBmaWxlcyBjaGFuZ2VkLCA3MCBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzZXRfbG9jay5jIGIvZHJpdmVycy9n cHUvZHJtL2RybV9tb2Rlc2V0X2xvY2suYwppbmRleCBmYmEzMjFjYTQzNDQuLmVkZGJjMzY3NmQ1 ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2xvY2suYworKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzZXRfbG9jay5jCkBAIC01Niw0MiArNTYsMzEgQEAKICAq LwogCiAvKioKLSAqIGRybV9tb2Rlc2V0X2xvY2tfYWxsIC0gdGFrZSBhbGwgbW9kZXNldCBsb2Nr cworICogZHJtX21vZGVzZXRfbG9ja19hbGxfY3R4IC0gdGFrZSBhbGwgbW9kZXNldCBsb2Nrcwog ICogQGRldjogZHJtIGRldmljZQorICogQGN0eDogbG9jayBhY3F1aXNpdGlvbiBjb250ZXh0CiAg KgogICogVGhpcyBmdW5jdGlvbiB0YWtlcyBhbGwgbW9kZXNldCBsb2Nrcywgc3VpdGFibGUgd2hl cmUgYSBtb3JlIGZpbmUtZ3JhaW5lZAogICogc2NoZW1lIGlzbid0ICh5ZXQpIGltcGxlbWVudGVk LiBMb2NrcyBtdXN0IGJlIGRyb3BwZWQgd2l0aAogICogZHJtX21vZGVzZXRfdW5sb2NrX2FsbC4K ICAqLwotdm9pZCBkcm1fbW9kZXNldF9sb2NrX2FsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQor dm9pZCBkcm1fbW9kZXNldF9sb2NrX2FsbF9jdHgoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJ CSAgICAgIHN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4KQogewogCXN0cnVjdCBk cm1fbW9kZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOwotCXN0cnVjdCBkcm1f bW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4OwogCWludCByZXQ7CiAKLQljdHggPSBremFsbG9jKHNp emVvZigqY3R4KSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKFdBUk5fT04oIWN0eCkpCi0JCXJldHVybjsK LQogCW11dGV4X2xvY2soJmNvbmZpZy0+bXV0ZXgpOwogCi0JZHJtX21vZGVzZXRfYWNxdWlyZV9p bml0KGN0eCwgMCk7Ci0KIHJldHJ5OgogCXJldCA9IGRybV9tb2Rlc2V0X2xvY2soJmNvbmZpZy0+ Y29ubmVjdGlvbl9tdXRleCwgY3R4KTsKIAlpZiAocmV0KQogCQlnb3RvIGZhaWw7CisKIAlyZXQg PSBkcm1fbW9kZXNldF9sb2NrX2FsbF9jcnRjcyhkZXYsIGN0eCk7CiAJaWYgKHJldCkKIAkJZ290 byBmYWlsOwogCi0JV0FSTl9PTihjb25maWctPmFjcXVpcmVfY3R4KTsKLQotCS8qIG5vdyB3ZSBo b2xkIHRoZSBsb2Nrcywgc28gbm93IHRoYXQgaXQgaXMgc2FmZSwgc3Rhc2ggdGhlCi0JICogY3R4 IGZvciBkcm1fbW9kZXNldF91bmxvY2tfYWxsKCk6Ci0JICovCi0JY29uZmlnLT5hY3F1aXJlX2N0 eCA9IGN0eDsKLQogCWRybV93YXJuX29uX21vZGVzZXRfbm90X2FsbF9sb2NrZWQoZGV2KTsKIAog CXJldHVybjsKQEAgLTEwMSw4ICs5MCw2MCBAQCBmYWlsOgogCQlkcm1fbW9kZXNldF9iYWNrb2Zm KGN0eCk7CiAJCWdvdG8gcmV0cnk7CiAJfQorfQorRVhQT1JUX1NZTUJPTChkcm1fbW9kZXNldF9s b2NrX2FsbF9jdHgpOwogCi0Ja2ZyZWUoY3R4KTsKKy8qKgorICogZHJtX21vZGVzZXRfdW5sb2Nr X2FsbF9jdHggLSBkcm9wIGFsbCBtb2Rlc2V0IGxvY2tzCisgKiBAZGV2OiBkZXZpY2UKKyAqIEBj dHg6IGxvY2sgYWNxdWlzaXRpb24gY29udGV4dAorICoKKyAqIFRoaXMgZnVuY3Rpb24gZHJvcCBh bGwgbW9kZXNldCBsb2NrcyB0YWtlbiBieSBkcm1fbW9kZXNldF9sb2NrX2FsbC4KKyAqLwordm9p ZCBkcm1fbW9kZXNldF91bmxvY2tfYWxsX2N0eChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJ CXN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4KQoreworCXN0cnVjdCBkcm1fbW9k ZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOworCisJZHJtX21vZGVzZXRfZHJv cF9sb2NrcyhjdHgpOworCW11dGV4X3VubG9jaygmY29uZmlnLT5tdXRleCk7Cit9CitFWFBPUlRf U1lNQk9MKGRybV9tb2Rlc2V0X3VubG9ja19hbGxfY3R4KTsKKworLyoqCisgKiBkcm1fbW9kZXNl dF9sb2NrX2FsbCAtIHRha2UgYWxsIG1vZGVzZXQgbG9ja3MKKyAqIEBkZXY6IGRybSBkZXZpY2UK KyAqCisgKiBUaGlzIGZ1bmN0aW9uIHRha2VzIGFsbCBtb2Rlc2V0IGxvY2tzLCBzdWl0YWJsZSB3 aGVyZSBhIG1vcmUgZmluZS1ncmFpbmVkCisgKiBzY2hlbWUgaXNuJ3QgKHlldCkgaW1wbGVtZW50 ZWQuIExvY2tzIG11c3QgYmUgZHJvcHBlZCB3aXRoCisgKiBkcm1fbW9kZXNldF91bmxvY2tfYWxs LgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZC4gSXQgYWxsb2NhdGVzIGEgbG9j ayBhY3F1aXNpdGlvbiBjb250ZXh0IGFuZAorICogc3RvcmVzIGl0IGluIGRybV9tb2RlX2NvbmZp Zy4gVGhpcyBmYWNpbGl0YXRlIGNvbnZlcnNpb24gb2YgZXhpc3RpbmcgY29kZQorICogYmVjYXVz ZSBpdCByZW1vdmVzIHRoZSBuZWVkIHRvIG1hbnVhbGx5IGRlYWwgd2l0aCB0aGUgYWNxdWlzaXRp b24gY29udGV4dCwKKyAqIGJ1dCBpdCBpcyBhbHNvIGJyaXR0bGUgYmVjYXVzZSB0aGUgY29udGV4 dCBpcyBnbG9iYWwgYW5kIGNhcmUgbXVzdCBiZQorICogdGFrZW4gbm90IHRvIG5lc3QgY2FsbHMu IE5ldyBjb2RlIHNob3VsZCB1c2UgZHJtX21vZGVzZXRfbG9ja19hbGxfY3R4KCkKKyAqIGFuZCBw YXNzIGluIHRoZSBjb250ZXh0IGV4cGxpY2l0bHkuCisgKi8KK3ZvaWQgZHJtX21vZGVzZXRfbG9j a19hbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgZHJtX21vZGVfY29uZmln ICpjb25maWcgPSAmZGV2LT5tb2RlX2NvbmZpZzsKKwlzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWly ZV9jdHggKmN0eDsKKworCWN0eCA9IGt6YWxsb2Moc2l6ZW9mKCpjdHgpLCBHRlBfS0VSTkVMKTsK KwlpZiAoV0FSTl9PTighY3R4KSkKKwkJcmV0dXJuOworCisJZHJtX21vZGVzZXRfYWNxdWlyZV9p bml0KGN0eCwgMCk7CisJZHJtX21vZGVzZXRfbG9ja19hbGxfY3R4KGRldiwgY3R4KTsKKworCVdB Uk5fT04oY29uZmlnLT5hY3F1aXJlX2N0eCk7CisKKwkvKgorCSAqIFdlIGhvbGQgdGhlIGxvY2tz IG5vdywgc28gaXQgaXMgc2FmZSB0byBzdGFzaCB0aGUgYWNxdWlzaXRpb24KKwkgKiBjb250ZXh0 IGZvciBkcm1fbW9kZXNldF91bmxvY2tfYWxsKCkuCisJICovCisJY29uZmlnLT5hY3F1aXJlX2N0 eCA9IGN0eDsKIH0KIEVYUE9SVF9TWU1CT0woZHJtX21vZGVzZXRfbG9ja19hbGwpOwogCkBAIC0x MTEsNiArMTUyLDEzIEBAIEVYUE9SVF9TWU1CT0woZHJtX21vZGVzZXRfbG9ja19hbGwpOwogICog QGRldjogZGV2aWNlCiAgKgogICogVGhpcyBmdW5jdGlvbiBkcm9wIGFsbCBtb2Rlc2V0IGxvY2tz IHRha2VuIGJ5IGRybV9tb2Rlc2V0X2xvY2tfYWxsLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMg ZGVwcmVjYXRlZC4gSXQgdXNlcyB0aGUgbG9jayBhY3F1aXNpdGlvbiBjb250ZXh0IHN0b3JlZAor ICogaW4gZHJtX21vZGVfY29uZmlnLiBUaGlzIGZhY2lsaXRhdGUgY29udmVyc2lvbiBvZiBleGlz dGluZyBjb2RlIGJlY2F1c2UgaXQKKyAqIHJlbW92ZXMgdGhlIG5lZWQgdG8gbWFudWFsbHkgZGVh bCB3aXRoIHRoZSBhY3F1aXNpdGlvbiBjb250ZXh0LCBidXQgaXQgaXMKKyAqIGFsc28gYnJpdHRs ZSBiZWNhdXNlIHRoZSBjb250ZXh0IGlzIGdsb2JhbCBhbmQgY2FyZSBtdXN0IGJlIHRha2VuIG5v dCB0bworICogbmVzdCBjYWxscy4gTmV3IGNvZGUgc2hvdWxkIHVzZSBkcm1fbW9kZXNldF91bmxv Y2tfYWxsX2N0eCgpIGFuZCBwYXNzIGluCisgKiB0aGUgY29udGV4dCBleHBsaWNpdGx5LgogICov CiB2b2lkIGRybV9tb2Rlc2V0X3VubG9ja19hbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsK QEAgLTEyMSwxMiArMTY5LDkgQEAgdm9pZCBkcm1fbW9kZXNldF91bmxvY2tfYWxsKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCiAJCXJldHVybjsKIAogCWNvbmZpZy0+YWNxdWlyZV9jdHggPSBOVUxM OwotCWRybV9tb2Rlc2V0X2Ryb3BfbG9ja3MoY3R4KTsKKwlkcm1fbW9kZXNldF91bmxvY2tfYWxs X2N0eChkZXYsIGN0eCk7CiAJZHJtX21vZGVzZXRfYWNxdWlyZV9maW5pKGN0eCk7Ci0KIAlrZnJl ZShjdHgpOwotCi0JbXV0ZXhfdW5sb2NrKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKIH0KIEVY UE9SVF9TWU1CT0woZHJtX21vZGVzZXRfdW5sb2NrX2FsbCk7CiAKZGlmZiAtLWdpdCBhL2luY2x1 ZGUvZHJtL2RybV9tb2Rlc2V0X2xvY2suaCBiL2luY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2xvY2su aAppbmRleCA5NDkzOGQ4OTM0N2MuLjJhNDJhNjYwOThjYiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9k cm0vZHJtX21vZGVzZXRfbG9jay5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2xvY2su aApAQCAtMTI5LDYgKzEyOSwxMCBAQCBzdHJ1Y3QgZHJtX2RldmljZTsKIHN0cnVjdCBkcm1fY3J0 YzsKIHN0cnVjdCBkcm1fcGxhbmU7CiAKK3ZvaWQgZHJtX21vZGVzZXRfbG9ja19hbGxfY3R4KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJCQkgICAgICBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWly ZV9jdHggKmN0eCk7Cit2b2lkIGRybV9tb2Rlc2V0X3VubG9ja19hbGxfY3R4KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCisJCQkJc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHgpOwog dm9pZCBkcm1fbW9kZXNldF9sb2NrX2FsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIHZvaWQg ZHJtX21vZGVzZXRfdW5sb2NrX2FsbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIHZvaWQgZHJt X21vZGVzZXRfbG9ja19jcnRjKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKLS0gCjIuNS4wCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=