From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: [PATCH 09/13] drm/fb-helper: Split dpms handling into legacy and atomic paths Date: Tue, 4 Jul 2017 17:18:29 +0200 Message-ID: <20170704151833.17304-10-daniel.vetter@ffwll.ch> References: <20170704151833.17304-1-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id AC1FD6E37F for ; Tue, 4 Jul 2017 15:18:54 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id p204so27064301wmg.1 for ; Tue, 04 Jul 2017 08:18:54 -0700 (PDT) In-Reply-To: <20170704151833.17304-1-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: DRI Development Cc: Daniel Vetter , Intel Graphics Development , Daniel Vetter , Thierry Reding , Peter Rosin List-Id: dri-devel@lists.freedesktop.org TGlrZSB3aXRoIHBhbm5pbmcgYW5kIG1vZGVzZXR0aW5nLCBhbmQgbGlrZSB3aXRoIHRob3NlLCBz dGljayB3aXRoCnNpbXBsZSBkcm1fbW9kZXNldF9sb2NraW5nX2FsbCBmb3IgdGhlIGxlZ2FjeSBw YXRoLCBhbmQgdGhlIGZ1bGwKYXRvbWljIGRhbmNlIGZvciBhdG9taWMgZHJpdmVycy4KClRoaXMg bWVhbnMgYSBiaXQgbW9yZSBib2lsZXJwbGF0ZSBzaW5jZSBzZXR0aW5nIHVwIHRoZSBhdG9taWMg c3RhdGUKbWFjaGluZXJ5IGlzIHJhdGhlciB2ZXJib3NlLCBidXQgdGhlbiB0aGlzIGlzIHNoYXJl ZCBjb2RlIGZvciAzMCsKZHJpdmVycyBvciBzbywgc28gbWVoLgoKQWZ0ZXIgdGhpcyBwYXRjaCB0 aGVyZSdzIG9ubHkgdGhlIExVVC9jbWFwIHBhdGggd2hpY2ggaXMgc3RpbGwgdXNpbmcKZHJtX21v ZGVzZXRfbG9ja19hbGwgZm9yIGFuIGF0b21pYyBkcml2ZXIuIEJ1dCBQZXRlciBpcyBhbHJlYWR5 CmxvY2tpbmcgaW50byByZXdvcmtpbmcgdGhhdCwgc28gSSdsbCBsZWF2ZSB0aGF0IGNvZGUgYXMt aXMgZm9yIG5vdy4KCnYyOiBTcXVhc2ggaW4gcGF0Y2hlcyBmcm9tIE1hYXJ0ZW4gdG8gdW5pZnkg YWxsIHRoZSB2YXJpb3VzIGF0b21pYwpwYXRocyBpbnRvIGp1c3Qgb25lIGF0b21pYyB1cGRhdGUg ZnVuY3Rpb24gZm9yIGZiZGV2IG92ZXJhbGwuIE9uIHRvcApkbyBvbmUgcy9yZXN0b3JlX2ZiZGV2 X21vZGUvcmVzdG9yZV9mYmRldl9tb2RlX2F0b21pYy8gc28gdGhhdCB3ZSBoYXZlCmFsbC1hdG9t aWMgY2FsbGNoYWlucyBhZnRlciB0aGUgZmlyc3QgY2hlY2suCgpDYzogUGV0ZXIgUm9zaW4gPHBl ZGFAYXhlbnRpYS5zZT4KQ2M6IEpvaG4gU3R1bHR6IDxqb2huLnN0dWx0ekBsaW5hcm8ub3JnPgpD YzogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KQ2M6IE1hYXJ0ZW4gTGFua2hv cnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IERh bmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9kcm1fZmJfaGVscGVyLmMgfCAxMTUgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDY1IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCmluZGV4IDU5ZTI5MTY0NzFiMi4uYTM1YTJhYjhlNjMw IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKQEAgLTM3OCw3ICszNzgsNyBAQCBpbnQgZHJtX2Zi X2hlbHBlcl9kZWJ1Z19sZWF2ZShzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKIH0KIEVYUE9SVF9TWU1C T0woZHJtX2ZiX2hlbHBlcl9kZWJ1Z19sZWF2ZSk7CiAKLXN0YXRpYyBpbnQgcmVzdG9yZV9mYmRl dl9tb2RlX2F0b21pYyhzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQorc3RhdGljIGlu dCByZXN0b3JlX2ZiZGV2X21vZGVfYXRvbWljKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxw ZXIsIGJvb2wgYWN0aXZlKQogewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBmYl9oZWxwZXIt PmRldjsKIAlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKQEAgLTQyNyw2ICs0MjcsMTcgQEAgc3Rh dGljIGludCByZXN0b3JlX2ZiZGV2X21vZGVfYXRvbWljKHN0cnVjdCBkcm1fZmJfaGVscGVyICpm Yl9oZWxwZXIpCiAJCXJldCA9IF9fZHJtX2F0b21pY19oZWxwZXJfc2V0X2NvbmZpZyhtb2RlX3Nl dCwgc3RhdGUpOwogCQlpZiAocmV0ICE9IDApCiAJCQlnb3RvIG91dF9zdGF0ZTsKKworCQkvKgor CQkgKiBfX2RybV9hdG9taWNfaGVscGVyX3NldF9jb25maWcoKSBzZXRzIGFjdGl2ZSB3aGVuIGEK KwkJICogbW9kZSBpcyBzZXQsIHVuY29uZGl0aW9uYWxseSBjbGVhciBpdCBpZiB3ZSBmb3JjZSBE UE1TIG9mZgorCQkgKi8KKwkJaWYgKCFhY3RpdmUpIHsKKwkJCXN0cnVjdCBkcm1fY3J0YyAqY3J0 YyA9IG1vZGVfc2V0LT5jcnRjOworCQkJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRl ID0gZHJtX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOworCisJCQljcnRj X3N0YXRlLT5hY3RpdmUgPSBmYWxzZTsKKwkJfQogCX0KIAogCXJldCA9IGRybV9hdG9taWNfY29t bWl0KHN0YXRlKTsKQEAgLTQ5Nyw3ICs1MDgsNyBAQCBzdGF0aWMgaW50IHJlc3RvcmVfZmJkZXZf bW9kZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQogCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBmYl9oZWxwZXItPmRldjsKIAogCWlmIChkcm1fZHJ2X3VzZXNfYXRvbWljX21vZGVz ZXQoZGV2KSkKLQkJcmV0dXJuIHJlc3RvcmVfZmJkZXZfbW9kZV9hdG9taWMoZmJfaGVscGVyKTsK KwkJcmV0dXJuIHJlc3RvcmVfZmJkZXZfbW9kZV9hdG9taWMoZmJfaGVscGVyLCB0cnVlKTsKIAll bHNlCiAJCXJldHVybiByZXN0b3JlX2ZiZGV2X21vZGVfbGVnYWN5KGZiX2hlbHBlcik7CiB9CkBA IC02MTYsMjMgKzYyNywxMyBAQCBzdGF0aWMgc3RydWN0IHN5c3JxX2tleV9vcCBzeXNycV9kcm1f ZmJfaGVscGVyX3Jlc3RvcmVfb3AgPSB7CiBzdGF0aWMgc3RydWN0IHN5c3JxX2tleV9vcCBzeXNy cV9kcm1fZmJfaGVscGVyX3Jlc3RvcmVfb3AgPSB7IH07CiAjZW5kaWYKIAotc3RhdGljIHZvaWQg ZHJtX2ZiX2hlbHBlcl9kcG1zKHN0cnVjdCBmYl9pbmZvICppbmZvLCBpbnQgZHBtc19tb2RlKQor c3RhdGljIHZvaWQgZHBtc19sZWdhY3koc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwg aW50IGRwbXNfbW9kZSkKIHsKLQlzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyID0gaW5m by0+cGFyOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBmYl9oZWxwZXItPmRldjsKIAlzdHJ1 Y3QgZHJtX2NydGMgKmNydGM7CiAJc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcjsKIAlp bnQgaSwgajsKIAotCS8qCi0JICogRm9yIGVhY2ggQ1JUQyBpbiB0aGlzIGZiLCB0dXJuIHRoZSBj b25uZWN0b3JzIG9uL29mZi4KLQkgKi8KLQltdXRleF9sb2NrKCZmYl9oZWxwZXItPmxvY2spOwot CWlmICghZHJtX2ZiX2hlbHBlcl9pc19ib3VuZChmYl9oZWxwZXIpKSB7Ci0JCW11dGV4X3VubG9j aygmZmJfaGVscGVyLT5sb2NrKTsKLQkJcmV0dXJuOwotCX0KLQogCWRybV9tb2Rlc2V0X2xvY2tf YWxsKGRldik7CiAJZm9yIChpID0gMDsgaSA8IGZiX2hlbHBlci0+Y3J0Y19jb3VudDsgaSsrKSB7 CiAJCWNydGMgPSBmYl9oZWxwZXItPmNydGNfaW5mb1tpXS5tb2RlX3NldC5jcnRjOwpAQCAtNjQ5 LDYgKzY1MCwyNSBAQCBzdGF0aWMgdm9pZCBkcm1fZmJfaGVscGVyX2RwbXMoc3RydWN0IGZiX2lu Zm8gKmluZm8sIGludCBkcG1zX21vZGUpCiAJCX0KIAl9CiAJZHJtX21vZGVzZXRfdW5sb2NrX2Fs bChkZXYpOworfQorCitzdGF0aWMgdm9pZCBkcm1fZmJfaGVscGVyX2RwbXMoc3RydWN0IGZiX2lu Zm8gKmluZm8sIGludCBkcG1zX21vZGUpCit7CisJc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hl bHBlciA9IGluZm8tPnBhcjsKKworCS8qCisJICogRm9yIGVhY2ggQ1JUQyBpbiB0aGlzIGZiLCB0 dXJuIHRoZSBjb25uZWN0b3JzIG9uL29mZi4KKwkgKi8KKwltdXRleF9sb2NrKCZmYl9oZWxwZXIt PmxvY2spOworCWlmICghZHJtX2ZiX2hlbHBlcl9pc19ib3VuZChmYl9oZWxwZXIpKSB7CisJCW11 dGV4X3VubG9jaygmZmJfaGVscGVyLT5sb2NrKTsKKwkJcmV0dXJuOworCX0KKworCWlmIChkcm1f ZHJ2X3VzZXNfYXRvbWljX21vZGVzZXQoZmJfaGVscGVyLT5kZXYpKQorCQlyZXN0b3JlX2ZiZGV2 X21vZGVfYXRvbWljKGZiX2hlbHBlciwgZHBtc19tb2RlID09IERSTV9NT0RFX0RQTVNfT04pOwor CWVsc2UKKwkJZHBtc19sZWdhY3koZmJfaGVscGVyLCBkcG1zX21vZGUpOwogCW11dGV4X3VubG9j aygmZmJfaGVscGVyLT5sb2NrKTsKIH0KIApAQCAtMTUwMyw3MCArMTUyMywzNiBAQCBpbnQgZHJt X2ZiX2hlbHBlcl9zZXRfcGFyKHN0cnVjdCBmYl9pbmZvICppbmZvKQogfQogRVhQT1JUX1NZTUJP TChkcm1fZmJfaGVscGVyX3NldF9wYXIpOwogCi1zdGF0aWMgaW50IHBhbl9kaXNwbGF5X2F0b21p YyhzdHJ1Y3QgZmJfdmFyX3NjcmVlbmluZm8gKnZhciwKLQkJCSAgICAgIHN0cnVjdCBmYl9pbmZv ICppbmZvKQorc3RhdGljIHZvaWQgcGFuX3NldChzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVs cGVyLCBpbnQgeCwgaW50IHkpCiB7Ci0Jc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciA9 IGluZm8tPnBhcjsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZmJfaGVscGVyLT5kZXY7Ci0J c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOwotCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l OwotCWludCBpLCByZXQ7Ci0JdW5zaWduZWQgaW50IHBsYW5lX21hc2s7Ci0Jc3RydWN0IGRybV9t b2Rlc2V0X2FjcXVpcmVfY3R4IGN0eDsKLQotCWRybV9tb2Rlc2V0X2FjcXVpcmVfaW5pdCgmY3R4 LCAwKTsKLQotCXN0YXRlID0gZHJtX2F0b21pY19zdGF0ZV9hbGxvYyhkZXYpOwotCWlmICghc3Rh dGUpIHsKLQkJcmV0ID0gLUVOT01FTTsKLQkJZ290byBvdXRfY3R4OwotCX0KKwlpbnQgaTsKIAot CXN0YXRlLT5hY3F1aXJlX2N0eCA9ICZjdHg7Ci1yZXRyeToKLQlwbGFuZV9tYXNrID0gMDsKIAlm b3IgKGkgPSAwOyBpIDwgZmJfaGVscGVyLT5jcnRjX2NvdW50OyBpKyspIHsKIAkJc3RydWN0IGRy bV9tb2RlX3NldCAqbW9kZV9zZXQ7CiAKIAkJbW9kZV9zZXQgPSAmZmJfaGVscGVyLT5jcnRjX2lu Zm9baV0ubW9kZV9zZXQ7CiAKLQkJbW9kZV9zZXQtPnggPSB2YXItPnhvZmZzZXQ7Ci0JCW1vZGVf c2V0LT55ID0gdmFyLT55b2Zmc2V0OwotCi0JCXJldCA9IF9fZHJtX2F0b21pY19oZWxwZXJfc2V0 X2NvbmZpZyhtb2RlX3NldCwgc3RhdGUpOwotCQlpZiAocmV0ICE9IDApCi0JCQlnb3RvIG91dF9z dGF0ZTsKLQotCQlwbGFuZSA9IG1vZGVfc2V0LT5jcnRjLT5wcmltYXJ5OwotCQlwbGFuZV9tYXNr IHw9ICgxIDw8IGRybV9wbGFuZV9pbmRleChwbGFuZSkpOwotCQlwbGFuZS0+b2xkX2ZiID0gcGxh bmUtPmZiOworCQltb2RlX3NldC0+eCA9IHg7CisJCW1vZGVfc2V0LT55ID0geTsKIAl9Cit9CiAK LQlyZXQgPSBkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSk7Ci0JaWYgKHJldCAhPSAwKQotCQlnb3Rv IG91dF9zdGF0ZTsKLQotCWluZm8tPnZhci54b2Zmc2V0ID0gdmFyLT54b2Zmc2V0OwotCWluZm8t PnZhci55b2Zmc2V0ID0gdmFyLT55b2Zmc2V0OwotCi1vdXRfc3RhdGU6Ci0JZHJtX2F0b21pY19j bGVhbl9vbGRfZmIoZGV2LCBwbGFuZV9tYXNrLCByZXQpOworc3RhdGljIGludCBwYW5fZGlzcGxh eV9hdG9taWMoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsCisJCQkgICAgICBzdHJ1Y3Qg ZmJfaW5mbyAqaW5mbykKK3sKKwlzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyID0gaW5m by0+cGFyOworCWludCByZXQ7CiAKLQlpZiAocmV0ID09IC1FREVBRExLKQotCQlnb3RvIGJhY2tv ZmY7CisJcGFuX3NldChmYl9oZWxwZXIsIHZhci0+eG9mZnNldCwgdmFyLT55b2Zmc2V0KTsKIAot CWRybV9hdG9taWNfc3RhdGVfcHV0KHN0YXRlKTsKLW91dF9jdHg6Ci0JZHJtX21vZGVzZXRfZHJv cF9sb2NrcygmY3R4KTsKLQlkcm1fbW9kZXNldF9hY3F1aXJlX2ZpbmkoJmN0eCk7CisJcmV0ID0g cmVzdG9yZV9mYmRldl9tb2RlX2F0b21pYyhmYl9oZWxwZXIsIHRydWUpOworCWlmICghcmV0KSB7 CisJCWluZm8tPnZhci54b2Zmc2V0ID0gdmFyLT54b2Zmc2V0OworCQlpbmZvLT52YXIueW9mZnNl dCA9IHZhci0+eW9mZnNldDsKKwl9IGVsc2UKKwkJcGFuX3NldChmYl9oZWxwZXIsIGluZm8tPnZh ci54b2Zmc2V0LCBpbmZvLT52YXIueW9mZnNldCk7CiAKIAlyZXR1cm4gcmV0OwotCi1iYWNrb2Zm OgotCWRybV9hdG9taWNfc3RhdGVfY2xlYXIoc3RhdGUpOwotCWRybV9tb2Rlc2V0X2JhY2tvZmYo JmN0eCk7Ci0KLQlnb3RvIHJldHJ5OwogfQogCiBzdGF0aWMgaW50IHBhbl9kaXNwbGF5X2xlZ2Fj eShzdHJ1Y3QgZmJfdmFyX3NjcmVlbmluZm8gKnZhciwKQEAgLTI0NjcsNyArMjQ1Myw2IEBAIEVY UE9SVF9TWU1CT0woZHJtX2ZiX2hlbHBlcl9pbml0aWFsX2NvbmZpZyk7CiAgKi8KIGludCBkcm1f ZmJfaGVscGVyX2hvdHBsdWdfZXZlbnQoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlcikK IHsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZmJfaGVscGVyLT5kZXY7CiAJaW50IGVyciA9 IDA7CiAKIAlpZiAoIWRybV9mYmRldl9lbXVsYXRpb24pCi0tIAoyLjEzLjIKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=