From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Stuebner Subject: [PATCH v5 4/6] drm/rockchip: add ability to handle external dphys in mipi-dsi Date: Mon, 9 Dec 2019 15:31:28 +0100 Message-ID: <20191209143130.4553-5-heiko@sntech.de> References: <20191209143130.4553-1-heiko@sntech.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20191209143130.4553-1-heiko@sntech.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: a.hajda@samsung.com Cc: bivvy.bi@rock-chips.com, jernej.skrabec@siol.net, xzy.xu@rock-chips.com, kuninori.morimoto.gx@renesas.com, jonas@kwiboo.se, sean@poorly.run, narmstrong@baylibre.com, philippe.cornu@st.com, dri-devel@lists.freedesktop.org, hjc@rock-chips.com, yannick.fertre@st.com, linux-rockchip@lists.infradead.org, nickey.yang@rock-chips.com, eddie.cai@rock-chips.com, Laurent.pinchart@ideasonboard.com, Heiko Stuebner , sam@ravnborg.org, christoph.muellner@theobroma-systems.com List-Id: linux-rockchip.vger.kernel.org RnJvbTogSGVpa28gU3R1ZWJuZXIgPGhlaWtvLnN0dWVibmVyQHRoZW9icm9tYS1zeXN0ZW1zLmNv bT4KCldoaWxlIHRoZSBjb21tb24gY2FzZSBpcyB0aGF0IHRoZSBkc2kgY29udHJvbGxlciB1c2Vz IGFuIGludGVybmFsIGRwaHksCmFjY2Vzc2VkIHRocm91Z2ggdGhlIHBoeSByZWdpc3RlcnMgaW5z aWRlIHRoZSBkc2kgY29udHJvbGxlciwgdGhlcmUgaXMKYWxzbyB0aGUgcG9zc2liaWxpdHkgdG8g dXNlIGEgc2VwYXJhdGUgZHBoeSBmcm9tIGEgZGlmZmVyZW50IHZlbmRvci4KCk9uZSBzdWNoIGNh c2UgaXMgdGhlIFJvY2tjaGlwIHB4MzAgdGhhdCB1c2VzIGEgSW5ub3NpbGljb24gTWlwaSBkcGh5 LApzbyBhZGQgdGhlIHN1cHBvcnQgZm9yIGhhbmRsaW5nIHN1Y2ggYSBjb25zdGVsbGF0aW9uLCBp bmNsdWRpbmcgdGhlIHBsbAphbHNvIGdldHRpbmcgZ2VuZXJhdGVkIGluc2lkZSB0aGF0IGV4dGVy bmFsIHBoeS4KCmNoYW5nZXMgaW4gdjU6Ci0gcmViYXNlZCBvbiB0b3Agb2YgNS41LXJjMQotIG1l cmdlZCB3aXRoIGRzaSB0aW1pbmcgY2hhbmdlIHRvIHByZXZlbnQgb3JkZXJpbmcgY29uZmxpY3Rz CgpTaWduZWQtb2ZmLWJ5OiBIZWlrbyBTdHVlYm5lciA8aGVpa28uc3R1ZWJuZXJAdGhlb2Jyb21h LXN5c3RlbXMuY29tPgotLS0KIC4uLi9ncHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLXJvY2tj aGlwLmMgICB8IDY4ICsrKysrKysrKysrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA2NCBpbnNl cnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9y b2NrY2hpcC9kdy1taXBpLWRzaS1yb2NrY2hpcC5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L2R3LW1pcGktZHNpLXJvY2tjaGlwLmMKaW5kZXggOTQwNmVmZmU4MDc3Li5mMTZiZDFlOWI2MzMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kdy1taXBpLWRzaS1yb2NrY2hp cC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kdy1taXBpLWRzaS1yb2NrY2hpcC5j CkBAIC0xMiw2ICsxMiw3IEBACiAjaW5jbHVkZSA8bGludXgvbWZkL3N5c2Nvbi5oPgogI2luY2x1 ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L29mX2RldmljZS5oPgorI2luY2x1 ZGUgPGxpbnV4L3BoeS9waHkuaD4KICNpbmNsdWRlIDxsaW51eC9wbV9ydW50aW1lLmg+CiAjaW5j bHVkZSA8bGludXgvcmVnbWFwLmg+CiAKQEAgLTIyMyw2ICsyMjQsMTAgQEAgc3RydWN0IGR3X21p cGlfZHNpX3JvY2tjaGlwIHsKIAlib29sIGlzX3NsYXZlOwogCXN0cnVjdCBkd19taXBpX2RzaV9y b2NrY2hpcCAqc2xhdmU7CiAKKwkvKiBvcHRpb25hbCBleHRlcm5hbCBkcGh5ICovCisJc3RydWN0 IHBoeSAqcGh5OworCXVuaW9uIHBoeV9jb25maWd1cmVfb3B0cyBwaHlfb3B0czsKKwogCXVuc2ln bmVkIGludCBsYW5lX21icHM7IC8qIHBlciBsYW5lICovCiAJdTE2IGlucHV0X2RpdjsKIAl1MTYg ZmVlZGJhY2tfZGl2OwpAQCAtMzU5LDYgKzM2NCw5IEBAIHN0YXRpYyBpbnQgZHdfbWlwaV9kc2lf cGh5X2luaXQodm9pZCAqcHJpdl9kYXRhKQogCXN0cnVjdCBkd19taXBpX2RzaV9yb2NrY2hpcCAq ZHNpID0gcHJpdl9kYXRhOwogCWludCByZXQsIGksIHZjbzsKIAorCWlmIChkc2ktPnBoeSkKKwkJ cmV0dXJuIDA7CisKIAkvKgogCSAqIEdldCB2Y28gZnJvbSBmcmVxdWVuY3kobGFuZV9tYnBzKQog CSAqIHZjbwlmcmVxdWVuY3kgdGFibGUKQEAgLTQ2Nyw2ICs0NzUsMjggQEAgc3RhdGljIGludCBk d19taXBpX2RzaV9waHlfaW5pdCh2b2lkICpwcml2X2RhdGEpCiAJcmV0dXJuIHJldDsKIH0KIAor c3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfcGh5X3Bvd2VyX29uKHZvaWQgKnByaXZfZGF0YSkKK3sK KwlzdHJ1Y3QgZHdfbWlwaV9kc2lfcm9ja2NoaXAgKmRzaSA9IHByaXZfZGF0YTsKKwlpbnQgcmV0 OworCisJcmV0ID0gcGh5X3NldF9tb2RlKGRzaS0+cGh5LCBQSFlfTU9ERV9NSVBJX0RQSFkpOwor CWlmIChyZXQpIHsKKwkJRFJNX0RFVl9FUlJPUihkc2ktPmRldiwgImZhaWxlZCB0byBzZXQgcGh5 IG1vZGU6ICVkXG4iLCByZXQpOworCQlyZXR1cm47CisJfQorCisJcGh5X2NvbmZpZ3VyZShkc2kt PnBoeSwgJmRzaS0+cGh5X29wdHMpOworCXBoeV9wb3dlcl9vbihkc2ktPnBoeSk7Cit9CisKK3N0 YXRpYyB2b2lkIGR3X21pcGlfZHNpX3BoeV9wb3dlcl9vZmYodm9pZCAqcHJpdl9kYXRhKQorewor CXN0cnVjdCBkd19taXBpX2RzaV9yb2NrY2hpcCAqZHNpID0gcHJpdl9kYXRhOworCisJcGh5X3Bv d2VyX29mZihkc2ktPnBoeSk7Cit9CisKIHN0YXRpYyBpbnQKIGR3X21pcGlfZHNpX2dldF9sYW5l X21icHModm9pZCAqcHJpdl9kYXRhLCBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSwKIAkJCSAgdW5zaWduZWQgbG9uZyBtb2RlX2ZsYWdzLCB1MzIgbGFuZXMsIHUzMiBmb3JtYXQs CkBAIC01MDQsNiArNTM0LDE3IEBAIGR3X21pcGlfZHNpX2dldF9sYW5lX21icHModm9pZCAqcHJp dl9kYXRhLCBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKIAkJCQkgICAgICAi RFBIWSBjbG9jayBmcmVxdWVuY3kgaXMgb3V0IG9mIHJhbmdlXG4iKTsKIAl9CiAKKwkvKiBmb3Ig ZXh0ZXJuYWwgcGh5IG9ubHkgYSB0aGUgbWlwaV9kcGh5X2NvbmZpZyBpcyBuZWNlc3NhcnkgKi8K KwlpZiAoZHNpLT5waHkpIHsKKwkJcGh5X21pcGlfZHBoeV9nZXRfZGVmYXVsdF9jb25maWcobW9k ZS0+Y2xvY2sgKiAxMDAwICogMTAgLyA4LAorCQkJCQkJIGJwcCwgbGFuZXMsCisJCQkJCQkgJmRz aS0+cGh5X29wdHMubWlwaV9kcGh5KTsKKwkJZHNpLT5sYW5lX21icHMgPSB0YXJnZXRfbWJwczsK KwkJKmxhbmVfbWJwcyA9IGRzaS0+bGFuZV9tYnBzOworCisJCXJldHVybiAwOworCX0KKwogCWZp biA9IGNsa19nZXRfcmF0ZShkc2ktPnBsbHJlZl9jbGspOwogCWZvdXQgPSB0YXJnZXRfbWJwcyAq IFVTRUNfUEVSX1NFQzsKIApAQCAtNjM4LDYgKzY3OSw4IEBAIGR3X21pcGlfZHNpX3BoeV9nZXRf dGltaW5nKHZvaWQgKnByaXZfZGF0YSwgdW5zaWduZWQgaW50IGxhbmVfbWJwcywKIAogc3RhdGlj IGNvbnN0IHN0cnVjdCBkd19taXBpX2RzaV9waHlfb3BzIGR3X21pcGlfZHNpX3JvY2tjaGlwX3Bo eV9vcHMgPSB7CiAJLmluaXQgPSBkd19taXBpX2RzaV9waHlfaW5pdCwKKwkucG93ZXJfb24gPSBk d19taXBpX2RzaV9waHlfcG93ZXJfb24sCisJLnBvd2VyX29mZiA9IGR3X21pcGlfZHNpX3BoeV9w b3dlcl9vZmYsCiAJLmdldF9sYW5lX21icHMgPSBkd19taXBpX2RzaV9nZXRfbGFuZV9tYnBzLAog CS5nZXRfdGltaW5nID0gZHdfbWlwaV9kc2lfcGh5X2dldF90aW1pbmcsCiB9OwpAQCAtOTk4LDEy ICsxMDQxLDI5IEBAIHN0YXRpYyBpbnQgZHdfbWlwaV9kc2lfcm9ja2NoaXBfcHJvYmUoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCisJLyogdHJ5 IHRvIGdldCBhIHBvc3NpYmxlIGV4dGVybmFsIGRwaHkgKi8KKwlkc2ktPnBoeSA9IGRldm1fcGh5 X29wdGlvbmFsX2dldChkZXYsICJkcGh5Iik7CisJaWYgKElTX0VSUihkc2ktPnBoeSkpIHsKKwkJ cmV0ID0gUFRSX0VSUihkc2ktPnBoeSk7CisJCURSTV9ERVZfRVJST1IoZGV2LCAiZmFpbGVkIHRv IGdldCBtaXBpIGRwaHk6ICVkXG4iLCByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKwogCWRzaS0+ cGxscmVmX2NsayA9IGRldm1fY2xrX2dldChkZXYsICJyZWYiKTsKIAlpZiAoSVNfRVJSKGRzaS0+ cGxscmVmX2NsaykpIHsKLQkJcmV0ID0gUFRSX0VSUihkc2ktPnBsbHJlZl9jbGspOwotCQlEUk1f REVWX0VSUk9SKGRldiwKLQkJCSAgICAgICJVbmFibGUgdG8gZ2V0IHBsbCByZWZlcmVuY2UgY2xv Y2s6ICVkXG4iLCByZXQpOwotCQlyZXR1cm4gcmV0OworCQlpZiAoZHNpLT5waHkpIHsKKwkJCS8q CisJCQkgKiBpZiBleHRlcm5hbCBwaHkgaXMgcHJlc2VudCwgcGxsIHdpbGwgYmUKKwkJCSAqIGdl bmVyYXRlZCB0aGVyZS4KKwkJCSAqLworCQkJZHNpLT5wbGxyZWZfY2xrID0gTlVMTDsKKwkJfSBl bHNlIHsKKwkJCXJldCA9IFBUUl9FUlIoZHNpLT5wbGxyZWZfY2xrKTsKKwkJCURSTV9ERVZfRVJS T1IoZGV2LAorCQkJCSAgICAgICJVbmFibGUgdG8gZ2V0IHBsbCByZWZlcmVuY2UgY2xvY2s6ICVk XG4iLAorCQkJCSAgICAgIHJldCk7CisJCQlyZXR1cm4gcmV0OworCQl9CiAJfQogCiAJaWYgKGRz aS0+Y2RhdGEtPmZsYWdzICYgRFdfTUlQSV9ORUVEU19QSFlfQ0ZHX0NMSykgewotLSAKMi4yNC4w CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=