From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak M Subject: [MIPI SEQ PARSING v2 PATCH 08/11] drm/i915: GPIO for CHT generic MIPI Date: Thu, 10 Sep 2015 04:54:27 +0530 Message-ID: <1441841070-11532-9-git-send-email-m.deepak@intel.com> References: <1441841070-11532-1-git-send-email-m.deepak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 571A26E336 for ; Wed, 9 Sep 2015 16:20:55 -0700 (PDT) In-Reply-To: <1441841070-11532-1-git-send-email-m.deepak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogWW9nZXNoIE1vaGFuIE1hcmltdXRodSA8eW9nZXNoLm1vaGFuLm1hcmltdXRodUBpbnRl bC5jb20+CgpUaGUgR1BJTyBjb25maWd1cmF0aW9uIGFuZCByZWdpc3RlciBvZmZzZXRzIGFyZSBk aWZmZXJlbnQgZnJvbQpiYXl0cmFpbCBmb3IgY2hlcnJ5dHJhaWwuIFBvcnQgdGhlIGdwaW8gcHJv Z3JhbW1pbmcgYWNjb3JkaW5nbHkKZm9yIGNoZXJyeXRyYWlsIGluIHRoaXMgcGF0Y2guCgp2Mjog UmViYXNlCgpTaWduZWQtb2ZmLWJ5OiBZb2dlc2ggTW9oYW4gTWFyaW11dGh1IDx5b2dlc2gubW9o YW4ubWFyaW11dGh1QGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oICAgICAgICAgICAgfCAgIDIzICsrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHNpX3BhbmVsX3ZidC5jIHwgIDExNyArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCiAyIGZp bGVzIGNoYW5nZWQsIDEyMiBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZWcuaAppbmRleCA1YmVmNTBjLi5jNWJlYTQxIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cmVnLmgKQEAgLTU2OCwxMSArNTY4LDIxIEBACiAjZGVmaW5lICAgSU9TRl9QT1JUX0RQSU8JCQkw eDEyCiAjZGVmaW5lICAgSU9TRl9QT1JUX0RQSU9fMgkJCTB4MWEKICNkZWZpbmUgICBJT1NGX1BP UlRfR1BJT19OQwkJCTB4MTMKKyNkZWZpbmUgICBDSFZfSU9TRl9QT1JUX0dQSU9fTgkJCTB4MTMK ICNkZWZpbmUgICBJT1NGX1BPUlRfR1BJT19TQwkJCTB4NDgKKyNkZWZpbmUgICBDSFZfSU9TRl9Q T1JUX0dQSU9fU0UJCQkweDQ4CisjZGVmaW5lICAgQ0hWX0lPU0ZfUE9SVF9HUElPX1NXCQkJMHhC MgogI2RlZmluZSAgIElPU0ZfUE9SVF9HUElPX1NVUwkJCTB4QTgKKyNkZWZpbmUgICBDSFZfSU9T Rl9QT1JUX0dQSU9fRQkJCTB4QTgKICNkZWZpbmUgICBNQVhfR1BJT19OVU1fTkMJCQkyNgogI2Rl ZmluZSAgIE1BWF9HUElPX05VTV9TQwkJCTEyOAogI2RlZmluZSAgIE1BWF9HUElPX05VTQkJCQkx NzIKKyNkZWZpbmUgICBDSFZfTUFYX0dQSU9fTlVNX04JCQk3MgorI2RlZmluZSAgIENIVl9NQVhf R1BJT19OVU1fU0UJCQk5OQorI2RlZmluZSAgIENIVl9NQVhfR1BJT19OVU1fU1cJCQkxOTcKKyNk ZWZpbmUgICBDSFZfTUlOX0dQSU9fTlVNX1NFCQkJNzMKKyNkZWZpbmUgICBDSFZfTUlOX0dQSU9f TlVNX1NXCQkJMTAwCisjZGVmaW5lICAgQ0hWX01JTl9HUElPX05VTV9FCQkJMTk4CiAjZGVmaW5l ICAgSU9TRl9QT1JUX0NDSwkJCQkweDE0CiAjZGVmaW5lICAgSU9TRl9QT1JUX0NDVQkJCQkweEE5 CiAjZGVmaW5lICAgSU9TRl9QT1JUX0dQU19DT1JFCQkJMHg0OApAQCAtNTgwLDYgKzU5MCwxOSBA QAogI2RlZmluZSBWTFZfSU9TRl9EQVRBCQkJCShWTFZfRElTUExBWV9CQVNFICsgMHgyMTA0KQog I2RlZmluZSBWTFZfSU9TRl9BRERSCQkJCShWTFZfRElTUExBWV9CQVNFICsgMHgyMTA4KQogCisj ZGVmaW5lIFZMVl9HUElPX0NGRwkJCQkweDIwMDBDQzAwCisjZGVmaW5lIFZMVl9HUElPX0lOUFVU X0RJUwkJCTB4MDQKKworI2RlZmluZSBDSFZfUEFEX0ZNTFlfQkFTRQkJCTB4NDQwMAorI2RlZmlu ZSBDSFZfUEFEX0ZNTFlfU0laRQkJCTB4NDAwCisjZGVmaW5lIENIVl9QQURfQ0ZHXzBfMV9SRUdf U0laRQkJMHg4CisjZGVmaW5lIENIVl9QQURfQ0ZHX1JFR19TSVpFCQkJMHg0CisjZGVmaW5lIENI Vl9WQlRfTUFYX1BJTlNfUEVSX0ZNTFkJCTE1CisKKyNkZWZpbmUgQ0hWX0dQSU9fQ0ZHX1VOTE9D SwkJCTB4MDAwMDAwMDAKKyNkZWZpbmUgQ0hWX0dQSU9fQ0ZHX0hpWgkJCTB4MDAwMDgxMDAKKyNk ZWZpbmUgQ0hWX0dQSU9fQ0ZHX1RYX1NUQVRFX1NISUZUCQkxCisKIC8qIFNlZSBjb25maWdkYiBi dW5pdCBTQiBhZGRyIG1hcCAqLwogI2RlZmluZSBCVU5JVF9SRUdfQklTT0MJCQkJMHgxMQogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfcGFuZWxfdmJ0LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfcGFuZWxfdmJ0LmMKaW5kZXggMWFhNWIxOS4u YjBkMDlmNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BhbmVs X3ZidC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wYW5lbF92YnQuYwpA QCAtNDE4LDE3ICs0MTgsNzUgQEAgc3RhdGljIGNvbnN0IHU4ICptaXBpX2V4ZWNfZGVsYXkoc3Ry dWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCBjb25zdCB1OCAqZGF0YSkKIAogCXJldHVybiBkYXRh OwogfQotCi1zdGF0aWMgY29uc3QgdTggKm1pcGlfZXhlY19ncGlvKHN0cnVjdCBpbnRlbF9kc2kg KmludGVsX2RzaSwgY29uc3QgdTggKmRhdGEpCitzdGF0aWMgaW50IGNodl9wcm9ncmFtX2dwaW8o c3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLAorCQkJCWNvbnN0IHU4ICpkYXRhLCBjb25zdCB1 OCAqKmN1cl9kYXRhKQogeworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kc2ktPmJh c2UuYmFzZS5kZXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKIAl1OCBncGlvLCBhY3Rpb247CisJdTE2IGZhbWlseV9udW07CiAJdTE2IGZ1 bmN0aW9uLCBwYWQ7Ci0JdTMyIHZhbDsKIAl1OCBibG9jazsKKworCS8qCisJICogU2tpcHBpbmcg dGhlIGZpcnN0IGJ5dGUgYXMgaXQgaXMgb2Ygbm8KKwkgKiBpbnRlcmVzdCBmb3IgbGludXgga2Vy bmVsIGluIG5ldyBWQlQgdmVyc2lvbgorCSAqLworCWlmIChkZXZfcHJpdi0+dmJ0LmRzaS5zZXFf dmVyc2lvbiA+PSAzKQorCQlkYXRhKys7CisKKwlncGlvID0gKmRhdGErKzsKKworCS8qIHB1bGwg dXAvZG93biAqLworCWFjdGlvbiA9ICpkYXRhKys7CisKKwlpZiAoZGV2X3ByaXYtPnZidC5kc2ku c2VxX3ZlcnNpb24gPj0gMykgeworCQlpZiAoZ3BpbyA8PSBDSFZfTUFYX0dQSU9fTlVNX04pIHsK KwkJCWJsb2NrID0gQ0hWX0lPU0ZfUE9SVF9HUElPX047CisJCQlEUk1fREVCVUdfRFJJVkVSKCJH UElPIGlzIGluIHRoZSBub3J0aCBCbG9ja1xuIik7CisJCX0gZWxzZSBpZiAoZ3BpbyA8PSBDSFZf TUFYX0dQSU9fTlVNX1NFKSB7CisJCQlibG9jayA9IENIVl9JT1NGX1BPUlRfR1BJT19TRTsKKwkJ CWdwaW8gPSBncGlvIC0gQ0hWX01JTl9HUElPX05VTV9TRTsKKwkJCURSTV9ERUJVR19EUklWRVIo IkdQSU8gaXMgaW4gdGhlIHNvdXRoIGVhc3QgQmxvY2tcbiIpOworCQl9IGVsc2UgaWYgKGdwaW8g PD0gQ0hWX01BWF9HUElPX05VTV9TVykgeworCQkJYmxvY2sgPSBDSFZfSU9TRl9QT1JUX0dQSU9f U1c7CisJCQlncGlvID0gZ3BpbyAtIENIVl9NSU5fR1BJT19OVU1fU1c7CisJCQlEUk1fREVCVUdf RFJJVkVSKCJHUElPIGlzIGluIHRoZSBzb3V0aCB3ZXN0IEJsb2NrXG4iKTsKKwkJfSBlbHNlIHsK KwkJCWJsb2NrID0gQ0hWX0lPU0ZfUE9SVF9HUElPX0U7CisJCQlncGlvID0gZ3BpbyAtIENIVl9N SU5fR1BJT19OVU1fRTsKKwkJCURSTV9ERUJVR19EUklWRVIoIkdQSU8gaXMgaW4gdGhlIGVhc3Qg QmxvY2tcbiIpOworCQl9CisJfSBlbHNlCisJCWJsb2NrID0gSU9TRl9QT1JUX0dQSU9fTkM7CisK KwlmYW1pbHlfbnVtID0gIGdwaW8gLyBDSFZfVkJUX01BWF9QSU5TX1BFUl9GTUxZOworCWdwaW8g PSBncGlvIC0gKGZhbWlseV9udW0gKiBDSFZfVkJUX01BWF9QSU5TX1BFUl9GTUxZKTsKKwlwYWQg PSBDSFZfUEFEX0ZNTFlfQkFTRSArIChmYW1pbHlfbnVtICogQ0hWX1BBRF9GTUxZX1NJWkUpICsK KwkJCSgoKHUxNilncGlvKSAqIENIVl9QQURfQ0ZHXzBfMV9SRUdfU0laRSk7CisJZnVuY3Rpb24g PSBwYWQgKyBDSFZfUEFEX0NGR19SRUdfU0laRTsKKworCW11dGV4X2xvY2soJmRldl9wcml2LT5z Yl9sb2NrKTsKKwl2bHZfZ3Bpb193cml0ZShkZXZfcHJpdiwgYmxvY2ssIGZ1bmN0aW9uLAorCQkJ CQlDSFZfR1BJT19DRkdfVU5MT0NLKTsKKwl2bHZfZ3Bpb193cml0ZShkZXZfcHJpdiwgYmxvY2ss IHBhZCwgQ0hWX0dQSU9fQ0ZHX0hpWiB8CisJCQkoYWN0aW9uIDw8IENIVl9HUElPX0NGR19UWF9T VEFURV9TSElGVCkpOworCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPnNiX2xvY2spOworCisJKmN1 cl9kYXRhID0gZGF0YTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHZsdl9wcm9ncmFt X2dwaW8oc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLAorCQljb25zdCB1OCAqZGF0YSwgY29u c3QgdTggKipjdXJfZGF0YSkKK3sKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZHNp LT5iYXNlLmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRl di0+ZGV2X3ByaXZhdGU7Ci0KLQlEUk1fREVCVUdfRFJJVkVSKCJNSVBJOiBleGVjdXRpbmcgZ3Bp byBlbGVtZW50XG4iKTsKKwl1OCBncGlvLCBhY3Rpb247CisJdTE2IGZ1bmN0aW9uLCBwYWQ7CisJ dTMyIHZhbDsKKwl1OCBibG9jazsKIAogCS8qCiAJICogU2tpcHBpbmcgdGhlIGZpcnN0IGJ5dGUg YXMgaXQgaXMgb2Ygbm8KQEAgLTQ0NCwzOSArNTAyLDYyIEBAIHN0YXRpYyBjb25zdCB1OCAqbWlw aV9leGVjX2dwaW8oc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCBjb25zdCB1OCAqZGF0YSkK IAogCWlmIChkZXZfcHJpdi0+dmJ0LmRzaS5zZXFfdmVyc2lvbiA+PSAzKSB7CiAJCWlmIChncGlv IDw9IE1BWF9HUElPX05VTV9OQykgewotCQkJRFJNX0RFQlVHX0RSSVZFUigiR1BJTyBpcyBpbiB0 aGUgbm9ydGggQmxvY2tcbiIpOwogCQkJYmxvY2sgPSBJT1NGX1BPUlRfR1BJT19OQzsKKwkJCURS TV9ERUJVR19EUklWRVIoIkdQSU8gaXMgaW4gdGhlIG5vcnRoIEJsb2NrXG4iKTsKIAkJfSBlbHNl IGlmIChncGlvID4gTUFYX0dQSU9fTlVNX05DICYmIGdwaW8gPD0gTUFYX0dQSU9fTlVNX1NDKSB7 Ci0JCQlEUk1fREVCVUdfRFJJVkVSKCJHUElPIGlzIGluIHRoZSBzb3V0aCBCbG9ja1xuIik7CiAJ CQlibG9jayA9IElPU0ZfUE9SVF9HUElPX1NDOworCQkJRFJNX0RFQlVHX0RSSVZFUigiR1BJTyBp cyBpbiB0aGUgc291dGggQmxvY2tcbiIpOwogCQl9IGVsc2UgaWYgKGdwaW8gPiBNQVhfR1BJT19O VU1fU0MgJiYgZ3BpbyA8PSBNQVhfR1BJT19OVU0pIHsKLQkJCURSTV9ERUJVR19EUklWRVIoIkdQ SU8gaXMgaW4gdGhlIFNVUyBCbG9ja1xuIik7CiAJCQlibG9jayA9IElPU0ZfUE9SVF9HUElPX1NV UzsKKwkJCURSTV9ERUJVR19EUklWRVIoIkdQSU8gaXMgaW4gdGhlIFNVUyBCbG9ja1xuIik7CiAJ CX0gZWxzZSB7CiAJCQlEUk1fRVJST1IoIkdQSU8gbnVtYmVyIGlzIG5vdCBwcmVzZW50IGluIHRo ZSB0YWJsZVxuIik7Ci0JCQlyZXR1cm4gTlVMTDsKKwkJCXJldHVybiAtRUlOVkFMOwogCQl9Ci0J fSBlbHNlIHsKKwl9IGVsc2UKIAkJYmxvY2sgPSBJT1NGX1BPUlRfR1BJT19OQzsKLQl9CiAKIAlm dW5jdGlvbiA9IGd0YWJsZVtncGlvXS5mdW5jdGlvbl9yZWc7CiAJcGFkID0gZ3RhYmxlW2dwaW9d LnBhZF9yZWc7CiAKIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+c2JfbG9jayk7CisKIAlpZiAoIWd0 YWJsZVtncGlvXS5pbml0KSB7Ci0JCS8qIHByb2dyYW0gdGhlIGZ1bmN0aW9uICovCi0JCS8qIEZJ WE1FOiByZW1vdmUgY29uc3RhbnQgYmVsb3cgKi8KLQkJdmx2X2dwaW9fd3JpdGUoZGV2X3ByaXYs IElPU0ZfUE9SVF9HUElPX05DLCBmdW5jdGlvbiwgMHgyMDAwQ0MwMCk7Ci0JCWd0YWJsZVtncGlv XS5pbml0ID0gMTsKKwkJdmx2X2dwaW9fd3JpdGUoZGV2X3ByaXYsIGJsb2NrLCBmdW5jdGlvbiwK KwkJCQlWTFZfR1BJT19DRkcpOworCQlndGFibGVbZ3Bpb10uaW5pdCA9IHRydWU7CiAJfQotCi0J dmFsID0gMHg0IHwgYWN0aW9uOworCXZhbCA9IFZMVl9HUElPX0lOUFVUX0RJUyB8IGFjdGlvbjsK IAogCS8qIHB1bGwgdXAvZG93biAqLwotCXZsdl9ncGlvX3dyaXRlKGRldl9wcml2LCBJT1NGX1BP UlRfR1BJT19OQywgcGFkLCB2YWwpOworCXZsdl9ncGlvX3dyaXRlKGRldl9wcml2LCBibG9jaywg cGFkLCB2YWwpOworCiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+c2JfbG9jayk7CiAKKwkqY3Vy X2RhdGEgPSBkYXRhOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCB1OCAqbWlwaV9l eGVjX2dwaW8oc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCBjb25zdCB1OCAqZGF0YSkKK3sK KwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZHNpLT5iYXNlLmJhc2UuZGV2OworCWlu dCByZXQ7CisKKwlEUk1fREVCVUdfRFJJVkVSKCJNSVBJOiBleGVjdXRpbmcgZ3BpbyBlbGVtZW50 XG4iKTsKKworCXJldCA9IC1FSU5WQUw7CisKKwlpZiAoSVNfQ0hFUlJZVklFVyhkZXYpKQorCQly ZXQgPSBjaHZfcHJvZ3JhbV9ncGlvKGludGVsX2RzaSwgZGF0YSwgJmRhdGEpOworCWVsc2UgaWYg KElTX1ZBTExFWVZJRVcoZGV2KSkKKwkJcmV0ID0gdmx2X3Byb2dyYW1fZ3BpbyhpbnRlbF9kc2ks IGRhdGEsICZkYXRhKTsKKwllbHNlCisJCURSTV9FUlJPUigiR1BJTyBwcm9ncmFtbWluZyBtaXNz aW5nIGZvciB0aGlzIHBsYXRmb3JtLlxuIik7CisKKwlpZiAocmV0KQorCQlyZXR1cm4gTlVMTDsK KwogCXJldHVybiBkYXRhOwogfQogCi0tIAoxLjcuOS41CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=