From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Keeping Subject: [PATCH v3 24/24] drm/rockchip: dw-mipi-dsi: support read commands Date: Sun, 29 Jan 2017 13:24:44 +0000 Message-ID: <20170129132444.25251-25-john@metanate.com> References: <20170129132444.25251-1-john@metanate.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170129132444.25251-1-john@metanate.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Mark Yao 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 SSBoYXZlbid0IGZvdW5kIGFueSBtZXRob2QgZm9yIGdldHRpbmcgdGhlIGxlbmd0aCBvZiBhIHJl c3BvbnNlLCBzbyB0aGlzCmp1c3QgdXNlcyB0aGUgcmVxdWVzdGVkIHJ4X2xlbgoKU2lnbmVkLW9m Zi1ieTogSm9obiBLZWVwaW5nIDxqb2huQG1ldGFuYXRlLmNvbT4KLS0tCnYzOgotIEZpeCBjaGVj a3BhdGNoIHdhcm5pbmdzClVuY2hhbmdlZCBpbiB2MgoKIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hp cC9kdy1taXBpLWRzaS5jIHwgNTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog MSBmaWxlIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvZHctbWlwaS1kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9k dy1taXBpLWRzaS5jCmluZGV4IGNmM2NhNmIwY2JkYi4uY2M1OGFkYTc1NDI1IDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvZHctbWlwaS1kc2kuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvZHctbWlwaS1kc2kuYwpAQCAtNjc4LDYgKzY3OCw1NiBAQCBzdGF0aWMg aW50IGR3X21pcGlfZHNpX2Rjc19sb25nX3dyaXRlKHN0cnVjdCBkd19taXBpX2RzaSAqZHNpLAog CXJldHVybiBkd19taXBpX2RzaV9nZW5fcGt0X2hkcl93cml0ZShkc2ksIGhkcl92YWwpOwogfQog CitzdGF0aWMgaW50IGR3X21pcGlfZHNpX2Rjc19yZWFkKHN0cnVjdCBkd19taXBpX2RzaSAqZHNp LAorCQkJCWNvbnN0IHN0cnVjdCBtaXBpX2RzaV9tc2cgKm1zZykKK3sKKwljb25zdCB1OCAqdHhf YnVmID0gbXNnLT50eF9idWY7CisJdTggKnJ4X2J1ZiA9IG1zZy0+cnhfYnVmOworCXNpemVfdCBp OworCWludCByZXQsIHZhbDsKKworCWRzaV93cml0ZShkc2ksIERTSV9QQ0tIRExfQ0ZHLCBFTl9D UkNfUlggfCBFTl9FQ0NfUlggfCBFTl9CVEEpOworCWRzaV93cml0ZShkc2ksIERTSV9HRU5fSERS LAorCQkgIEdFTl9IREFUQSh0eF9idWZbMF0pIHwgR0VOX0hUWVBFKG1zZy0+dHlwZSkpOworCisJ cmV0ID0gcmVhZGxfcG9sbF90aW1lb3V0KGRzaS0+YmFzZSArIERTSV9DTURfUEtUX1NUQVRVUywK KwkJCQkgdmFsLCAhKHZhbCAmIEdFTl9SRF9DTURfQlVTWSksIDEwMDAsCisJCQkJIENNRF9QS1Rf U1RBVFVTX1RJTUVPVVRfVVMpOworCWlmIChyZXQgPCAwKSB7CisJCWRldl9lcnIoZHNpLT5kZXYs ICJmYWlsZWQgdG8gcmVhZCBjb21tYW5kIHJlc3BvbnNlXG4iKTsKKwkJcmV0dXJuIHJldDsKKwl9 CisKKwlmb3IgKGkgPSAwOyBpIDwgbXNnLT5yeF9sZW47KSB7CisJCXUzMiBwbGQgPSBkc2lfcmVh ZChkc2ksIERTSV9HRU5fUExEX0RBVEEpOworCisJCXdoaWxlIChpIDwgbXNnLT5yeF9sZW4pIHsK KwkJCXJ4X2J1ZltpXSA9IHBsZCAmIDB4ZmY7CisJCQlwbGQgPj49IDg7CisJCQlpKys7CisJCX0K Kwl9CisKKwlyZXR1cm4gbXNnLT5yeF9sZW47Cit9CisKK3N0YXRpYyBpbnQgZHdfbWlwaV9kc2lf c2V0X21heF9yZXR1cm5fcGFja2V0X3NpemUoc3RydWN0IGR3X21pcGlfZHNpICpkc2ksCisJCQkJ CQkgIHNpemVfdCBsZW4pCit7CisJdTggdmFsW10gPSB7IGxlbiAmIDB4ZmYsIChsZW4gPj4gOCkg JiAweGZmIH07CisJc3RydWN0IG1pcGlfZHNpX21zZyBtc2cgPSB7CisJCS5jaGFubmVsID0gZHNp LT5jaGFubmVsLAorCQkudHlwZSA9IE1JUElfRFNJX1NFVF9NQVhJTVVNX1JFVFVSTl9QQUNLRVRf U0laRSwKKwkJLnR4X2J1ZiA9IHZhbCwKKwkJLnR4X2xlbiA9IDIsCisJfTsKKworCWlmIChsZW4g PiAweGZmZmYpCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0dXJuIGR3X21pcGlfZHNpX2Rjc19z aG9ydF93cml0ZShkc2ksICZtc2cpOworfQorCiBzdGF0aWMgc3NpemVfdCBkd19taXBpX2RzaV9o b3N0X3RyYW5zZmVyKHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0LAogCQkJCQkgY29uc3Qgc3Ry dWN0IG1pcGlfZHNpX21zZyAqbXNnKQogewpAQCAtNjk1LDYgKzc0NSwxMiBAQCBzdGF0aWMgc3Np emVfdCBkd19taXBpX2RzaV9ob3N0X3RyYW5zZmVyKHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0 LAogCWNhc2UgTUlQSV9EU0lfRENTX0xPTkdfV1JJVEU6CiAJCXJldCA9IGR3X21pcGlfZHNpX2Rj c19sb25nX3dyaXRlKGRzaSwgbXNnKTsKIAkJYnJlYWs7CisJY2FzZSBNSVBJX0RTSV9EQ1NfUkVB RDoKKwkJcmV0ID0gZHdfbWlwaV9kc2lfc2V0X21heF9yZXR1cm5fcGFja2V0X3NpemUoZHNpLCBt c2ctPnJ4X2xlbik7CisJCWlmIChyZXQgPCAwKQorCQkJcmV0dXJuIHJldDsKKwkJcmV0ID0gZHdf bWlwaV9kc2lfZGNzX3JlYWQoZHNpLCBtc2cpOworCQlicmVhazsKIAlkZWZhdWx0OgogCQlkZXZf ZXJyKGRzaS0+ZGV2LCAidW5zdXBwb3J0ZWQgbWVzc2FnZSB0eXBlIDB4JTAyeFxuIiwKIAkJCW1z Zy0+dHlwZSk7Ci0tIAoyLjExLjAuMTk3LmdiNTU2ZGU1LmRpcnR5CgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK