From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH v5 1/3] drm: Implement drm_modeset_lock_all_ctx() Date: Wed, 2 Dec 2015 17:50:03 +0100 Message-ID: <1449075005-13937-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-f50.google.com (mail-wm0-f50.google.com [74.125.82.50]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0763E6EA79 for ; Wed, 2 Dec 2015 08:50:08 -0800 (PST) Received: by wmww144 with SMTP id w144so223126573wmw.1 for ; Wed, 02 Dec 2015 08:50:06 -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 bm93IHRoZSBlcXVpdmFsZW50IG9mIGRybV9tb2Rlc2V0X3VubG9ja19hbGxfY3R4KCkKdjU6IGRv IG5vdCB0YWtlIHRoZSBkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0ZXggaW4KICAgIGRy bV9hdG9taWNfbGVnYWN5X2JhY2tvZmYoKSBzaW5jZSBkcm1fbW9kZXNldF9sb2NrX2FsbF9jdHgo KQogICAgYWxyZWFkeSBrZWVwcyBpdCwgZW5oYW5jZSBrZXJuZWxkb2MgZm9yIGRybV9tb2Rlc2V0 X2xvY2tfYWxsX2N0eCgpCiAgICAoRGFuaWVsIFZldHRlcikKClNpZ25lZC1vZmYtYnk6IFRoaWVy cnkgUmVkaW5nIDx0cmVkaW5nQG52aWRpYS5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWMuYyAgICAgICB8ICA3ICstLQogZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2xvY2su YyB8IDg5ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiBpbmNsdWRlL2Ry bS9kcm1fbW9kZXNldF9sb2NrLmggICAgIHwgIDQgKy0KIDMgZmlsZXMgY2hhbmdlZCwgNjMgaW5z ZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKaW5kZXggNTViNGRl YmFkNzliLi5lZjVmNzY2M2E3MTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwpAQCAtMTE4OCwxMiArMTE4 OCw3IEBAIHZvaWQgZHJtX2F0b21pY19sZWdhY3lfYmFja29mZihzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUpCiByZXRyeToKIAlkcm1fbW9kZXNldF9iYWNrb2ZmKHN0YXRlLT5hY3F1aXJl X2N0eCk7CiAKLQlyZXQgPSBkcm1fbW9kZXNldF9sb2NrKCZzdGF0ZS0+ZGV2LT5tb2RlX2NvbmZp Zy5jb25uZWN0aW9uX211dGV4LAotCQkJICAgICAgIHN0YXRlLT5hY3F1aXJlX2N0eCk7Ci0JaWYg KHJldCkKLQkJZ290byByZXRyeTsKLQlyZXQgPSBkcm1fbW9kZXNldF9sb2NrX2FsbF9jcnRjcyhz dGF0ZS0+ZGV2LAotCQkJCQkgc3RhdGUtPmFjcXVpcmVfY3R4KTsKKwlyZXQgPSBkcm1fbW9kZXNl dF9sb2NrX2FsbF9jdHgoc3RhdGUtPmRldiwgc3RhdGUtPmFjcXVpcmVfY3R4KTsKIAlpZiAocmV0 KQogCQlnb3RvIHJldHJ5OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rl c2V0X2xvY2suYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXNldF9sb2NrLmMKaW5kZXggNjY3 NWIxNDI4NDEwLi5jMmY1OTcxMTQ2YmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f bW9kZXNldF9sb2NrLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlc2V0X2xvY2suYwpA QCAtNTcsMTEgKzU3LDE4IEBACiAKIC8qKgogICogZHJtX21vZGVzZXRfbG9ja19hbGwgLSB0YWtl IGFsbCBtb2Rlc2V0IGxvY2tzCi0gKiBAZGV2OiBkcm0gZGV2aWNlCisgKiBAZGV2OiBEUk0gZGV2 aWNlCiAgKgogICogVGhpcyBmdW5jdGlvbiB0YWtlcyBhbGwgbW9kZXNldCBsb2Nrcywgc3VpdGFi bGUgd2hlcmUgYSBtb3JlIGZpbmUtZ3JhaW5lZAotICogc2NoZW1lIGlzbid0ICh5ZXQpIGltcGxl bWVudGVkLiBMb2NrcyBtdXN0IGJlIGRyb3BwZWQgd2l0aAotICogZHJtX21vZGVzZXRfdW5sb2Nr X2FsbC4KKyAqIHNjaGVtZSBpc24ndCAoeWV0KSBpbXBsZW1lbnRlZC4gTG9ja3MgbXVzdCBiZSBk cm9wcGVkIGJ5IGNhbGxpbmcgdGhlCisgKiBkcm1fbW9kZXNldF91bmxvY2tfYWxsKCkgZnVuY3Rp b24uCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkLiBJdCBhbGxvY2F0ZXMgYSBs b2NrIGFjcXVpc2l0aW9uIGNvbnRleHQgYW5kCisgKiBzdG9yZXMgaXQgaW4gdGhlIERSTSBkZXZp Y2UncyAtPm1vZGVfY29uZmlnLiBUaGlzIGZhY2lsaXRhdGUgY29udmVyc2lvbiBvZgorICogZXhp c3RpbmcgY29kZSBiZWNhdXNlIGl0IHJlbW92ZXMgdGhlIG5lZWQgdG8gbWFudWFsbHkgZGVhbCB3 aXRoIHRoZQorICogYWNxdWlzaXRpb24gY29udGV4dCwgYnV0IGl0IGlzIGFsc28gYnJpdHRsZSBi ZWNhdXNlIHRoZSBjb250ZXh0IGlzIGdsb2JhbAorICogYW5kIGNhcmUgbXVzdCBiZSB0YWtlbiBu b3QgdG8gbmVzdCBjYWxscy4gTmV3IGNvZGUgc2hvdWxkIHVzZSB0aGUKKyAqIGRybV9tb2Rlc2V0 X2xvY2tfYWxsX2N0eCgpIGZ1bmN0aW9uIGFuZCBwYXNzIGluIHRoZSBjb250ZXh0IGV4cGxpY2l0 bHkuCiAgKi8KIHZvaWQgZHJtX21vZGVzZXRfbG9ja19hbGwoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKIHsKQEAgLTc4LDM5ICs4NSw0MyBAQCB2b2lkIGRybV9tb2Rlc2V0X2xvY2tfYWxsKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCiAJZHJtX21vZGVzZXRfYWNxdWlyZV9pbml0KGN0eCwgMCk7CiAK IHJldHJ5OgotCXJldCA9IGRybV9tb2Rlc2V0X2xvY2soJmNvbmZpZy0+Y29ubmVjdGlvbl9tdXRl eCwgY3R4KTsKLQlpZiAocmV0KQotCQlnb3RvIGZhaWw7Ci0JcmV0ID0gZHJtX21vZGVzZXRfbG9j a19hbGxfY3J0Y3MoZGV2LCBjdHgpOwotCWlmIChyZXQpCi0JCWdvdG8gZmFpbDsKKwlyZXQgPSBk cm1fbW9kZXNldF9sb2NrX2FsbF9jdHgoZGV2LCBjdHgpOworCWlmIChyZXQgPCAwKSB7CisJCWlm IChyZXQgPT0gLUVERUFETEspIHsKKwkJCWRybV9tb2Rlc2V0X2JhY2tvZmYoY3R4KTsKKwkJCWdv dG8gcmV0cnk7CisJCX0KKworCQlkcm1fbW9kZXNldF9hY3F1aXJlX2ZpbmkoY3R4KTsKKwkJa2Zy ZWUoY3R4KTsKKwkJcmV0dXJuOworCX0KIAogCVdBUk5fT04oY29uZmlnLT5hY3F1aXJlX2N0eCk7 CiAKLQkvKiBub3cgd2UgaG9sZCB0aGUgbG9ja3MsIHNvIG5vdyB0aGF0IGl0IGlzIHNhZmUsIHN0 YXNoIHRoZQotCSAqIGN0eCBmb3IgZHJtX21vZGVzZXRfdW5sb2NrX2FsbCgpOgorCS8qCisJICog V2UgaG9sZCB0aGUgbG9ja3Mgbm93LCBzbyBpdCBpcyBzYWZlIHRvIHN0YXNoIHRoZSBhY3F1aXNp dGlvbgorCSAqIGNvbnRleHQgZm9yIGRybV9tb2Rlc2V0X3VubG9ja19hbGwoKS4KIAkgKi8KIAlj b25maWctPmFjcXVpcmVfY3R4ID0gY3R4OwogCiAJZHJtX3dhcm5fb25fbW9kZXNldF9ub3RfYWxs X2xvY2tlZChkZXYpOwotCi0JcmV0dXJuOwotCi1mYWlsOgotCWlmIChyZXQgPT0gLUVERUFETEsp IHsKLQkJZHJtX21vZGVzZXRfYmFja29mZihjdHgpOwotCQlnb3RvIHJldHJ5OwotCX0KLQotCWtm cmVlKGN0eCk7CiB9CiBFWFBPUlRfU1lNQk9MKGRybV9tb2Rlc2V0X2xvY2tfYWxsKTsKIAogLyoq CiAgKiBkcm1fbW9kZXNldF91bmxvY2tfYWxsIC0gZHJvcCBhbGwgbW9kZXNldCBsb2NrcwotICog QGRldjogZGV2aWNlCisgKiBAZGV2OiBEUk0gZGV2aWNlCiAgKgotICogVGhpcyBmdW5jdGlvbiBk cm9wIGFsbCBtb2Rlc2V0IGxvY2tzIHRha2VuIGJ5IGRybV9tb2Rlc2V0X2xvY2tfYWxsLgorICog VGhpcyBmdW5jdGlvbiBkcm9wcyBhbGwgbW9kZXNldCBsb2NrcyB0YWtlbiBieSBhIHByZXZpb3Vz IGNhbGwgdG8gdGhlCisgKiBkcm1fbW9kZXNldF9sb2NrX2FsbCgpIGZ1bmN0aW9uLgorICoKKyAq IFRoaXMgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZC4gSXQgdXNlcyB0aGUgbG9jayBhY3F1aXNpdGlv biBjb250ZXh0IHN0b3JlZAorICogaW4gdGhlIERSTSBkZXZpY2UncyAtPm1vZGVfY29uZmlnLiBU aGlzIGZhY2lsaXRhdGVzIGNvbnZlcnNpb24gb2YgZXhpc3RpbmcKKyAqIGNvZGUgYmVjYXVzZSBp dCByZW1vdmVzIHRoZSBuZWVkIHRvIG1hbnVhbGx5IGRlYWwgd2l0aCB0aGUgYWNxdWlzaXRpb24K KyAqIGNvbnRleHQsIGJ1dCBpdCBpcyBhbHNvIGJyaXR0bGUgYmVjYXVzZSB0aGUgY29udGV4dCBp cyBnbG9iYWwgYW5kIGNhcmUgbXVzdAorICogYmUgdGFrZW4gbm90IHRvIG5lc3QgY2FsbHMuIE5l dyBjb2RlIHNob3VsZCBwYXNzIHRoZSBhY3F1aXNpdGlvbiBjb250ZXh0CisgKiBkaXJlY3RseSB0 byB0aGUgZHJtX21vZGVzZXRfZHJvcF9sb2NrcygpIGZ1bmN0aW9uLgogICovCiB2b2lkIGRybV9t b2Rlc2V0X3VubG9ja19hbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKQEAgLTQzMSwxNCAr NDQyLDM0IEBAIHZvaWQgZHJtX21vZGVzZXRfdW5sb2NrKHN0cnVjdCBkcm1fbW9kZXNldF9sb2Nr ICpsb2NrKQogfQogRVhQT1JUX1NZTUJPTChkcm1fbW9kZXNldF91bmxvY2spOwogCi0vKiBJbiBz b21lIGxlZ2FjeSBjb2RlcGF0aHMgaXQncyBjb252ZW5pZW50IHRvIGp1c3QgZ3JhYiBhbGwgdGhl IGNydGMgYW5kIHBsYW5lCi0gKiByZWxhdGVkIGxvY2tzLiAqLwotaW50IGRybV9tb2Rlc2V0X2xv Y2tfYWxsX2NydGNzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCi0JCXN0cnVjdCBkcm1fbW9kZXNl dF9hY3F1aXJlX2N0eCAqY3R4KQorLyoqCisgKiBkcm1fbW9kZXNldF9sb2NrX2FsbF9jdHggLSB0 YWtlIGFsbCBtb2Rlc2V0IGxvY2tzCisgKiBAZGV2OiBEUk0gZGV2aWNlCisgKiBAY3R4OiBsb2Nr IGFjcXVpc2l0aW9uIGNvbnRleHQKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHRha2VzIGFsbCBtb2Rl c2V0IGxvY2tzLCBzdWl0YWJsZSB3aGVyZSBhIG1vcmUgZmluZS1ncmFpbmVkCisgKiBzY2hlbWUg aXNuJ3QgKHlldCkgaW1wbGVtZW50ZWQuCisgKgorICogVW5saWtlIGRybV9tb2Rlc2V0X2xvY2tf YWxsKCksIGl0IGRvZXNuJ3QgdGFrZSB0aGUgZGV2LT5tb2RlX2NvbmZpZy5tdXRleAorICogc2lu Y2UgdGhhdCBsb2NrIGlzbid0IHJlcXVpcmVkIGZvciBtb2Rlc2V0IHN0YXRlIGNoYW5nZXMuIENh bGxlcnMgd2hpY2gKKyAqIG5lZWQgdG8gZ3JhYiB0aGF0IGxvY2sgdG9vIG5lZWQgdG8gZG8gc28g b3V0c2lkZSBvZiB0aGUgYWNxdWlyZSBjb250ZXh0CisgKiBAY3R4LgorICoKKyAqIExvY2tzIGFj cXVpcmVkIHdpdGggdGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgcmVsZWFzZWQgYnkgY2FsbGluZyB0 aGUKKyAqIGRybV9tb2Rlc2V0X2Ryb3BfbG9ja3MoKSBmdW5jdGlvbiBvbiBAY3R4LgorICoKKyAq IFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBhIG5lZ2F0aXZlIGVycm9yLWNvZGUgb24gZmFpbHVy ZS4KKyAqLworaW50IGRybV9tb2Rlc2V0X2xvY2tfYWxsX2N0eChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAorCQkJICAgICBzdHJ1Y3QgZHJtX21vZGVzZXRfYWNxdWlyZV9jdHggKmN0eCkKIHsKIAlz dHJ1Y3QgZHJtX2NydGMgKmNydGM7CiAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Ci0JaW50IHJl dCA9IDA7CisJaW50IHJldDsKKworCXJldCA9IGRybV9tb2Rlc2V0X2xvY2soJmRldi0+bW9kZV9j b25maWcuY29ubmVjdGlvbl9tdXRleCwgY3R4KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0Owog CiAJZHJtX2Zvcl9lYWNoX2NydGMoY3J0YywgZGV2KSB7CiAJCXJldCA9IGRybV9tb2Rlc2V0X2xv Y2soJmNydGMtPm11dGV4LCBjdHgpOwpAQCAtNDU0LDQgKzQ4NSw0IEBAIGludCBkcm1fbW9kZXNl dF9sb2NrX2FsbF9jcnRjcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCiAJcmV0dXJuIDA7CiB9 Ci1FWFBPUlRfU1lNQk9MKGRybV9tb2Rlc2V0X2xvY2tfYWxsX2NydGNzKTsKK0VYUE9SVF9TWU1C T0woZHJtX21vZGVzZXRfbG9ja19hbGxfY3R4KTsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2Ry bV9tb2Rlc2V0X2xvY2suaCBiL2luY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2xvY2suaAppbmRleCA5 NDkzOGQ4OTM0N2MuLmM1NTc2ZmJjYjkwOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX21v ZGVzZXRfbG9jay5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9tb2Rlc2V0X2xvY2suaApAQCAtMTM4 LDcgKzEzOCw3IEBAIHZvaWQgZHJtX3dhcm5fb25fbW9kZXNldF9ub3RfYWxsX2xvY2tlZChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KTsKIHN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqCiBk cm1fbW9kZXNldF9sZWdhY3lfYWNxdWlyZV9jdHgoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKIAot aW50IGRybV9tb2Rlc2V0X2xvY2tfYWxsX2NydGNzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCi0J CXN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0eCAqY3R4KTsKK2ludCBkcm1fbW9kZXNldF9s b2NrX2FsbF9jdHgoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCSAgICAgc3RydWN0IGRybV9t b2Rlc2V0X2FjcXVpcmVfY3R4ICpjdHgpOwogCiAjZW5kaWYgLyogRFJNX01PREVTRVRfTE9DS19I XyAqLwotLSAKMi41LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg==