From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Zhong Subject: [PATCH 2/7] DRM: mipi: support rk3399 mipi dsi Date: Fri, 8 Jul 2016 17:04:56 +0800 Message-ID: <1467968701-15620-3-git-send-email-zyw@rock-chips.com> References: <1467968701-15620-1-git-send-email-zyw@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1467968701-15620-1-git-send-email-zyw@rock-chips.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dianders@chromium.org, tfiga@chromium.org, heiko@sntech.de, yzq@rock-chips.com Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, Chris Zhong , linux-arm-kernel@lists.infradead.org List-Id: linux-rockchip.vger.kernel.org VGhlIHZvcGIvdm9wbCBzd2l0Y2ggcmVnaXN0ZXIgb2YgcmszMzk5IG1pcGkgaXMgZGlmZmVyZW50 IGZyb20gcmszMjg4LAp0aGUgZGVmYXVsdCBzZXR0aW5nIGZvciBtaXBpIGRzaSBtb2RlIGlzIGRp ZmZlcmVudCB0b28sIHNvIGFkZCBhCm9mX2RldmljZV9pZCBzdHJ1Y3R1cmUgdG8gZGlzdGluZ3Vp c2ggdGhlbSwgYW5kIG1ha2Ugc3VyZSBzZXQgdGhlCmNvcnJlY3QgbW9kZSBiZWZvcmUgbWlwaSBw aHkgaW5pdC4KClNpZ25lZC1vZmYtYnk6IENocmlzIFpob25nIDx6eXdAcm9jay1jaGlwcy5jb20+ ClNpZ25lZC1vZmYtYnk6IE1hcmsgWWFvIDxtYXJrLnlhb0Byb2NrLWNoaXBzLmNvbT4KLS0tCgog ZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLmMgfCA3MCArKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNTkgaW5zZXJ0aW9ucygrKSwg MTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3 LW1pcGktZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvZHctbWlwaS1kc2kuYwppbmRl eCBkZWRjNjViLi4xMDBkYTAxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAv ZHctbWlwaS1kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvZHctbWlwaS1kc2ku YwpAQCAtMjgsOSArMjgsMTcgQEAKIAogI2RlZmluZSBEUklWRVJfTkFNRSAgICAiZHctbWlwaS1k c2kiCiAKLSNkZWZpbmUgR1JGX1NPQ19DT042ICAgICAgICAgICAgICAgICAgICAweDAyNWMKLSNk ZWZpbmUgRFNJMF9TRUxfVk9QX0xJVCAgICAgICAgICAgICAgICAoMSA8PCA2KQotI2RlZmluZSBE U0kxX1NFTF9WT1BfTElUICAgICAgICAgICAgICAgICgxIDw8IDkpCisjZGVmaW5lIFJLMzI4OF9H UkZfU09DX0NPTjYJCTB4MDI1YworI2RlZmluZSBSSzMyODhfRFNJMF9TRUxfVk9QX0xJVAkJQklU KDYpCisjZGVmaW5lIFJLMzI4OF9EU0kxX1NFTF9WT1BfTElUCQlCSVQoOSkKKworI2RlZmluZSBS SzMzOTlfR1JGX1NPQ19DT04xOQkJMHg2MjUwCisjZGVmaW5lIFJLMzM5OV9EU0kwX1NFTF9WT1Bf TElUCQlCSVQoMCkKKyNkZWZpbmUgUkszMzk5X0RTSTFfU0VMX1ZPUF9MSVQJCUJJVCg0KQorCisv KiBkaXNhYmxlIHR1cm5yZXF1ZXN0LCB0dXJuZGlzYWJsZSwgZm9yY2V0eHN0b3Btb2RlLCBmb3Jj ZXJ4bW9kZSAqLworI2RlZmluZSBSSzMzOTlfR1JGX1NPQ19DT04yMgkJMHg2MjU4CisjZGVmaW5l IFJLMzM5OV9HUkZfRFNJX01PREUJCTB4ZmZmZjAwMDAKIAogI2RlZmluZSBEU0lfVkVSU0lPTgkJ CTB4MDAKICNkZWZpbmUgRFNJX1BXUl9VUAkJCTB4MDQKQEAgLTE0Nyw3ICsxNTUsNiBAQAogI2Rl ZmluZSBMUFJYX1RPX0NOVChwKQkJCSgocCkgJiAweGZmZmYpCiAKICNkZWZpbmUgRFNJX0JUQV9U T19DTlQJCQkweDhjCi0KICNkZWZpbmUgRFNJX0xQQ0xLX0NUUkwJCQkweDk0CiAjZGVmaW5lIEFV VE9fQ0xLTEFORV9DVFJMCQlCSVQoMSkKICNkZWZpbmUgUEhZX1RYUkVRVUVTVENMS0hTCQlCSVQo MCkKQEAgLTI2Myw2ICsyNzAsMTEgQEAgZW51bSB7CiB9OwogCiBzdHJ1Y3QgZHdfbWlwaV9kc2lf cGxhdF9kYXRhIHsKKwl1MzIgZHNpMF9lbl9iaXQ7CisJdTMyIGRzaTFfZW5fYml0OworCXUzMiBn cmZfc3dpdGNoX3JlZzsKKwl1MzIgZ3JmX2RzaTBfbW9kZTsKKwl1MzIgZ3JmX2RzaTBfbW9kZV9y ZWc7CiAJdW5zaWduZWQgaW50IG1heF9kYXRhX2xhbmVzOwogCWVudW0gZHJtX21vZGVfc3RhdHVz ICgqbW9kZV92YWxpZCkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCQkJICAg c3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwpAQCAtMjc5LDYgKzI5MSw3IEBAIHN0cnVj dCBkd19taXBpX2RzaSB7CiAKIAlzdHJ1Y3QgY2xrICpwbGxyZWZfY2xrOwogCXN0cnVjdCBjbGsg KnBjbGs7CisJc3RydWN0IGNsayAqcGh5X2NmZ19jbGs7CiAKIAl1bnNpZ25lZCBpbnQgbGFuZV9t YnBzOyAvKiBwZXIgbGFuZSAqLwogCXUzMiBjaGFubmVsOwpAQCAtNDAwLDYgKzQxMywxNCBAQCBz dGF0aWMgaW50IGR3X21pcGlfZHNpX3BoeV9pbml0KHN0cnVjdCBkd19taXBpX2RzaSAqZHNpKQog CiAJZHNpX3dyaXRlKGRzaSwgRFNJX1BXUl9VUCwgUE9XRVJVUCk7CiAKKwlpZiAoIUlTX0VSUihk c2ktPnBoeV9jZmdfY2xrKSkgeworCQlyZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUoZHNpLT5waHlf Y2ZnX2Nsayk7CisJCWlmIChyZXQpIHsKKwkJCWRldl9lcnIoZHNpLT5kZXYsICJGYWlsZWQgdG8g ZW5hYmxlIHBoeV9jZmdfY2xrXG4iKTsKKwkJCXJldHVybiByZXQ7CisJCX0KKwl9CisKIAlkd19t aXBpX2RzaV9waHlfd3JpdGUoZHNpLCAweDEwLCBCWVBBU1NfVkNPX1JBTkdFIHwKIAkJCQkJIFZD T19SQU5HRV9DT05fU0VMKHZjbykgfAogCQkJCQkgVkNPX0lOX0NBUF9DT05fTE9XIHwKQEAgLTQ0 NCwxNyArNDY1LDE5IEBAIHN0YXRpYyBpbnQgZHdfbWlwaV9kc2lfcGh5X2luaXQoc3RydWN0IGR3 X21pcGlfZHNpICpkc2kpCiAJCQkJIHZhbCwgdmFsICYgTE9DSywgMTAwMCwgUEhZX1NUQVRVU19U SU1FT1VUX1VTKTsKIAlpZiAocmV0IDwgMCkgewogCQlkZXZfZXJyKGRzaS0+ZGV2LCAiZmFpbGVk IHRvIHdhaXQgZm9yIHBoeSBsb2NrIHN0YXRlXG4iKTsKLQkJcmV0dXJuIHJldDsKKwkJZ290byBw aHlfaW5pdF9lbmQ7CiAJfQogCiAJcmV0ID0gcmVhZHhfcG9sbF90aW1lb3V0KHJlYWRsLCBkc2kt PmJhc2UgKyBEU0lfUEhZX1NUQVRVUywKIAkJCQkgdmFsLCB2YWwgJiBTVE9QX1NUQVRFX0NMS19M QU5FLCAxMDAwLAogCQkJCSBQSFlfU1RBVFVTX1RJTUVPVVRfVVMpOwotCWlmIChyZXQgPCAwKSB7 CisJaWYgKHJldCA8IDApCiAJCWRldl9lcnIoZHNpLT5kZXYsCiAJCQkiZmFpbGVkIHRvIHdhaXQg Zm9yIHBoeSBjbGsgbGFuZSBzdG9wIHN0YXRlXG4iKTsKLQkJcmV0dXJuIHJldDsKLQl9CisKK3Bo eV9pbml0X2VuZDoKKwlpZiAoIUlTX0VSUihkc2ktPnBoeV9jZmdfY2xrKSkKKwkJY2xrX2Rpc2Fi bGVfdW5wcmVwYXJlKGRzaS0+cGh5X2NmZ19jbGspOwogCiAJcmV0dXJuIHJldDsKIH0KQEAgLTg3 OCw2ICs5MDEsNyBAQCBzdGF0aWMgdm9pZCBkd19taXBpX2RzaV9lbmNvZGVyX2Rpc2FibGUoc3Ry dWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfZW5jb2Rl cl9jb21taXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogewogCXN0cnVjdCBkd19taXBp X2RzaSAqZHNpID0gZW5jb2Rlcl90b19kc2koZW5jb2Rlcik7CisJY29uc3Qgc3RydWN0IGR3X21p cGlfZHNpX3BsYXRfZGF0YSAqcGRhdGEgPSBkc2ktPnBkYXRhOwogCWludCBtdXggPSBkcm1fb2Zf ZW5jb2Rlcl9hY3RpdmVfZW5kcG9pbnRfaWQoZHNpLT5kZXYtPm9mX25vZGUsIGVuY29kZXIpOwog CXUzMiB2YWw7CiAKQEAgLTg4Niw2ICs5MTAsMTAgQEAgc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lf ZW5jb2Rlcl9jb21taXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogCQlyZXR1cm47CiAJ fQogCisJaWYgKHBkYXRhLT5ncmZfZHNpMF9tb2RlX3JlZykKKwkJcmVnbWFwX3dyaXRlKGRzaS0+ Z3JmX3JlZ21hcCwgcGRhdGEtPmdyZl9kc2kwX21vZGVfcmVnLAorCQkJICAgICBwZGF0YS0+Z3Jm X2RzaTBfbW9kZSk7CisKIAlkd19taXBpX2RzaV9waHlfaW5pdChkc2kpOwogCWR3X21pcGlfZHNp X3dhaXRfZm9yX3R3b19mcmFtZXMoZHNpKTsKIApAQCAtODk1LDExICs5MjMsMTEgQEAgc3RhdGlj IHZvaWQgZHdfbWlwaV9kc2lfZW5jb2Rlcl9jb21taXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNv ZGVyKQogCWNsa19kaXNhYmxlX3VucHJlcGFyZShkc2ktPnBjbGspOwogCiAJaWYgKG11eCkKLQkJ dmFsID0gRFNJMF9TRUxfVk9QX0xJVCB8IChEU0kwX1NFTF9WT1BfTElUIDw8IDE2KTsKKwkJdmFs ID0gcGRhdGEtPmRzaTBfZW5fYml0IHwgKHBkYXRhLT5kc2kwX2VuX2JpdCA8PCAxNik7CiAJZWxz ZQotCQl2YWwgPSBEU0kwX1NFTF9WT1BfTElUIDw8IDE2OworCQl2YWwgPSBwZGF0YS0+ZHNpMF9l bl9iaXQgPDwgMTY7CiAKLQlyZWdtYXBfd3JpdGUoZHNpLT5ncmZfcmVnbWFwLCBHUkZfU09DX0NP TjYsIHZhbCk7CisJcmVnbWFwX3dyaXRlKGRzaS0+Z3JmX3JlZ21hcCwgcGRhdGEtPmdyZl9zd2l0 Y2hfcmVnLCB2YWwpOwogCWRldl9kYmcoZHNpLT5kZXYsICJ2b3AgJXMgb3V0cHV0IHRvIGRzaTBc biIsIChtdXgpID8gIkxJVCIgOiAiQklHIik7CiB9CiAKQEAgLTEwNzUsNiArMTEwMywxOSBAQCBz dGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMgcmszMjg4X21pcGlfZHNpX21vZGVfdmFsaWQoCiB9 CiAKIHN0YXRpYyBzdHJ1Y3QgZHdfbWlwaV9kc2lfcGxhdF9kYXRhIHJrMzI4OF9taXBpX2RzaV9k cnZfZGF0YSA9IHsKKwkuZHNpMF9lbl9iaXQgPSBSSzMyODhfRFNJMF9TRUxfVk9QX0xJVCwKKwku ZHNpMV9lbl9iaXQgPSBSSzMyODhfRFNJMV9TRUxfVk9QX0xJVCwKKwkuZ3JmX3N3aXRjaF9yZWcg PSBSSzMyODhfR1JGX1NPQ19DT042LAorCS5tYXhfZGF0YV9sYW5lcyA9IDQsCisJLm1vZGVfdmFs aWQgPSByazMyODhfbWlwaV9kc2lfbW9kZV92YWxpZCwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZHdf bWlwaV9kc2lfcGxhdF9kYXRhIHJrMzM5OV9taXBpX2RzaV9kcnZfZGF0YSA9IHsKKwkuZHNpMF9l bl9iaXQgPSBSSzMzOTlfRFNJMF9TRUxfVk9QX0xJVCwKKwkuZHNpMV9lbl9iaXQgPSBSSzMzOTlf RFNJMV9TRUxfVk9QX0xJVCwKKwkuZ3JmX3N3aXRjaF9yZWcgPSBSSzMzOTlfR1JGX1NPQ19DT04x OSwKKwkuZ3JmX2RzaTBfbW9kZSA9IFJLMzM5OV9HUkZfRFNJX01PREUsCisJLmdyZl9kc2kwX21v ZGVfcmVnID0gUkszMzk5X0dSRl9TT0NfQ09OMjIsCiAJLm1heF9kYXRhX2xhbmVzID0gNCwKIAku bW9kZV92YWxpZCA9IHJrMzI4OF9taXBpX2RzaV9tb2RlX3ZhbGlkLAogfTsKQEAgLTEwODMsNiAr MTEyNCw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGR3X21pcGlfZHNpX2R0 X2lkc1tdID0gewogCXsKIAkgLmNvbXBhdGlibGUgPSAicm9ja2NoaXAscmszMjg4LW1pcGktZHNp IiwKIAkgLmRhdGEgPSAmcmszMjg4X21pcGlfZHNpX2Rydl9kYXRhLAorCX0sIHsKKwkgLmNvbXBh dGlibGUgPSAicm9ja2NoaXAscmszMzk5LW1pcGktZHNpIiwKKwkgLmRhdGEgPSAmcmszMzk5X21p cGlfZHNpX2Rydl9kYXRhLAogCX0sCiAJeyAvKiBzZW50aW5lbCAqLyB9CiB9OwpAQCAtMTEzMyw2 ICsxMTc3LDEwIEBAIHN0YXRpYyBpbnQgZHdfbWlwaV9kc2lfYmluZChzdHJ1Y3QgZGV2aWNlICpk ZXYsIHN0cnVjdCBkZXZpY2UgKm1hc3RlciwKIAkJcmV0dXJuIHJldDsKIAl9CiAKKwlkc2ktPnBo eV9jZmdfY2xrID0gZGV2bV9jbGtfZ2V0KGRldiwgInBoeV9jZmciKTsKKwlpZiAoSVNfRVJSKGRz aS0+cGh5X2NmZ19jbGspKQorCQlkZXZfZGJnKGRldiwgImhhdmUgbm90IHBoeV9jZmdfY2xrXG4i KTsKKwogCXJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShkc2ktPnBsbHJlZl9jbGspOwogCWlmIChy ZXQpIHsKIAkJZGV2X2VycihkZXYsICIlczogRmFpbGVkIHRvIGVuYWJsZSBwbGxyZWZfY2xrXG4i LCBfX2Z1bmNfXyk7Ci0tIAoyLjYuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCg==