From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Zimmermann Subject: [PATCH v2 09/15] drm/fbconv: Mode-setting pipeline enable / disable Date: Mon, 14 Oct 2019 16:04:10 +0200 Message-ID: <20191014140416.28517-10-tzimmermann@suse.de> References: <20191014140416.28517-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 E67166E2DE for ; Mon, 14 Oct 2019 14:04:24 +0000 (UTC) In-Reply-To: <20191014140416.28517-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@linux.ie, daniel@ffwll.ch, maarten.lankhorst@linux.intel.com, mripard@kernel.org, sean@poorly.run, b.zolnierkie@samsung.com, ajax@redhat.com, ville.syrjala@linux.intel.com, malat@debian.org, michel@daenzer.net Cc: gregkh@linuxfoundation.org, linux-fbdev@vger.kernel.org, Thomas Zimmermann , dri-devel@lists.freedesktop.org, corbet@lwn.net List-Id: dri-devel@lists.freedesktop.org VGhlIGRpc3BsYXkgbW9kZSBpcyBzZXQgYnkgY29udmVydGluZyB0aGUgRFJNIGRpc3BsYXkgbW9k ZSB0byBhbgpmYl9pbmZvIHN0YXRlIGFuZCBoYW5kbGluZyBpdCB0byB0aGUgZmJkZXYgZHJpdmVy J3MgZmJfc2V0dmFyKCkKZnVuY3Rpb24uIFRoaXMgYWxzbyByZXF1aXJlcyBhIGNvbG9yIGRlcHRo LCB3aGljaCB3ZSB0YWtlIGZyb20gdGhlCnZhbHVlIG9mIHN0cnVjdCBkcm1fbW9kZV9jb25maWcu cHJlZmVycmVkX2RlcHRoCgpTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgWmltbWVybWFubiA8dHppbW1l cm1hbm5Ac3VzZS5kZT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZiY29udl9oZWxwZXIuYyB8 IDExMyArKysrKysrKysrKysrKysrKysrKysrKysrKystCiBpbmNsdWRlL2RybS9kcm1fZmJjb252 X2hlbHBlci5oICAgICB8ICAgMiArCiAyIGZpbGVzIGNoYW5nZWQsIDExMyBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJjb252 X2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mYmNvbnZfaGVscGVyLmMKaW5kZXggY2Yy MTgwMTZhYzA1Li5jYThiNDNjOTEyNjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f ZmJjb252X2hlbHBlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJjb252X2hlbHBlci5j CkBAIC05MTksNiArOTE5LDI0IEBAIHN0YXRpYyBpbnQgZHJtX2ZiY29udl91cGRhdGVfZmJfdmFy X3NjcmVlbmluZm9fZnJvbV9mcmFtZWJ1ZmZlcigKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGlu dCBkcm1fZmJjb252X3VwZGF0ZV9mYl92YXJfc2NyZWVuaW5mb19mcm9tX3NpbXBsZV9kaXNwbGF5 X3BpcGUoCisJc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICpmYl92YXIsIHN0cnVjdCBkcm1fc2lt cGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSkKK3sKKwlzdHJ1Y3QgZHJtX3BsYW5lICpwcmltYXJ5ID0g cGlwZS0+Y3J0Yy5wcmltYXJ5OworCXN0cnVjdCBkcm1fZmJjb252X21vZGVzZXQgKm1vZGVzZXQg PSBkcm1fZmJjb252X21vZGVzZXRfb2ZfcGlwZShwaXBlKTsKKworCWlmIChwcmltYXJ5ICYmIHBy aW1hcnktPnN0YXRlICYmIHByaW1hcnktPnN0YXRlLT5mYikKKwkJcmV0dXJuIGRybV9mYmNvbnZf dXBkYXRlX2ZiX3Zhcl9zY3JlZW5pbmZvX2Zyb21fZnJhbWVidWZmZXIoCisJCQlmYl92YXIsIHBy aW1hcnktPnN0YXRlLT5mYiwKKwkJCW1vZGVzZXQtPmZiX2luZm8tPmZpeC5zbWVtX2xlbik7CisK KwlmYl92YXItPnhyZXNfdmlydHVhbCA9IGZiX3Zhci0+eHJlczsKKwlmYl92YXItPnlyZXNfdmly dHVhbCA9IGZiX3Zhci0+eXJlczsKKwlmYl92YXItPmJpdHNfcGVyX3BpeGVsID0gbW9kZXNldC0+ ZGV2LT5tb2RlX2NvbmZpZy5wcmVmZXJyZWRfZGVwdGg7CisKKwlyZXR1cm4gMDsKK30KKwogLyoq CiAgKiBkcm1fZmJjb252X3NpbXBsZV9kaXNwbGF5X3BpcGVfbW9kZV92YWxpZCAtIGRlZmF1bHQg aW1wbGVtZW50YXRpb24gZm9yCiAgKglzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGVfZnVu Y3MubW9kZV92YWxpZApAQCAtOTUwLDYgKzk2OCwyOCBAQCBib29sIGRybV9mYmNvbnZfc2ltcGxl X2Rpc3BsYXlfcGlwZV9tb2RlX2ZpeHVwKAogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YywgY29uc3Qg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUg KmFkanVzdGVkX21vZGUpCiB7CisJc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBl ID0KKwkJY29udGFpbmVyX29mKGNydGMsIHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSwg Y3J0Yyk7CisJc3RydWN0IGRybV9mYmNvbnZfbW9kZXNldCAqbW9kZXNldCA9IGRybV9mYmNvbnZf bW9kZXNldF9vZl9waXBlKHBpcGUpOworCXN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyBmYl92YXI7 CisJaW50IHJldDsKKworCWlmICghbW9kZXNldC0+ZmJfaW5mby0+ZmJvcHMtPmZiX2NoZWNrX3Zh cikKKwkJcmV0dXJuIHRydWU7CisKKwlkcm1fZmJjb252X2luaXRfZmJfdmFyX3NjcmVlbmluZm9f ZnJvbV9tb2RlKCZmYl92YXIsIG1vZGUpOworCisJcmV0ID0gZHJtX2ZiY29udl91cGRhdGVfZmJf dmFyX3NjcmVlbmluZm9fZnJvbV9zaW1wbGVfZGlzcGxheV9waXBlKAorCQkmZmJfdmFyLCAmbW9k ZXNldC0+cGlwZSk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHRydWU7CisKKwlyZXQgPSBtb2Rlc2V0 LT5mYl9pbmZvLT5mYm9wcy0+ZmJfY2hlY2tfdmFyKCZmYl92YXIsIG1vZGVzZXQtPmZiX2luZm8p OworCWlmIChyZXQgPCAwKQorCQlyZXR1cm4gZmFsc2U7CisKKwlkcm1fbW9kZV91cGRhdGVfZnJv bV9mYl92YXJfc2NyZWVuaW5mbyhhZGp1c3RlZF9tb2RlLCAmZmJfdmFyKTsKKwogCXJldHVybiB0 cnVlOwogfQogRVhQT1JUX1NZTUJPTChkcm1fZmJjb252X3NpbXBsZV9kaXNwbGF5X3BpcGVfbW9k ZV9maXh1cCk7CkBAIC0xMDAwLDYgKzEwNDAsMzIgQEAgaW50IGRybV9mYmNvbnZfYmxpdF9yZWN0 KHZvaWQgKmRzdCwgdm9pZCAqdmFkZHIsIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAogfQog RVhQT1JUX1NZTUJPTChkcm1fZmJjb252X2JsaXRfcmVjdCk7CiAKKy8qKgorICogZHJtX2ZiY29u dl9ibGl0X2Z1bGxzY3JlZW4gLSBjb3B5IGFsbCBwaXhlbCBkYXRhIGZyb20gYSBmcmFtZWJ1ZmZl cgorICoJdG8gdGhlIGhhcmR3YXJlIGJ1ZmZlcgorICogQGRzdDoJdGhlIG9uLXNjcmVlbiBoYXJk d2FyZSBidWZmZXIKKyAqIEB2YWRkcjoJdGhlIHNvdXJjZSBidWZmZXIgaW4ga2VybmVsIGFkZHJl c3Mgc3BhY2UKKyAqIEBmYjoJCXRoZSBmcmFtZWJ1ZmZlciBvZiB0aGUgc291cmNlIGJ1ZmZlcgor ICogUmV0dXJuczoKKyAqCTAgb24gc3VjY2Vzcywgb3IKKyAqCWEgbmVnYXRpdmUgZXJyb3IgY29k ZSBvdGhlcndpc2UuCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyBlcXVpdmFsZW50IHRvIGRybV9m YmNvbnZfYmxpdF9yZWN0KCksIGJ1dCBjb3BpZXMgdGhlCisgKiBmcmFtZWJ1ZmZlcidzIGNvbXBs ZXRlIGNvbnRlbnQuCisgKi8KK2ludCBkcm1fZmJjb252X2JsaXRfZnVsbHNjcmVlbih2b2lkICpk c3QsIHZvaWQgKnZhZGRyLAorCQkJICAgICAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKQor eworCXN0cnVjdCBkcm1fcmVjdCBmdWxsc2NyZWVuID0geworCQkueDEgPSAwLAorCQkueDIgPSBm Yi0+d2lkdGgsCisJCS55MSA9IDAsCisJCS55MiA9IGZiLT5oZWlnaHQsCisJfTsKKwlyZXR1cm4g ZHJtX2ZiY29udl9ibGl0X3JlY3QoZHN0LCB2YWRkciwgZmIsICZmdWxsc2NyZWVuKTsKK30KK0VY UE9SVF9TWU1CT0woZHJtX2ZiY29udl9ibGl0X2Z1bGxzY3JlZW4pOworCiAvKioKICAqIGRybV9m YmNvbnZfc2ltcGxlX2Rpc3BsYXlfcGlwZV9lbmFibGUgLSBkZWZhdWx0IGltcGxlbWVudGF0aW9u IGZvcgogICoJc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlX2Z1bmNzLmVuYWJsZQpAQCAt MTAxMSw3ICsxMDc3LDQ2IEBAIHZvaWQKIGRybV9mYmNvbnZfc2ltcGxlX2Rpc3BsYXlfcGlwZV9l bmFibGUoc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBlLAogCQkJCSAgICAgIHN0 cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkgICAgICBzdHJ1Y3QgZHJtX3Bs YW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKLXsgfQoreworCXN0cnVjdCBkcm1fZmJjb252X21vZGVz ZXQgKm1vZGVzZXQ7CisJc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvIGZiX3ZhcjsKKwlpbnQgcmV0 OworCisJLyogQXMgdGhpcyBpcyBhdG9taWMgbW9kZSBzZXR0aW5nLCBhbnkgZnVuY3Rpb24gY2Fs bCBpcyBub3QKKwkgKiBhbGxvd2VkIHRvIGZhaWwuIElmIGl0IGRvZXMsIGFuIGFkZGl0aW9uYWwg dGVzdCBzaG91bGQgYmUKKwkgKiBhZGRlZCB0byBzaW1wbGVfZGlzcGxheV9waXBlX2NoZWNrKCku CisJICovCisKKwltb2Rlc2V0ID0gZHJtX2ZiY29udl9tb2Rlc2V0X29mX3BpcGUocGlwZSk7CisK Kwlkcm1fZmJjb252X2luaXRfZmJfdmFyX3NjcmVlbmluZm9fZnJvbV9tb2RlKAorCQkmZmJfdmFy LCAmY3J0Y19zdGF0ZS0+YWRqdXN0ZWRfbW9kZSk7CisKKwlpZiAocGxhbmVfc3RhdGUgJiYgcGxh bmVfc3RhdGUtPmZiKSB7CisJCXJldCA9IGRybV9mYmNvbnZfdXBkYXRlX2ZiX3Zhcl9zY3JlZW5p bmZvX2Zyb21fZnJhbWVidWZmZXIoCisJCQkmZmJfdmFyLCBwbGFuZV9zdGF0ZS0+ZmIsCisJCQlt b2Rlc2V0LT5mYl9pbmZvLT5maXguc21lbV9sZW4pOworCQlpZiAocmV0KQorCQkJcmV0dXJuOwor CX0gZWxzZSB7CisJCWZiX3Zhci54cmVzX3ZpcnR1YWwgPSBmYl92YXIueHJlczsKKwkJZmJfdmFy LnlyZXNfdmlydHVhbCA9IGZiX3Zhci55cmVzOworCX0KKworCWZiX3Zhci5hY3RpdmF0ZSA9IEZC X0FDVElWQVRFX05PVzsKKworCXJldCA9IGZiX3NldF92YXIobW9kZXNldC0+ZmJfaW5mbywgJmZi X3Zhcik7CisJaWYgKHJldCkgeworCQlEUk1fRVJST1IoImZiY29udjogZmJfc2V0X3ZhcigpIGZh aWxlZDogJWRcbiIsIHJldCk7CisJCXJldHVybjsKKwl9CisKKwlmYl9ibGFuayhtb2Rlc2V0LT5m Yl9pbmZvLCBGQl9CTEFOS19VTkJMQU5LKTsKKworCWRybV9mYmNvbnZfYmxpdF9mdWxsc2NyZWVu KG1vZGVzZXQtPmJsaXQuc2NyZWVuX2Jhc2UsCisJCQkJICAgbW9kZXNldC0+YmxpdC52bWFwLAor CQkJCSAgIHBsYW5lX3N0YXRlLT5mYik7Cit9CiBFWFBPUlRfU1lNQk9MKGRybV9mYmNvbnZfc2lt cGxlX2Rpc3BsYXlfcGlwZV9lbmFibGUpOwogCiAvKioKQEAgLTEwMjEsNyArMTEyNiwxMSBAQCBF WFBPUlRfU1lNQk9MKGRybV9mYmNvbnZfc2ltcGxlX2Rpc3BsYXlfcGlwZV9lbmFibGUpOwogICov CiB2b2lkCiBkcm1fZmJjb252X3NpbXBsZV9kaXNwbGF5X3BpcGVfZGlzYWJsZShzdHJ1Y3QgZHJt X3NpbXBsZV9kaXNwbGF5X3BpcGUgKnBpcGUpCi17IH0KK3sKKwlzdHJ1Y3QgZHJtX2ZiY29udl9t b2Rlc2V0ICptb2Rlc2V0ID0gZHJtX2ZiY29udl9tb2Rlc2V0X29mX3BpcGUocGlwZSk7CisKKwlm Yl9ibGFuayhtb2Rlc2V0LT5mYl9pbmZvLCBGQl9CTEFOS19QT1dFUkRPV04pOworfQogRVhQT1JU X1NZTUJPTChkcm1fZmJjb252X3NpbXBsZV9kaXNwbGF5X3BpcGVfZGlzYWJsZSk7CiAKIC8qKgpk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2ZiY29udl9oZWxwZXIuaCBiL2luY2x1ZGUvZHJt L2RybV9mYmNvbnZfaGVscGVyLmgKaW5kZXggM2U2MmI1ZTgwYWY2Li5jN2QyMTFmNDA0NjIgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9mYmNvbnZfaGVscGVyLmgKKysrIGIvaW5jbHVkZS9k cm0vZHJtX2ZiY29udl9oZWxwZXIuaApAQCAtOTQsNiArOTQsOCBAQCBkcm1fZmJjb252X3NpbXBs ZV9kaXNwbGF5X3BpcGVfY2xlYW51cF9mYihzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUg KnBpcGUsCiAKIGludCBkcm1fZmJjb252X2JsaXRfcmVjdCh2b2lkICpkc3QsIHZvaWQgKnZhZGRy LCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKIAkJCSBzdHJ1Y3QgZHJtX3JlY3QgKnJlY3Qp OworaW50IGRybV9mYmNvbnZfYmxpdF9mdWxsc2NyZWVuKHZvaWQgKmRzdCwgdm9pZCAqdmFkZHIs CisJCQkgICAgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpOwogCiAvKgogICogTW9kZXNl dCBoZWxwZXJzCi0tIAoyLjIzLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbA==