From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Zimmermann Subject: [PATCH 7/9] drm/ast: Add CRTC helpers for atomic modesetting Date: Mon, 28 Oct 2019 16:49:26 +0100 Message-ID: <20191028154928.4058-8-tzimmermann@suse.de> References: <20191028154928.4058-1-tzimmermann@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.suse.de (mx2.suse.de [195.135.220.15]) by gabe.freedesktop.org (Postfix) with ESMTPS id 72B606E958 for ; Mon, 28 Oct 2019 15:49:34 +0000 (UTC) In-Reply-To: <20191028154928.4058-1-tzimmermann@suse.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: airlied@redhat.com, daniel@ffwll.ch, kraxel@redhat.com, sam@ravnborg.org, chen@aspeedtech.com Cc: Thomas Zimmermann , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org QXMgdGhlIENSVEMgY29kZSBoYXMgYWxyZWFkeSBiZWVuIHByZXBhcmVkIGZvciBhIHNwbGl0IGJl dHdlZW4gbW9kZQpzZXR0aW5nIGFuZCBwbGFuZSBoYW5kbGluZywgbW9zdCBvZiB0aGUgQ1JUQydz IGF0b21pYyBtb2Rlc2V0dGluZyBpcwpidWlsZCB1cG9uIHByaW1pdGl2ZXMgb2YgdGhlIG5vbi1h dG9taWMgaW1wbGVtZW50YXRpb24uCgpTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgWmltbWVybWFubiA8 dHppbW1lcm1hbm5Ac3VzZS5kZT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYXN0L2FzdF9tb2RlLmMg fCAxMDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwg MTA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYXN0L2FzdF9tb2RlLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXN0L2FzdF9tb2RlLmMKaW5k ZXggZGJiZmM0ZDQ0Y2I1Li43NjY3ZjQ1MDJlYjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hc3QvYXN0X21vZGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYXN0L2FzdF9tb2RlLmMKQEAg LTcyOCw2ICs3MjgsMTAzIEBAIHN0YXRpYyB2b2lkIGFzdF9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJt X2NydGMgKmNydGMpCiAJYXN0X2NydGNfbG9hZF9sdXQoY3J0Yyk7CiB9CiAKK3N0YXRpYyBpbnQg YXN0X2NydGNfaGVscGVyX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCisJCQkJ CXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpCit7CisJc3RydWN0IGFzdF9wcml2YXRlICph c3QgPSBjcnRjLT5kZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBs YW5lX3N0YXRlOworCWJvb2wgc3VjYzsKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBhZGp1c3Rl ZF9tb2RlOworCXN0cnVjdCBhc3RfdmJpb3NfbW9kZV9pbmZvIHZiaW9zX21vZGU7CisKKwlpZiAo YXN0LT5jaGlwID09IEFTVDExODApIHsKKwkJRFJNX0VSUk9SKCJBU1QgMTE4MCBtb2Rlc2V0dGlu ZyBub3Qgc3VwcG9ydGVkXG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcGxhbmVfc3Rh dGUgPSBjcnRjLT5wcmltYXJ5LT5zdGF0ZTsKKworCWlmIChwbGFuZV9zdGF0ZSAmJiBwbGFuZV9z dGF0ZS0+ZmIpIHsKKwkJc3VjYyA9IGFzdF9nZXRfdmJpb3NfbW9kZV9pbmZvKHBsYW5lX3N0YXRl LT5mYiwgJnN0YXRlLT5tb2RlLAorCQkJCQkgICAgICAgJmFkanVzdGVkX21vZGUsICZ2Ymlvc19t b2RlKTsKKwkJaWYgKCFzdWNjKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmV0dXJuIDA7 Cit9CisKK3N0YXRpYyB2b2lkIGFzdF9jcnRjX2hlbHBlcl9hdG9taWNfYmVnaW4oc3RydWN0IGRy bV9jcnRjICpjcnRjLAorCQkJCQkgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0 ZSkKK3sKKwlzdHJ1Y3QgYXN0X3ByaXZhdGUgKmFzdCA9IGNydGMtPmRldi0+ZGV2X3ByaXZhdGU7 CisKKwlhc3Rfb3Blbl9rZXkoYXN0KTsKK30KKworc3RhdGljIHZvaWQgYXN0X2NydGNfaGVscGVy X2F0b21pY19mbHVzaChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCisJCQkJCSBzdHJ1Y3QgZHJtX2Ny dGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQoreworCWNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZm ZXIgKmZiID0gY3J0Yy0+cHJpbWFyeS0+c3RhdGUtPmZiOworCXN0cnVjdCBkcm1fZGlzcGxheV9t b2RlIGFkanVzdGVkX21vZGU7CisJc3RydWN0IGFzdF92Ymlvc19tb2RlX2luZm8gdmJpb3NfbW9k ZTsKKwlib29sIHN1Y2M7CisKKwljcnRjLT5zdGF0ZS0+bm9fdmJsYW5rID0gdHJ1ZTsKKworCWlm ICghZmIpCisJCXJldHVybjsKKworCWFzdF9zZXRfY29sb3JfcmVnKGNydGMsIGZiKTsKKworCW1l bXNldCgmYWRqdXN0ZWRfbW9kZSwgMCwgc2l6ZW9mKGFkanVzdGVkX21vZGUpKTsKKwlkcm1fbW9k ZV9jb3B5KCZhZGp1c3RlZF9tb2RlLCAmY3J0Yy0+c3RhdGUtPmFkanVzdGVkX21vZGUpOworCisJ c3VjYyA9IGFzdF9nZXRfdmJpb3NfbW9kZV9pbmZvKGZiLCAmY3J0Yy0+c3RhdGUtPmFkanVzdGVk X21vZGUsCisJCQkJICAgICAgICZhZGp1c3RlZF9tb2RlLCAmdmJpb3NfbW9kZSk7CisJaWYgKFdB Uk5fT05fT05DRSghc3VjYykpCisJCXJldHVybjsKKworCWFzdF9zZXRfdmJpb3NfY29sb3JfcmVn KGNydGMsIGZiLCAmdmJpb3NfbW9kZSk7Cit9CisKK3N0YXRpYyB2b2lkCithc3RfY3J0Y19oZWxw ZXJfYXRvbWljX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCisJCQkgICAgICBzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBjcnRjLT5kZXY7CisJc3RydWN0IGFzdF9wcml2YXRlICphc3QgPSBjcnRjLT5kZXYtPmRl dl9wcml2YXRlOworCWNvbnN0IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gY3J0Yy0+cHJp bWFyeS0+c3RhdGUtPmZiOworCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGFkanVzdGVkX21vZGU7 CisJc3RydWN0IGFzdF92Ymlvc19tb2RlX2luZm8gdmJpb3NfbW9kZTsKKwlib29sIHN1Y2M7CisK KwltZW1zZXQoJmFkanVzdGVkX21vZGUsIDAsIHNpemVvZihhZGp1c3RlZF9tb2RlKSk7CisJZHJt X21vZGVfY29weSgmYWRqdXN0ZWRfbW9kZSwgJmNydGMtPnN0YXRlLT5hZGp1c3RlZF9tb2RlKTsK KworCXN1Y2MgPSBhc3RfZ2V0X3ZiaW9zX21vZGVfaW5mbyhmYiwgJmNydGMtPnN0YXRlLT5hZGp1 c3RlZF9tb2RlLAorCQkJCSAgICAgICAmYWRqdXN0ZWRfbW9kZSwgJnZiaW9zX21vZGUpOworCWlm IChXQVJOX09OX09OQ0UoIXN1Y2MpKQorCQlyZXR1cm47CisKKwlhc3Rfc2V0X3ZiaW9zX21vZGVf cmVnKGNydGMsICZhZGp1c3RlZF9tb2RlLCAmdmJpb3NfbW9kZSk7CisJYXN0X3NldF9pbmRleF9y ZWcoYXN0LCBBU1RfSU9fQ1JUQ19QT1JULCAweGExLCAweDA2KTsKKwlhc3Rfc2V0X3N0ZF9yZWco Y3J0YywgJmFkanVzdGVkX21vZGUsICZ2Ymlvc19tb2RlKTsKKwlhc3Rfc2V0X2NydGNfcmVnKGNy dGMsICZhZGp1c3RlZF9tb2RlLCAmdmJpb3NfbW9kZSk7CisJYXN0X3NldF9kY2xrX3JlZyhkZXYs ICZhZGp1c3RlZF9tb2RlLCAmdmJpb3NfbW9kZSk7CisJYXN0X3NldF9jcnR0aGRfcmVnKGNydGMp OworCWFzdF9zZXRfc3luY19yZWcoZGV2LCAmYWRqdXN0ZWRfbW9kZSwgJnZiaW9zX21vZGUpOwor CWFzdF9zZXRfZGFjX3JlZyhjcnRjLCAmYWRqdXN0ZWRfbW9kZSwgJnZiaW9zX21vZGUpOworCisJ YXN0X2NydGNfZHBtcyhjcnRjLCBEUk1fTU9ERV9EUE1TX09OKTsKK30KKworc3RhdGljIHZvaWQK K2FzdF9jcnRjX2hlbHBlcl9hdG9taWNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCisJ CQkgICAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSkKK3sKKwlhc3Rf Y3J0Y19kcG1zKGNydGMsIERSTV9NT0RFX0RQTVNfT0ZGKTsKK30KIAogc3RhdGljIGNvbnN0IHN0 cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3MgYXN0X2NydGNfaGVscGVyX2Z1bmNzID0gewogCS5k cG1zID0gYXN0X2NydGNfZHBtcywKQEAgLTczNiw3ICs4MzMsMTEgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBkcm1fY3J0Y19oZWxwZXJfZnVuY3MgYXN0X2NydGNfaGVscGVyX2Z1bmNzID0gewogCS5k aXNhYmxlID0gYXN0X2NydGNfZGlzYWJsZSwKIAkucHJlcGFyZSA9IGFzdF9jcnRjX3ByZXBhcmUs CiAJLmNvbW1pdCA9IGFzdF9jcnRjX2NvbW1pdCwKLQorCS5hdG9taWNfY2hlY2sgPSBhc3RfY3J0 Y19oZWxwZXJfYXRvbWljX2NoZWNrLAorCS5hdG9taWNfYmVnaW4gPSBhc3RfY3J0Y19oZWxwZXJf YXRvbWljX2JlZ2luLAorCS5hdG9taWNfZmx1c2ggPSBhc3RfY3J0Y19oZWxwZXJfYXRvbWljX2Zs dXNoLAorCS5hdG9taWNfZW5hYmxlID0gYXN0X2NydGNfaGVscGVyX2F0b21pY19lbmFibGUsCisJ LmF0b21pY19kaXNhYmxlID0gYXN0X2NydGNfaGVscGVyX2F0b21pY19kaXNhYmxlLAogfTsKIAog c3RhdGljIHZvaWQgYXN0X2NydGNfcmVzZXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQpAQCAtNzY3 LDYgKzg2OCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3MgYXN0X2NydGNf ZnVuY3MgPSB7CiAJLnNldF9jb25maWcgPSBkcm1fY3J0Y19oZWxwZXJfc2V0X2NvbmZpZywKIAku Z2FtbWFfc2V0ID0gYXN0X2NydGNfZ2FtbWFfc2V0LAogCS5kZXN0cm95ID0gYXN0X2NydGNfZGVz dHJveSwKKwkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2NydGNf ZHVwbGljYXRlX3N0YXRlLAorCS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9IGRybV9hdG9taWNfaGVs cGVyX2NydGNfZGVzdHJveV9zdGF0ZSwKIH07CiAKIHN0YXRpYyBpbnQgYXN0X2NydGNfaW5pdChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQotLSAKMi4yMy4wCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9kcmktZGV2ZWw=