From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH v4 03/16] drm/dsi: Make mipi_dsi_dcs_{read, write}() symmetrical Date: Mon, 3 Nov 2014 10:13:28 +0100 Message-ID: <1415006021-29313-3-git-send-email-thierry.reding@gmail.com> References: <1415006021-29313-1-git-send-email-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pa0-f44.google.com (mail-pa0-f44.google.com [209.85.220.44]) by gabe.freedesktop.org (Postfix) with ESMTP id 841716E3F9 for ; Mon, 3 Nov 2014 01:14:00 -0800 (PST) Received: by mail-pa0-f44.google.com with SMTP id bj1so11841540pad.31 for ; Mon, 03 Nov 2014 01:14:00 -0800 (PST) In-Reply-To: <1415006021-29313-1-git-send-email-thierry.reding@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding Cc: Andrzej Hajda , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KCkN1cnJlbnRseSB0aGUg bWlwaV9kc2lfZGNzX3dyaXRlKCkgZnVuY3Rpb24gcmVxdWlyZXMgdGhlIERDUyBjb21tYW5kCmJ5 dGUgdG8gYmUgZW1iZWRkZWQgd2l0aGluIHRoZSB3cml0ZSBidWZmZXIgd2hlcmVhcyBtaXBpX2Rz aV9kY3NfcmVhZCgpCmhhcyBhIHNlcGFyYXRlIHBhcmFtZXRlci4gTWFrZSB0aGVtIG1vcmUgc3lt bWV0cmljYWwgYnkgYWRkaW5nIGFuIGV4dHJhCmNvbW1hbmQgcGFyYW1ldGVyIHRvIG1pcGlfZHNp X2Rjc193cml0ZSgpLgoKVGhlIFM2RThBQTAgZHJpdmVyIHJlbGllcyBvbiB0aGUgb2xkIGFzeW1t ZXRyaWMgQVBJIGFuZCB0aGVyZSdzIGNvbmNlcm4KdGhhdCBtb3ZpbmcgdG8gdGhlIG5ldyBBUEkg bWF5IGJlIGxlc3MgZWZmaWNpZW50LiBQcm92aWRlIGEgbmV3IGZ1bmN0aW9uCndpdGggdGhlIG9s ZCBzZW1hbnRpY3MgZm9yIHRob3NlIGNhc2VzIGFuZCBtYWtlIHRoZSBTNkU4QUEwIGRyaXZlciB1 c2UKaXQgaW5zdGVhZC4KClNpZ25lZC1vZmYtYnk6IFRoaWVycnkgUmVkaW5nIDx0cmVkaW5nQG52 aWRpYS5jb20+Ci0tLQpDaGFuZ2VzIGluIHY0OgotIGRvIG5vdCBoYW5kbGUgcHJvdG9jb2wtbGV2 ZWwgZGV0YWlscyBpbiBtaXBpX2RzaV9kY3Nfd3JpdGUoKQoKQ2hhbmdlcyBpbiB2MzoKLSByZXVz ZSBtaXBpX2RzaV9kY3Nfd3JpdGVfYnVmZmVyKCkgaW4gbWlwaV9kc2lfZGNzX3dyaXRlKCkKLSBr ZWVwIGxvY2FsIG9wcyB2YXJpYWJsZSBmb3IgY29uc2lzdGVuY3kKLSB1c2UgY29tbW9uIGhlbHBl ciB0byBzaW1wbGlmeSBjb2RlCi0gZml4IHR5cG8gaW4gY29tbWVudAoKQ2hhbmdlcyBpbiB2MjoK LSBwcm92aWRlIG1pcGlfZHNpX2Rjc193cml0ZV9idWZmZXIoKSBmb3IgYmFja3dhcmRzIGNvbXBh dGliaWxpdHkKCiBkcml2ZXJzL2dwdS9kcm0vZHJtX21pcGlfZHNpLmMgICAgICAgIHwgNzcgKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1zNmU4YWEwLmMgfCAgMiArLQogaW5jbHVkZS9kcm0vZHJtX21pcGlfZHNpLmggICAgICAg ICAgICB8ICA2ICsrLQogMyBmaWxlcyBjaGFuZ2VkLCA3MCBpbnNlcnRpb25zKCspLCAxNSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21pcGlfZHNpLmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX21pcGlfZHNpLmMKaW5kZXggODlhMjI4YjRlYWNjLi5hYTFhYWIy NDE4MWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbWlwaV9kc2kuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX21pcGlfZHNpLmMKQEAgLTI1OCwxMyArMjU4LDE5IEBAIGludCBt aXBpX2RzaV9jcmVhdGVfcGFja2V0KHN0cnVjdCBtaXBpX2RzaV9wYWNrZXQgKnBhY2tldCwKIEVY UE9SVF9TWU1CT0wobWlwaV9kc2lfY3JlYXRlX3BhY2tldCk7CiAKIC8qKgotICogbWlwaV9kc2lf ZGNzX3dyaXRlIC0gc2VuZCBEQ1Mgd3JpdGUgY29tbWFuZAotICogQGRzaTogRFNJIGRldmljZQot ICogQGRhdGE6IHBvaW50ZXIgdG8gdGhlIGNvbW1hbmQgZm9sbG93ZWQgYnkgcGFyYW1ldGVycwot ICogQGxlbjogbGVuZ3RoIG9mIEBkYXRhCisgKiBtaXBpX2RzaV9kY3Nfd3JpdGVfYnVmZmVyKCkg LSB0cmFuc21pdCBhIERDUyBjb21tYW5kIHdpdGggcGF5bG9hZAorICogQGRzaTogRFNJIHBlcmlw aGVyYWwgZGV2aWNlCisgKiBAZGF0YTogYnVmZmVyIGNvbnRhaW5pbmcgZGF0YSB0byBiZSB0cmFu c21pdHRlZAorICogQGxlbjogc2l6ZSBvZiB0cmFuc21pc3Npb24gYnVmZmVyCisgKgorICogVGhp cyBmdW5jdGlvbiB3aWxsIGF1dG9tYXRpY2FsbHkgY2hvb3NlIHRoZSByaWdodCBkYXRhIHR5cGUg ZGVwZW5kaW5nIG9uCisgKiB0aGUgY29tbWFuZCBwYXlsb2FkIGxlbmd0aC4KKyAqCisgKiBSZXR1 cm46IFRoZSBudW1iZXIgb2YgYnl0ZXMgc3VjY2Vzc2Z1bGx5IHRyYW5zbWl0dGVkIG9yIGEgbmVn YXRpdmUgZXJyb3IKKyAqIGNvZGUgb24gZmFpbHVyZS4KICAqLwotc3NpemVfdCBtaXBpX2RzaV9k Y3Nfd3JpdGUoc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpLCBjb25zdCB2b2lkICpkYXRhLAot CQkJICAgIHNpemVfdCBsZW4pCitzc2l6ZV90IG1pcGlfZHNpX2Rjc193cml0ZV9idWZmZXIoc3Ry dWN0IG1pcGlfZHNpX2RldmljZSAqZHNpLAorCQkJCSAgY29uc3Qgdm9pZCAqZGF0YSwgc2l6ZV90 IGxlbikKIHsKIAlzdHJ1Y3QgbWlwaV9kc2lfbXNnIG1zZyA9IHsKIAkJLmNoYW5uZWwgPSBkc2kt PmNoYW5uZWwsCkBAIC0yNzUsMTIgKzI4MSwxNSBAQCBzc2l6ZV90IG1pcGlfZHNpX2Rjc193cml0 ZShzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2ksIGNvbnN0IHZvaWQgKmRhdGEsCiAJc3dpdGNo IChsZW4pIHsKIAljYXNlIDA6CiAJCXJldHVybiAtRUlOVkFMOworCiAJY2FzZSAxOgogCQltc2cu dHlwZSA9IE1JUElfRFNJX0RDU19TSE9SVF9XUklURTsKIAkJYnJlYWs7CisKIAljYXNlIDI6CiAJ CW1zZy50eXBlID0gTUlQSV9EU0lfRENTX1NIT1JUX1dSSVRFX1BBUkFNOwogCQlicmVhazsKKwog CWRlZmF1bHQ6CiAJCW1zZy50eXBlID0gTUlQSV9EU0lfRENTX0xPTkdfV1JJVEU7CiAJCWJyZWFr OwpAQCAtMjg4LDE2ICsyOTcsNjAgQEAgc3NpemVfdCBtaXBpX2RzaV9kY3Nfd3JpdGUoc3RydWN0 IG1pcGlfZHNpX2RldmljZSAqZHNpLCBjb25zdCB2b2lkICpkYXRhLAogCiAJcmV0dXJuIG1pcGlf ZHNpX2RldmljZV90cmFuc2Zlcihkc2ksICZtc2cpOwogfQorRVhQT1JUX1NZTUJPTChtaXBpX2Rz aV9kY3Nfd3JpdGVfYnVmZmVyKTsKKworLyoqCisgKiBtaXBpX2RzaV9kY3Nfd3JpdGUoKSAtIHNl bmQgRENTIHdyaXRlIGNvbW1hbmQKKyAqIEBkc2k6IERTSSBwZXJpcGhlcmFsIGRldmljZQorICog QGNtZDogRENTIGNvbW1hbmQKKyAqIEBkYXRhOiBidWZmZXIgY29udGFpbmluZyB0aGUgY29tbWFu ZCBwYXlsb2FkCisgKiBAbGVuOiBjb21tYW5kIHBheWxvYWQgbGVuZ3RoCisgKgorICogVGhpcyBm dW5jdGlvbiB3aWxsIGF1dG9tYXRpY2FsbHkgY2hvb3NlIHRoZSByaWdodCBkYXRhIHR5cGUgZGVw ZW5kaW5nIG9uCisgKiB0aGUgY29tbWFuZCBwYXlsb2FkIGxlbmd0aC4KKyAqCisgKiBSZXR1cm46 IFRoZSBudW1iZXIgb2YgYnl0ZXMgc3VjY2Vzc2Z1bGx5IHRyYW5zbWl0dGVkIG9yIGEgbmVnYXRp dmUgZXJyb3IKKyAqIGNvZGUgb24gZmFpbHVyZS4KKyAqLworc3NpemVfdCBtaXBpX2RzaV9kY3Nf d3JpdGUoc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpLCB1OCBjbWQsCisJCQkgICBjb25zdCB2 b2lkICpkYXRhLCBzaXplX3QgbGVuKQoreworCXNzaXplX3QgZXJyOworCXNpemVfdCBzaXplOwor CXU4ICp0eDsKKworCWlmIChsZW4gPiAwKSB7CisJCXNpemUgPSAxICsgbGVuOworCisJCXR4ID0g a21hbGxvYyhzaXplLCBHRlBfS0VSTkVMKTsKKwkJaWYgKCF0eCkKKwkJCXJldHVybiAtRU5PTUVN OworCisJCS8qIGNvbmNhdGVuYXRlIHRoZSBEQ1MgY29tbWFuZCBieXRlIGFuZCB0aGUgcGF5bG9h ZCAqLworCQl0eFswXSA9IGNtZDsKKwkJbWVtY3B5KCZ0eFsxXSwgZGF0YSwgbGVuKTsKKwl9IGVs c2UgeworCQl0eCA9ICZjbWQ7CisJCXNpemUgPSAxOworCX0KKworCWVyciA9IG1pcGlfZHNpX2Rj c193cml0ZV9idWZmZXIoZHNpLCB0eCwgc2l6ZSk7CisKKwlpZiAobGVuID4gMCkKKwkJa2ZyZWUo dHgpOworCisJcmV0dXJuIGVycjsKK30KIEVYUE9SVF9TWU1CT0wobWlwaV9kc2lfZGNzX3dyaXRl KTsKIAogLyoqCi0gKiBtaXBpX2RzaV9kY3NfcmVhZCAtIHNlbmQgRENTIHJlYWQgcmVxdWVzdCBj b21tYW5kCi0gKiBAZHNpOiBEU0kgZGV2aWNlCi0gKiBAY21kOiBEQ1MgcmVhZCBjb21tYW5kCi0g KiBAZGF0YTogcG9pbnRlciB0byByZWFkIGJ1ZmZlcgotICogQGxlbjogbGVuZ3RoIG9mIEBkYXRh CisgKiBtaXBpX2RzaV9kY3NfcmVhZCgpIC0gc2VuZCBEQ1MgcmVhZCByZXF1ZXN0IGNvbW1hbmQK KyAqIEBkc2k6IERTSSBwZXJpcGhlcmFsIGRldmljZQorICogQGNtZDogRENTIGNvbW1hbmQKKyAq IEBkYXRhOiBidWZmZXIgaW4gd2hpY2ggdG8gcmVjZWl2ZSBkYXRhCisgKiBAbGVuOiBzaXplIG9m IHJlY2VpdmUgYnVmZmVyCiAgKgotICogRnVuY3Rpb24gcmV0dXJucyBudW1iZXIgb2YgcmVhZCBi eXRlcyBvciBlcnJvciBjb2RlLgorICogUmV0dXJuOiBUaGUgbnVtYmVyIG9mIGJ5dGVzIHJlYWQg b3IgYSBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCiAgKi8KIHNzaXplX3QgbWlwaV9k c2lfZGNzX3JlYWQoc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpLCB1OCBjbWQsIHZvaWQgKmRh dGEsCiAJCQkgIHNpemVfdCBsZW4pCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtczZlOGFhMC5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXM2ZThhYTAuYwpp bmRleCBiNTIxN2ZlMzdmMDIuLjBmODVhN2MzNzY4NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLXM2ZThhYTAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtczZlOGFhMC5jCkBAIC0xNDEsNyArMTQxLDcgQEAgc3RhdGljIHZvaWQgczZlOGFhMF9kY3Nf d3JpdGUoc3RydWN0IHM2ZThhYTAgKmN0eCwgY29uc3Qgdm9pZCAqZGF0YSwgc2l6ZV90IGxlbikK IAlpZiAoY3R4LT5lcnJvciA8IDApCiAJCXJldHVybjsKIAotCXJldCA9IG1pcGlfZHNpX2Rjc193 cml0ZShkc2ksIGRhdGEsIGxlbik7CisJcmV0ID0gbWlwaV9kc2lfZGNzX3dyaXRlX2J1ZmZlcihk c2ksIGRhdGEsIGxlbik7CiAJaWYgKHJldCA8IDApIHsKIAkJZGV2X2VycihjdHgtPmRldiwgImVy cm9yICV6ZCB3cml0aW5nIGRjcyBzZXE6ICUqcGhcbiIsIHJldCwgbGVuLAogCQkJZGF0YSk7CmRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fbWlwaV9kc2kuaCBiL2luY2x1ZGUvZHJtL2RybV9t aXBpX2RzaS5oCmluZGV4IDY2M2FhNjg4MjZmNC4uZTM3YjE5NjJhYjdlIDEwMDY0NAotLS0gYS9p bmNsdWRlL2RybS9kcm1fbWlwaV9kc2kuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fbWlwaV9kc2ku aApAQCAtMTUwLDggKzE1MCwxMCBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBtaXBpX2RzaV9kZXZp Y2UgKnRvX21pcGlfZHNpX2RldmljZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiAKIGludCBtaXBpX2Rz aV9hdHRhY2goc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpKTsKIGludCBtaXBpX2RzaV9kZXRh Y2goc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpKTsKLXNzaXplX3QgbWlwaV9kc2lfZGNzX3dy aXRlKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSwgY29uc3Qgdm9pZCAqZGF0YSwKLQkJCSAg ICBzaXplX3QgbGVuKTsKK3NzaXplX3QgbWlwaV9kc2lfZGNzX3dyaXRlX2J1ZmZlcihzdHJ1Y3Qg bWlwaV9kc2lfZGV2aWNlICpkc2ksCisJCQkJICBjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgbGVu KTsKK3NzaXplX3QgbWlwaV9kc2lfZGNzX3dyaXRlKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRz aSwgdTggY21kLAorCQkJICAgY29uc3Qgdm9pZCAqZGF0YSwgc2l6ZV90IGxlbik7CiBzc2l6ZV90 IG1pcGlfZHNpX2Rjc19yZWFkKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSwgdTggY21kLCB2 b2lkICpkYXRhLAogCQkJICBzaXplX3QgbGVuKTsKIAotLSAKMi4xLjIKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK ZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==