From mboxrd@z Thu Jan 1 00:00:00 1970 From: Russell King Subject: [PATCH 13/20] drm/armada: switch legacy modeset to atomic modeset Date: Tue, 10 Jul 2018 11:42:18 +0100 Message-ID: References: <20180710104027.GJ17271@n2100.armlinux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk [IPv6:2001:4d48:ad52:3201:214:fdff:fe10:1be6]) by gabe.freedesktop.org (Postfix) with ESMTPS id 922B66E915 for ; Tue, 10 Jul 2018 10:42:22 +0000 (UTC) In-Reply-To: <20180710104027.GJ17271@n2100.armlinux.org.uk> Content-Disposition: inline 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: David Airlie List-Id: dri-devel@lists.freedesktop.org U3dpdGNoIHRoZSBsZWdhY3kgc2V0X2NvbmZpZygpIG1ldGhvZCB0byB1c2UgdGhlIGF0b21pYyBt b2Rlc2V0CmhlbHBlciwgd2hpY2ggYWxsb3dzIHVzIHRvIGdldCByaWQgb2YgdGhlIGxlZ2FjeSBk cG1zLCBwcmVwYXJlLApjb21taXQsIG1vZGVfc2V0LCBtb2RlX3NldF9iYXNlIGFuZCBkaXNhYmxl IGhlbHBlciBtZXRob2RzLgoKU2lnbmVkLW9mZi1ieTogUnVzc2VsbCBLaW5nIDxybWsra2VybmVs QGFybWxpbnV4Lm9yZy51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9jcnRj LmMgfCAxMDMgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuaCB8ICAgMSAtCiAyIGZpbGVzIGNoYW5nZWQsIDEgaW5z ZXJ0aW9uKCspLCAxMDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FybWFkYS9hcm1hZGFfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfY3J0 Yy5jCmluZGV4IDM3NWEyMDc1NzU2MS4uMGNlZjQwYWQzYTA2IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYXJtYWRhL2FybWFkYV9jcnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybWFk YS9hcm1hZGFfY3J0Yy5jCkBAIC05Miw4ICs5Miw2IEBAIGFybWFkYV9kcm1fY3J0Y191cGRhdGVf cmVncyhzdHJ1Y3QgYXJtYWRhX2NydGMgKmRjcnRjLCBzdHJ1Y3QgYXJtYWRhX3JlZ3MgKnJlZ3Mp CiAJfQogfQogCi0jZGVmaW5lIGRwbXNfYmxhbmtlZChkcG1zKQkoKGRwbXMpICE9IERSTV9NT0RF X0RQTVNfT04pCi0KIHN0YXRpYyB2b2lkIGFybWFkYV9kcm1fY3J0Y191cGRhdGUoc3RydWN0IGFy bWFkYV9jcnRjICpkY3J0YywgYm9vbCBlbmFibGUpCiB7CiAJdWludDMyX3QgZHVtYl9jdHJsOwpA QCAtMjIxLDE2ICsyMTksNiBAQCBhcm1hZGFfZHJtX2NydGNfYWxsb2NfcGxhbmVfd29yayhzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSkKIAlyZXR1cm4gd29yazsKIH0KIAotc3RhdGljIHZvaWQgYXJt YWRhX2RybV92Ymxhbmtfb2ZmKHN0cnVjdCBhcm1hZGFfY3J0YyAqZGNydGMpCi17Ci0JLyoKLQkg KiBUZWxsIHRoZSBEUk0gY29yZSB0aGF0IHZibGFuayBJUlFzIGFyZW4ndCBnb2luZyB0byBoYXBw ZW4gZm9yCi0JICogYSB3aGlsZS4gIFRoaXMgY2xlYW5zIHVwIGFueSBwZW5kaW5nIHZibGFuayBl dmVudHMgZm9yIHVzLgotCSAqLwotCWRybV9jcnRjX3ZibGFua19vZmYoJmRjcnRjLT5jcnRjKTsK LQlhcm1hZGFfZHJtX3BsYW5lX3dvcmtfcnVuKGRjcnRjLCBkY3J0Yy0+Y3J0Yy5wcmltYXJ5KTsK LX0KLQogc3RhdGljIHZvaWQgYXJtYWRhX2RybV9jcnRjX3F1ZXVlX3N0YXRlX2V2ZW50KHN0cnVj dCBkcm1fY3J0YyAqY3J0YykKIHsKIAlzdHJ1Y3QgYXJtYWRhX2NydGMgKmRjcnRjID0gZHJtX3Rv X2FybWFkYV9jcnRjKGNydGMpOwpAQCAtMjQ1LDcxICsyMzMsNiBAQCBzdGF0aWMgdm9pZCBhcm1h ZGFfZHJtX2NydGNfcXVldWVfc3RhdGVfZXZlbnQoc3RydWN0IGRybV9jcnRjICpjcnRjKQogfQog CiAvKiBUaGUgbW9kZV9jb25maWcubXV0ZXggd2lsbCBiZSBoZWxkIGZvciB0aGlzIGNhbGwgKi8K LXN0YXRpYyB2b2lkIGFybWFkYV9kcm1fY3J0Y19kcG1zKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yywg aW50IGRwbXMpCi17Ci0Jc3RydWN0IGFybWFkYV9jcnRjICpkY3J0YyA9IGRybV90b19hcm1hZGFf Y3J0YyhjcnRjKTsKLQotCWlmIChkcG1zX2JsYW5rZWQoZGNydGMtPmRwbXMpICE9IGRwbXNfYmxh bmtlZChkcG1zKSkgewotCQlpZiAoZHBtc19ibGFua2VkKGRwbXMpKQotCQkJYXJtYWRhX2RybV92 Ymxhbmtfb2ZmKGRjcnRjKTsKLQkJZWxzZSBpZiAoZGNydGMtPnZhcmlhbnQtPmVuYWJsZSkKLQkJ CWRjcnRjLT52YXJpYW50LT5lbmFibGUoZGNydGMsICZjcnRjLT5od21vZGUpOwotCQlkY3J0Yy0+ ZHBtcyA9IGRwbXM7Ci0JCWFybWFkYV9kcm1fY3J0Y191cGRhdGUoZGNydGMsICFkcG1zX2JsYW5r ZWQoZGNydGMtPmRwbXMpKTsKLQkJaWYgKCFkcG1zX2JsYW5rZWQoZHBtcykpCi0JCQlkcm1fY3J0 Y192Ymxhbmtfb24oJmRjcnRjLT5jcnRjKTsKLQkJZWxzZSBpZiAoZGNydGMtPnZhcmlhbnQtPmRp c2FibGUpCi0JCQlkY3J0Yy0+dmFyaWFudC0+ZGlzYWJsZShkY3J0Yyk7Ci0JfSBlbHNlIGlmIChk Y3J0Yy0+ZHBtcyAhPSBkcG1zKSB7Ci0JCWRjcnRjLT5kcG1zID0gZHBtczsKLQl9Ci19Ci0KLS8q Ci0gKiBQcmVwYXJlIGZvciBhIG1vZGUgc2V0LiAgVHVybiBvZmYgb3ZlcmxheSB0byBlbnN1cmUg dGhhdCB3ZSBkb24ndCBlbmQKLSAqIHVwIHdpdGggdGhlIG92ZXJsYXkgc2l6ZSBiZWluZyBiaWdn ZXIgdGhhbiB0aGUgYWN0aXZlIHNjcmVlbiBzaXplLgotICogV2UgcmVseSB1cG9uIFggcmVmcmVz aGluZyB0aGlzIHN0YXRlIGFmdGVyIHRoZSBtb2RlIHNldCBoYXMgY29tcGxldGVkLgotICoKLSAq IFRoZSBtb2RlX2NvbmZpZy5tdXRleCB3aWxsIGJlIGhlbGQgZm9yIHRoaXMgY2FsbAotICovCi1z dGF0aWMgdm9pZCBhcm1hZGFfZHJtX2NydGNfcHJlcGFyZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMp Ci17Ci0Jc3RydWN0IGFybWFkYV9jcnRjICpkY3J0YyA9IGRybV90b19hcm1hZGFfY3J0YyhjcnRj KTsKLQlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKLQotCS8qCi0JICogSWYgd2UgaGF2ZSBhbiBv dmVybGF5IHBsYW5lIGFzc29jaWF0ZWQgd2l0aCB0aGlzIENSVEMsIGRpc2FibGUgaXQKLQkgKiBi ZWZvcmUgdGhlIG1vZGVzZXQgdG8gYXZvaWQgaXRzIGNvb3JkaW5hdGVzIGJlaW5nIG91dHNpZGUg dGhlIG5ldwotCSAqIG1vZGUgcGFyYW1ldGVycy4gIEZvciB0cmFuc2l0aW9uYWwgYXRvbWljIG1v ZGVzZXQsIHdlIG9ubHkgd2FpdC4KLQkgKi8KLQlwbGFuZSA9IGRjcnRjLT5wbGFuZTsKLQlpZiAo cGxhbmUpIHsKLQkJV0FSTl9PTighYXJtYWRhX2RybV9wbGFuZV93b3JrX3dhaXQoZHJtX3RvX2Fy bWFkYV9wbGFuZShwbGFuZSksCi0JCQkJCQkgICAgSFopKTsKLQl9Ci0KLQkvKiBXYWl0IGZvciBw ZW5kaW5nIGZsaXBzIHRvIGNvbXBsZXRlICovCi0JYXJtYWRhX2RybV9wbGFuZV93b3JrX3dhaXQo ZHJtX3RvX2FybWFkYV9wbGFuZShkY3J0Yy0+Y3J0Yy5wcmltYXJ5KSwKLQkJCQkgICBNQVhfU0NI RURVTEVfVElNRU9VVCk7Ci0KLQlkcm1fY3J0Y192Ymxhbmtfb2ZmKGNydGMpOwotCi0JYXJtYWRh X3VwZGF0ZWwoMCwgQ0ZHX0RVTUJfRU5BLCBkY3J0Yy0+YmFzZSArIExDRF9TUFVfRFVNQl9DVFJM KTsKLX0KLQotLyogVGhlIG1vZGVfY29uZmlnLm11dGV4IHdpbGwgYmUgaGVsZCBmb3IgdGhpcyBj YWxsICovCi1zdGF0aWMgdm9pZCBhcm1hZGFfZHJtX2NydGNfY29tbWl0KHN0cnVjdCBkcm1fY3J0 YyAqY3J0YykKLXsKLQlzdHJ1Y3QgYXJtYWRhX2NydGMgKmRjcnRjID0gZHJtX3RvX2FybWFkYV9j cnRjKGNydGMpOwotCi0JZGNydGMtPmRwbXMgPSBEUk1fTU9ERV9EUE1TX09OOwotCWFybWFkYV9k cm1fY3J0Y191cGRhdGUoZGNydGMsIHRydWUpOwotCWRybV9jcnRjX3ZibGFua19vbihjcnRjKTsK LQotCWFybWFkYV9kcm1fY3J0Y19xdWV1ZV9zdGF0ZV9ldmVudChjcnRjKTsKLX0KLQotLyogVGhl IG1vZGVfY29uZmlnLm11dGV4IHdpbGwgYmUgaGVsZCBmb3IgdGhpcyBjYWxsICovCiBzdGF0aWMg Ym9vbCBhcm1hZGFfZHJtX2NydGNfbW9kZV9maXh1cChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJ Y29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsIHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICphZGopCiB7CkBAIC01MzIsMTUgKzQ1NSw2IEBAIHN0YXRpYyB2b2lkIGFybWFkYV9kcm1f Y3J0Y19tb2RlX3NldF9ub2ZiKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlzcGluX3VubG9ja19p cnFyZXN0b3JlKCZkY3J0Yy0+aXJxX2xvY2ssIGZsYWdzKTsKIH0KIAotLyogVGhlIG1vZGVfY29u ZmlnLm11dGV4IHdpbGwgYmUgaGVsZCBmb3IgdGhpcyBjYWxsICovCi1zdGF0aWMgdm9pZCBhcm1h ZGFfZHJtX2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCi17Ci0JYXJtYWRhX2Ry bV9jcnRjX2RwbXMoY3J0YywgRFJNX01PREVfRFBNU19PRkYpOwotCi0JLyogRGlzYWJsZSBvdXIg cHJpbWFyeSBwbGFuZSB3aGVuIHdlIGRpc2FibGUgdGhlIENSVEMuICovCi0JY3J0Yy0+cHJpbWFy eS0+ZnVuY3MtPmRpc2FibGVfcGxhbmUoY3J0Yy0+cHJpbWFyeSwgTlVMTCk7Ci19Ci0KIHN0YXRp YyB2b2lkIGFybWFkYV9kcm1fY3J0Y19hdG9taWNfYmVnaW4oc3RydWN0IGRybV9jcnRjICpjcnRj LAogCQkJCQkgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSkKIHsKQEAgLTYw MCw3ICs1MTQsNiBAQCBzdGF0aWMgdm9pZCBhcm1hZGFfZHJtX2NydGNfYXRvbWljX2Rpc2FibGUo c3RydWN0IGRybV9jcnRjICpjcnRjLAogCWFybWFkYV9kcm1fcGxhbmVfd29ya193YWl0KGRybV90 b19hcm1hZGFfcGxhbmUoZGNydGMtPmNydGMucHJpbWFyeSksCiAJCQkJICAgTUFYX1NDSEVEVUxF X1RJTUVPVVQpOwogCi0JZGNydGMtPmRwbXMgPSBEUk1fTU9ERV9EUE1TX09GRjsKIAlkcm1fY3J0 Y192Ymxhbmtfb2ZmKGNydGMpOwogCWFybWFkYV9kcm1fY3J0Y191cGRhdGUoZGNydGMsIGZhbHNl KTsKIApAQCAtNjMzLDcgKzU0Niw2IEBAIHN0YXRpYyB2b2lkIGFybWFkYV9kcm1fY3J0Y19hdG9t aWNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAogCURSTV9ERUJVR19LTVMoIltDUlRD OiVkOiVzXVxuIiwgY3J0Yy0+YmFzZS5pZCwgY3J0Yy0+bmFtZSk7CiAKLQlkY3J0Yy0+ZHBtcyA9 IERSTV9NT0RFX0RQTVNfT047CiAJaWYgKCFvbGRfc3RhdGUtPmFjdGl2ZSkgewogCQkvKgogCQkg KiBUaGlzIG1vZGVzZXQgaXMgZW5hYmxpbmcgdGhlIENSVEMgYWZ0ZXIgaXQgaGF2aW5nCkBAIC02 NTAsMTQgKzU2Miw4IEBAIHN0YXRpYyB2b2lkIGFybWFkYV9kcm1fY3J0Y19hdG9taWNfZW5hYmxl KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0 Y19oZWxwZXJfZnVuY3MgYXJtYWRhX2NydGNfaGVscGVyX2Z1bmNzID0gewotCS5kcG1zCQk9IGFy bWFkYV9kcm1fY3J0Y19kcG1zLAotCS5wcmVwYXJlCT0gYXJtYWRhX2RybV9jcnRjX3ByZXBhcmUs Ci0JLmNvbW1pdAkJPSBhcm1hZGFfZHJtX2NydGNfY29tbWl0LAogCS5tb2RlX2ZpeHVwCT0gYXJt YWRhX2RybV9jcnRjX21vZGVfZml4dXAsCi0JLm1vZGVfc2V0CT0gZHJtX2hlbHBlcl9jcnRjX21v ZGVfc2V0LAogCS5tb2RlX3NldF9ub2ZiCT0gYXJtYWRhX2RybV9jcnRjX21vZGVfc2V0X25vZmIs Ci0JLm1vZGVfc2V0X2Jhc2UJPSBkcm1faGVscGVyX2NydGNfbW9kZV9zZXRfYmFzZSwKLQkuZGlz YWJsZQk9IGFybWFkYV9kcm1fY3J0Y19kaXNhYmxlLAogCS5hdG9taWNfYmVnaW4JPSBhcm1hZGFf ZHJtX2NydGNfYXRvbWljX2JlZ2luLAogCS5hdG9taWNfZmx1c2gJPSBhcm1hZGFfZHJtX2NydGNf YXRvbWljX2ZsdXNoLAogCS5hdG9taWNfZGlzYWJsZQk9IGFybWFkYV9kcm1fY3J0Y19hdG9taWNf ZGlzYWJsZSwKQEAgLTk2MiwxMyArODY4LDYgQEAgc3RhdGljIGludCBhcm1hZGFfZHJtX2NydGNf cGFnZV9mbGlwKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlXQVJOX09OKGFybWFkYV9kcm1fcGxh bmVfd29ya19xdWV1ZShkY3J0Yywgd29yaykpOwogCXdvcmsgPSBOVUxMOwogCi0JLyoKLQkgKiBG aW5hbGx5LCBpZiB0aGUgZGlzcGxheSBpcyBibGFua2VkLCB3ZSB3b24ndCByZWNlaXZlIGFuCi0J ICogaW50ZXJydXB0LCBzbyBjb21wbGV0ZSBpdCBub3cuCi0JICovCi0JaWYgKGRwbXNfYmxhbmtl ZChkY3J0Yy0+ZHBtcykpCi0JCWFybWFkYV9kcm1fcGxhbmVfd29ya19ydW4oZGNydGMsIHBsYW5l KTsKLQogcHV0X3ZibGFuazoKIAlkcm1fY3J0Y192YmxhbmtfcHV0KGNydGMpOwogcHV0X3dvcms6 CkBAIC0xMDA1LDcgKzkwNCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3Mg YXJtYWRhX2NydGNfZnVuY3MgPSB7CiAJLmN1cnNvcl9zZXQJPSBhcm1hZGFfZHJtX2NydGNfY3Vy c29yX3NldCwKIAkuY3Vyc29yX21vdmUJPSBhcm1hZGFfZHJtX2NydGNfY3Vyc29yX21vdmUsCiAJ LmRlc3Ryb3kJPSBhcm1hZGFfZHJtX2NydGNfZGVzdHJveSwKLQkuc2V0X2NvbmZpZwk9IGRybV9j cnRjX2hlbHBlcl9zZXRfY29uZmlnLAorCS5zZXRfY29uZmlnCT0gZHJtX2F0b21pY19oZWxwZXJf c2V0X2NvbmZpZywKIAkucGFnZV9mbGlwCT0gYXJtYWRhX2RybV9jcnRjX3BhZ2VfZmxpcCwKIAku YXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2NydGNfZHVwbGljYXRl X3N0YXRlLAogCS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2NydGNf ZGVzdHJveV9zdGF0ZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRh X2NydGMuaCBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2NydGMuaAppbmRleCA4YjFk ZTg3N2NiMDIuLmFmYzkyNjZiYzFlMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybWFk YS9hcm1hZGFfY3J0Yy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm1hZGEvYXJtYWRhX2NydGMu aApAQCAtODMsNyArODMsNiBAQCBzdHJ1Y3QgYXJtYWRhX2NydGMgewogCXVpbnQzMl90CQljdXJz b3JfdzsKIAl1aW50MzJfdAkJY3Vyc29yX2g7CiAKLQlpbnQJCQlkcG1zOwogCXVpbnQzMl90CQlj ZmdfZHVtYl9jdHJsOwogCXVpbnQzMl90CQlzcHVfaW9wYWRfY3RybDsKIAotLSAKMi43LjQKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBt YWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=