From: Eric Anholt Subject: [PATCH v2 5/7] drm/ltdc: Use the panel-bridge helper. Date: Thu, 11 May 2017 11:31:26 -0700 Message-ID: <20170511183128.25085-5-eric@anholt.net> References: <20170511183128.25085-1-eric@anholt.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from anholt.net (anholt.net [50.246.234.109]) by gabe.freedesktop.org (Postfix) with ESMTP id 8908A6E599 for ; Thu, 11 May 2017 18:31:40 +0000 (UTC) In-Reply-To: <20170511183128.25085-1-eric@anholt.net> 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, Boris Brezillon , Archit Taneja , Andrzej Hajda , Laurent Pinchart , CK Hu , Philipp Zabel , Yannick Fertre , Philippe Cornu Cc: linux-kernel@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org QW5vdGhlciAxMDAgbGluZXMgb2YgYm9pbGVycGxhdGUgZ29uZS4gIEJyaWRnZXMgYXJlbid0IHN1 cHBvcnRlZCB5ZXQsCmJ1dCB3aWxsIGJlIHRyaXZpYWwgdG8gYWRkIGxhdGVyLgoKU2lnbmVkLW9m Zi1ieTogRXJpYyBBbmhvbHQgPGVyaWNAYW5ob2x0Lm5ldD4KLS0tCgpBbHNvIHVudGVzdGVkLgoK IGRyaXZlcnMvZ3B1L2RybS9zdG0vbHRkYy5jIHwgMTI4ICsrKysrLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL3N0bS9sdGRjLmggfCAgIDIg Ky0KIDIgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMTE3IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdG0vbHRkYy5jIGIvZHJpdmVycy9ncHUvZHJt L3N0bS9sdGRjLmMKaW5kZXggYTQwNDE4Y2RhNzRhLi40MWExYzVkNjhmNWIgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9zdG0vbHRkYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdG0vbHRk Yy5jCkBAIC0yNjksMTEgKzI2OSw2IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IGx0ZGNfZGV2aWNl ICplbmNvZGVyX3RvX2x0ZGMoc3RydWN0IGRybV9lbmNvZGVyICplbmMpCiAJcmV0dXJuIChzdHJ1 Y3QgbHRkY19kZXZpY2UgKillbmMtPmRldi0+ZGV2X3ByaXZhdGU7CiB9CiAKLXN0YXRpYyBpbmxp bmUgc3RydWN0IGx0ZGNfZGV2aWNlICpjb25uZWN0b3JfdG9fbHRkYyhzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29uKQotewotCXJldHVybiAoc3RydWN0IGx0ZGNfZGV2aWNlICopY29uLT5kZXYtPmRl dl9wcml2YXRlOwotfQotCiBzdGF0aWMgaW5saW5lIGVudW0gbHRkY19waXhfZm10IHRvX2x0ZGNf cGl4ZWxmb3JtYXQodTMyIGRybV9mbXQpCiB7CiAJZW51bSBsdGRjX3BpeF9mbXQgcGY7CkBAIC04 MTUsMjIgKzgxMCwxMiBAQCBzdGF0aWMgaW50IGx0ZGNfY3J0Y19pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZGV2LCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAKIHN0YXRpYyB2b2lkIGx0ZGNfcmdi X2VuY29kZXJfZW5hYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIHsKLQlzdHJ1Y3Qg bHRkY19kZXZpY2UgKmxkZXYgPSBlbmNvZGVyX3RvX2x0ZGMoZW5jb2Rlcik7Ci0KIAlEUk1fREVC VUdfRFJJVkVSKCJcbiIpOwotCi0JZHJtX3BhbmVsX3ByZXBhcmUobGRldi0+cGFuZWwpOwotCWRy bV9wYW5lbF9lbmFibGUobGRldi0+cGFuZWwpOwogfQogCiBzdGF0aWMgdm9pZCBsdGRjX3JnYl9l bmNvZGVyX2Rpc2FibGUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogewotCXN0cnVjdCBs dGRjX2RldmljZSAqbGRldiA9IGVuY29kZXJfdG9fbHRkYyhlbmNvZGVyKTsKLQogCURSTV9ERUJV R19EUklWRVIoIlxuIik7Ci0KLQlkcm1fcGFuZWxfZGlzYWJsZShsZGV2LT5wYW5lbCk7Ci0JZHJt X3BhbmVsX3VucHJlcGFyZShsZGV2LT5wYW5lbCk7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZHJtX2VuY29kZXJfaGVscGVyX2Z1bmNzIGx0ZGNfcmdiX2VuY29kZXJfaGVscGVyX2Z1bmNzID0g ewpAQCAtODYzLDgyICs4NDgsNiBAQCBzdGF0aWMgc3RydWN0IGRybV9lbmNvZGVyICpsdGRjX3Jn Yl9lbmNvZGVyX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGRldikKIAlyZXR1cm4gZW5jb2Rl cjsKIH0KIAotLyoKLSAqIERSTV9DT05ORUNUT1IKLSAqLwotCi1zdGF0aWMgaW50IGx0ZGNfcmdi X2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKLXsK LQlzdHJ1Y3QgZHJtX2RldmljZSAqZGRldiA9IGNvbm5lY3Rvci0+ZGV2OwotCXN0cnVjdCBsdGRj X2RldmljZSAqbGRldiA9IGRkZXYtPmRldl9wcml2YXRlOwotCWludCByZXQgPSAwOwotCi0JRFJN X0RFQlVHX0RSSVZFUigiXG4iKTsKLQotCWlmIChsZGV2LT5wYW5lbCkKLQkJcmV0ID0gZHJtX3Bh bmVsX2dldF9tb2RlcyhsZGV2LT5wYW5lbCk7Ci0KLQlyZXR1cm4gcmV0IDwgMCA/IDAgOiByZXQ7 Ci19Ci0KLXN0YXRpYyBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MgbHRkY19yZ2Jf Y29ubmVjdG9yX2hlbHBlcl9mdW5jcyA9IHsKLQkuZ2V0X21vZGVzID0gbHRkY19yZ2JfY29ubmVj dG9yX2dldF9tb2RlcywKLX07Ci0KLXN0YXRpYyBlbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzCi1s dGRjX3JnYl9jb25uZWN0b3JfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3Is IGJvb2wgZm9yY2UpCi17Ci0Jc3RydWN0IGx0ZGNfZGV2aWNlICpsZGV2ID0gY29ubmVjdG9yX3Rv X2x0ZGMoY29ubmVjdG9yKTsKLQotCXJldHVybiBsZGV2LT5wYW5lbCA/IGNvbm5lY3Rvcl9zdGF0 dXNfY29ubmVjdGVkIDoKLQkgICAgICAgY29ubmVjdG9yX3N0YXR1c19kaXNjb25uZWN0ZWQ7Ci19 Ci0KLXN0YXRpYyB2b2lkIGx0ZGNfcmdiX2Nvbm5lY3Rvcl9kZXN0cm95KHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IpCi17Ci0JRFJNX0RFQlVHX0RSSVZFUigiXG4iKTsKLQotCWRybV9j b25uZWN0b3JfdW5yZWdpc3Rlcihjb25uZWN0b3IpOwotCWRybV9jb25uZWN0b3JfY2xlYW51cChj b25uZWN0b3IpOwotfQotCi1zdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3JfZnVuY3Mg bHRkY19yZ2JfY29ubmVjdG9yX2Z1bmNzID0gewotCS5kcG1zID0gZHJtX2F0b21pY19oZWxwZXJf Y29ubmVjdG9yX2RwbXMsCi0JLmZpbGxfbW9kZXMgPSBkcm1faGVscGVyX3Byb2JlX3NpbmdsZV9j b25uZWN0b3JfbW9kZXMsCi0JLmRldGVjdCA9IGx0ZGNfcmdiX2Nvbm5lY3Rvcl9kZXRlY3QsCi0J LmRlc3Ryb3kgPSBsdGRjX3JnYl9jb25uZWN0b3JfZGVzdHJveSwKLQkucmVzZXQgPSBkcm1fYXRv bWljX2hlbHBlcl9jb25uZWN0b3JfcmVzZXQsCi0JLmF0b21pY19kdXBsaWNhdGVfc3RhdGUgPSBk cm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRlLAotCS5hdG9taWNfZGVz dHJveV9zdGF0ZSA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kZXN0cm95X3N0YXRlLAot fTsKLQotc3RydWN0IGRybV9jb25uZWN0b3IgKmx0ZGNfcmdiX2Nvbm5lY3Rvcl9jcmVhdGUoc3Ry dWN0IGRybV9kZXZpY2UgKmRkZXYpCi17Ci0Jc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv cjsKLQlpbnQgZXJyOwotCi0JY29ubmVjdG9yID0gZGV2bV9remFsbG9jKGRkZXYtPmRldiwgc2l6 ZW9mKCpjb25uZWN0b3IpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIWNvbm5lY3RvcikgewotCQlEUk1f RVJST1IoIkZhaWxlZCB0byBhbGxvY2F0ZSBjb25uZWN0b3JcbiIpOwotCQlyZXR1cm4gTlVMTDsK LQl9Ci0KLQljb25uZWN0b3ItPnBvbGxlZCA9IERSTV9DT05ORUNUT1JfUE9MTF9IUEQ7Ci0KLQll cnIgPSBkcm1fY29ubmVjdG9yX2luaXQoZGRldiwgY29ubmVjdG9yLCAmbHRkY19yZ2JfY29ubmVj dG9yX2Z1bmNzLAotCQkJCSBEUk1fTU9ERV9DT05ORUNUT1JfRFBJKTsKLQlpZiAoZXJyKSB7Ci0J CURSTV9FUlJPUigiRmFpbGVkIHRvIGluaXRpYWxpemUgY29ubmVjdG9yXG4iKTsKLQkJcmV0dXJu IE5VTEw7Ci0JfQotCi0JZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfYWRkKGNvbm5lY3RvciwgJmx0ZGNf cmdiX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MpOwotCi0JRFJNX0RFQlVHX0RSSVZFUigiUkdCIGNv bm5lY3RvcjolZCBjcmVhdGVkXG4iLCBjb25uZWN0b3ItPmJhc2UuaWQpOwotCi0JcmV0dXJuIGNv bm5lY3RvcjsKLX0KLQogc3RhdGljIGludCBsdGRjX2dldF9jYXBzKHN0cnVjdCBkcm1fZGV2aWNl ICpkZGV2KQogewogCXN0cnVjdCBsdGRjX2RldmljZSAqbGRldiA9IGRkZXYtPmRldl9wcml2YXRl OwpAQCAtOTcyLDcgKzg4MSw3IEBAIHN0YXRpYyBpbnQgbHRkY19nZXRfY2FwcyhzdHJ1Y3QgZHJt X2RldmljZSAqZGRldikKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIHN0cnVjdCBkcm1fcGFuZWwg Kmx0ZGNfZ2V0X3BhbmVsKHN0cnVjdCBkcm1fZGV2aWNlICpkZGV2KQorc3RhdGljIHN0cnVjdCBk cm1fYnJpZGdlICpsdGRjX2dldF9icmlkZ2Uoc3RydWN0IGRybV9kZXZpY2UgKmRkZXYpCiB7CiAJ c3RydWN0IGRldmljZSAqZGV2ID0gZGRldi0+ZGV2OwogCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAg PSBkZXYtPm9mX25vZGU7CkBAIC0xMDA0LDcgKzkxMywxMCBAQCBzdGF0aWMgc3RydWN0IGRybV9w YW5lbCAqbHRkY19nZXRfcGFuZWwoc3RydWN0IGRybV9kZXZpY2UgKmRkZXYpCiAJCX0KIAl9CiAK LQlyZXR1cm4gcGFuZWw7CisJaWYgKCFwYW5lbCkKKwkJcmV0dXJuIEVSUl9QVFIoLUVOT0RFVik7 CisKKwlyZXR1cm4gZHJtX3BhbmVsX2JyaWRnZV9hZGQocGFuZWwsIERSTV9NT0RFX0NPTk5FQ1RP Ul9EUEkpOwogfQogCiBpbnQgbHRkY19sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZGV2KQpAQCAt MTAxNCw3ICs5MjYsNiBAQCBpbnQgbHRkY19sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZGV2KQog CXN0cnVjdCBkZXZpY2UgKmRldiA9IGRkZXYtPmRldjsKIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5w ID0gZGV2LT5vZl9ub2RlOwogCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKLQlzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gTlVMTDsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7 CiAJc3RydWN0IHJlc2V0X2NvbnRyb2wgKnJzdGM7CiAJc3RydWN0IHJlc291cmNlIHJlczsKQEAg LTEwMjIsOCArOTMzLDggQEAgaW50IGx0ZGNfbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGRldikK IAogCURSTV9ERUJVR19EUklWRVIoIlxuIik7CiAKLQlsZGV2LT5wYW5lbCA9IGx0ZGNfZ2V0X3Bh bmVsKGRkZXYpOwotCWlmICghbGRldi0+cGFuZWwpCisJbGRldi0+YnJpZGdlID0gbHRkY19nZXRf YnJpZGdlKGRkZXYpOworCWlmICghbGRldi0+YnJpZGdlKQogCQlyZXR1cm4gLUVQUk9CRV9ERUZF UjsKIAogCXJzdGMgPSBvZl9yZXNldF9jb250cm9sX2dldChucCwgTlVMTCk7CkBAIC0xMDgyLDI4 ICs5OTMsMTMgQEAgaW50IGx0ZGNfbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGRldikKIAogCURS TV9JTkZPKCJsdGRjIGh3IHZlcnNpb24gMHglMDh4IC0gcmVhZHlcbiIsIGxkZXYtPmNhcHMuaHdf dmVyc2lvbik7CiAKLQlpZiAobGRldi0+cGFuZWwpIHsKKwlpZiAobGRldi0+YnJpZGdlKSB7CiAJ CWVuY29kZXIgPSBsdGRjX3JnYl9lbmNvZGVyX2NyZWF0ZShkZGV2KTsKIAkJaWYgKCFlbmNvZGVy KSB7CiAJCQlEUk1fRVJST1IoIkZhaWxlZCB0byBjcmVhdGUgUkdCIGVuY29kZXJcbiIpOwogCQkJ cmV0ID0gLUVJTlZBTDsKIAkJCWdvdG8gZXJyOwogCQl9Ci0KLQkJY29ubmVjdG9yID0gbHRkY19y Z2JfY29ubmVjdG9yX2NyZWF0ZShkZGV2KTsKLQkJaWYgKCFjb25uZWN0b3IpIHsKLQkJCURSTV9F UlJPUigiRmFpbGVkIHRvIGNyZWF0ZSBSR0IgY29ubmVjdG9yXG4iKTsKLQkJCXJldCA9IC1FSU5W QUw7Ci0JCQlnb3RvIGVycjsKLQkJfQotCi0JCXJldCA9IGRybV9tb2RlX2Nvbm5lY3Rvcl9hdHRh Y2hfZW5jb2Rlcihjb25uZWN0b3IsIGVuY29kZXIpOwotCQlpZiAocmV0KSB7Ci0JCQlEUk1fRVJS T1IoIkZhaWxlZCB0byBhdHRhY2ggY29ubmVjdG9yIHRvIGVuY29kZXJcbiIpOwotCQkJZ290byBl cnI7Ci0JCX0KLQotCQlkcm1fcGFuZWxfYXR0YWNoKGxkZXYtPnBhbmVsLCBjb25uZWN0b3IpOwog CX0KIAogCWNydGMgPSBkZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKmNydGMpLCBHRlBfS0VSTkVM KTsKQEAgLTExMzAsOCArMTAyNiw4IEBAIGludCBsdGRjX2xvYWQoc3RydWN0IGRybV9kZXZpY2Ug KmRkZXYpCiAKIAlyZXR1cm4gMDsKIGVycjoKLQlpZiAobGRldi0+cGFuZWwpCi0JCWRybV9wYW5l bF9kZXRhY2gobGRldi0+cGFuZWwpOworCWlmIChsZGV2LT5icmlkZ2UpCisJCWRybV9wYW5lbF9i cmlkZ2VfcmVtb3ZlKGxkZXYtPmJyaWRnZSk7CiAKIAljbGtfZGlzYWJsZV91bnByZXBhcmUobGRl di0+cGl4ZWxfY2xrKTsKIApAQCAtMTE0Niw4ICsxMDQyLDggQEAgdm9pZCBsdGRjX3VubG9hZChz dHJ1Y3QgZHJtX2RldmljZSAqZGRldikKIAogCWRybV92YmxhbmtfY2xlYW51cChkZGV2KTsKIAot CWlmIChsZGV2LT5wYW5lbCkKLQkJZHJtX3BhbmVsX2RldGFjaChsZGV2LT5wYW5lbCk7CisJaWYg KGxkZXYtPmJyaWRnZSkKKwkJZHJtX3BhbmVsX2JyaWRnZV9yZW1vdmUobGRldi0+YnJpZGdlKTsK IAogCWNsa19kaXNhYmxlX3VucHJlcGFyZShsZGV2LT5waXhlbF9jbGspOwogfQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3N0bS9sdGRjLmggYi9kcml2ZXJzL2dwdS9kcm0vc3RtL2x0ZGMu aAppbmRleCBkN2E5YzczNmFjMWUuLmQ3OGNiMGRkMzIwMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL3N0bS9sdGRjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N0bS9sdGRjLmgKQEAgLTI0 LDcgKzI0LDcgQEAgc3RydWN0IGx0ZGNfZGV2aWNlIHsKIAlzdHJ1Y3QgZHJtX2ZiZGV2X2NtYSAq ZmJkZXY7CiAJdm9pZCBfX2lvbWVtICpyZWdzOwogCXN0cnVjdCBjbGsgKnBpeGVsX2NsazsJLyog bGNkIHBpeGVsIGNsb2NrICovCi0Jc3RydWN0IGRybV9wYW5lbCAqcGFuZWw7CisJc3RydWN0IGRy bV9icmlkZ2UgKmJyaWRnZTsKIAlzdHJ1Y3QgbXV0ZXggZXJyX2xvY2s7CS8qIHByb3RlY3Rpbmcg ZXJyb3Jfc3RhdHVzICovCiAJc3RydWN0IGx0ZGNfY2FwcyBjYXBzOwogCXUzMiBjbHV0WzI1Nl07 CQkvKiBjb2xvciBsb29rIHVwIHRhYmxlICovCi0tIAoyLjExLjAKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=