From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak M Subject: [PATCH 2/2] drm/i915: GPIO for CHT generic MIPI Date: Wed, 24 Feb 2016 19:13:46 +0530 Message-ID: <1456321426-28074-2-git-send-email-m.deepak@intel.com> References: <1456321426-28074-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 8C38F6E729 for ; Wed, 24 Feb 2016 14:19:16 +0000 (UTC) In-Reply-To: <1456321426-28074-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 Cc: Jani Nikula , Deepak M List-Id: intel-gfx@lists.freedesktop.org RnJvbTogWW9nZXNoIE1vaGFuIE1hcmltdXRodSA8eW9nZXNoLm1vaGFuLm1hcmltdXRodUBpbnRl bC5jb20+CgpUaGUgR1BJTyBjb25maWd1cmF0aW9uIGFuZCByZWdpc3RlciBvZmZzZXRzIGFyZSBk aWZmZXJlbnQgZnJvbQpiYXl0cmFpbCBmb3IgY2hlcnJ5dHJhaWwuIFBvcnQgdGhlIGdwaW8gcHJv Z3JhbW1pbmcgYWNjb3JkaW5nbHkKZm9yIGNoZXJyeXRyYWlsIGluIHRoaXMgcGF0Y2guCgp2Mjog UmVtb3ZpbmcgdGhlIGR1cGxpY2F0aW9uIG9mIHBhcnNpbmcKCnYzOiBNb3ZlZCB0aGUgbWFjcm8g ZGVmIHRvIHBhbmVsX3ZidC5jIGZpbGUKCkNjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmph bGFAbGludXguaW50ZWwuY29tPgpDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNv bT4KU2lnbmVkLW9mZi1ieTogWW9nZXNoIE1vaGFuIE1hcmltdXRodSA8eW9nZXNoLm1vaGFuLm1h cmltdXRodUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IERlZXBhayBNIDxtLmRlZXBha0BpbnRl bC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpX3BhbmVsX3ZidC5jIHwg MTIzICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgOTggaW5z ZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZHNpX3BhbmVsX3ZidC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHNpX3BhbmVsX3ZidC5jCmluZGV4IDc5NGJkMWYuLjZiOWExZjcgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9wYW5lbF92YnQuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kc2lfcGFuZWxfdmJ0LmMKQEAgLTU4LDYgKzU4LDI4IEBAIHN0YXRpYyBp bmxpbmUgc3RydWN0IHZidF9wYW5lbCAqdG9fdmJ0X3BhbmVsKHN0cnVjdCBkcm1fcGFuZWwgKnBh bmVsKQogCiAjZGVmaW5lIE5TX0tIWl9SQVRJTyAxMDAwMDAwCiAKKyNkZWZpbmUgQ0hWX0lPU0Zf UE9SVF9HUElPX04gICAgICAgICAgICAgICAgIDB4MTMKKyNkZWZpbmUgQ0hWX0lPU0ZfUE9SVF9H UElPX1NFICAgICAgICAgICAgICAgIDB4NDgKKyNkZWZpbmUgQ0hWX0lPU0ZfUE9SVF9HUElPX1NX ICAgICAgICAgICAgICAgIDB4QjIKKyNkZWZpbmUgQ0hWX0lPU0ZfUE9SVF9HUElPX0UgICAgICAg ICAgICAgICAgIDB4QTgKKyNkZWZpbmUgQ0hWX01BWF9HUElPX05VTV9OICAgICAgICAgICAgICAg ICAgIDcyCisjZGVmaW5lIENIVl9NQVhfR1BJT19OVU1fU0UgICAgICAgICAgICAgICAgICA5OQor I2RlZmluZSBDSFZfTUFYX0dQSU9fTlVNX1NXICAgICAgICAgICAgICAgICAgMTk3CisjZGVmaW5l IENIVl9NSU5fR1BJT19OVU1fU0UgICAgICAgICAgICAgICAgICA3MworI2RlZmluZSBDSFZfTUlO X0dQSU9fTlVNX1NXICAgICAgICAgICAgICAgICAgMTAwCisjZGVmaW5lIENIVl9NSU5fR1BJT19O VU1fRSAgICAgICAgICAgICAgICAgICAxOTgKKworI2RlZmluZSBDSFZfUEFEX0ZNTFlfQkFTRSAg ICAgICAgICAgICAgICAgICAgMHg0NDAwCisjZGVmaW5lIENIVl9QQURfRk1MWV9TSVpFICAgICAg ICAgICAgICAgICAgICAweDQwMAorI2RlZmluZSBDSFZfUEFEX0NGR18wXzFfUkVHX1NJWkUgICAg ICAgICAgICAgMHg4CisjZGVmaW5lIENIVl9QQURfQ0ZHX1JFR19TSVpFICAgICAgICAgICAgICAg ICAweDQKKyNkZWZpbmUgQ0hWX1ZCVF9NQVhfUElOU19QRVJfRk1MWSAgICAgICAgICAgIDE1CisK KyNkZWZpbmUgQ0hWX0dQSU9fQ0ZHX1VOTE9DSyAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAw MAorI2RlZmluZSBDSFZfR1BJT19DRkdfSElaICAgICAgICAgICAgICAgICAgICAgICAweDAwMDA4 MTAwCisjZGVmaW5lIENIVl9HUElPX0NGR19UWF9TVEFURV9TSElGVCAgICAgICAgICAgIDEKKwor CiAjZGVmaW5lIFZMVl9IVl9EREkwX0hQRF9HUElPTkNfMF9QQ09ORjAgICAgICAgICAgICAgMHg0 MTMwCiAjZGVmaW5lIFZMVl9IVl9EREkwX0hQRF9HUElPTkNfMF9QQUQgICAgICAgICAgICAgICAg MHg0MTM4CiAjZGVmaW5lIFZMVl9IVl9EREkwX0REQ19TREFfR1BJT05DXzFfUENPTkYwICAgICAg ICAgMHg0MTIwCkBAIC02ODUsMzQgKzcwNywxMyBAQCBzdGF0aWMgY29uc3QgdTggKm1pcGlfZXhl Y19kZWxheShzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksIGNvbnN0IHU4ICpkYXRhKQogCXJl dHVybiBkYXRhOwogfQogCi1zdGF0aWMgY29uc3QgdTggKm1pcGlfZXhlY19ncGlvKHN0cnVjdCBp bnRlbF9kc2kgKmludGVsX2RzaSwgY29uc3QgdTggKmRhdGEpCit2b2lkIHZsdl9wcm9ncmFtX2dw aW8oc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCB1OCBncGlvLCB1OCBhY3Rpb24pCiB7Ci0J dTggZ3BpbywgYWN0aW9uOworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kc2ktPmJh c2UuYmFzZS5kZXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKIAl1MTYgZnVuY3Rpb24sIHBhZDsKIAl1MzIgdmFsOwogCXU4IHBvcnQ7Ci0J c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RzaS0+YmFzZS5iYXNlLmRldjsKLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwotCi0JRFJN X0RFQlVHX0RSSVZFUigiTUlQSTogZXhlY3V0aW5nIGdwaW8gZWxlbWVudFxuIik7Ci0KLQlpZiAo ZGV2X3ByaXYtPnZidC5kc2kuc2VxX3ZlcnNpb24gPj0gMykKLQkJZGF0YSsrOwotCi0JZ3BpbyA9 ICpkYXRhKys7Ci0KLQkvKiBwdWxsIHVwL2Rvd24gKi8KLQlhY3Rpb24gPSAqZGF0YSsrICYgMTsK LQotCWlmIChncGlvID49IEFSUkFZX1NJWkUoZ3RhYmxlKSkgewotCQlEUk1fREVCVUdfS01TKCJ1 bmtub3duIGdwaW8gJXVcbiIsIGdwaW8pOwotCQlnb3RvIG91dDsKLQl9Ci0KLQlpZiAoIUlTX1ZB TExFWVZJRVcoZGV2X3ByaXYpKSB7Ci0JCURSTV9ERUJVR19LTVMoIkdQSU8gZWxlbWVudCBub3Qg c3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm1cbiIpOwotCQlnb3RvIG91dDsKLQl9CiAKIAlpZiAo ZGV2X3ByaXYtPnZidC5kc2kuc2VxX3ZlcnNpb24gPj0gMykgewogCQlpZiAoZ3BpbyA8PSBJT1NG X01BWF9HUElPX05VTV9OQykgewpAQCAtNzI4LDcgKzcyOSw3IEBAIHN0YXRpYyBjb25zdCB1OCAq bWlwaV9leGVjX2dwaW8oc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCBjb25zdCB1OCAqZGF0 YSkKIAkJCXBvcnQgPSBJT1NGX1BPUlRfR1BJT19TVVM7CiAJCX0gZWxzZSB7CiAJCQlEUk1fRVJS T1IoIkdQSU8gbnVtYmVyIGlzIG5vdCBwcmVzZW50IGluIHRoZSB0YWJsZVxuIik7Ci0JCQlnb3Rv IG91dDsKKwkJCXJldHVybjsKIAkJfQogCX0gZWxzZSB7CiAJCXBvcnQgPSBJT1NGX1BPUlRfR1BJ T19OQzsKQEAgLTc1MCw2ICs3NTEsNzggQEAgc3RhdGljIGNvbnN0IHU4ICptaXBpX2V4ZWNfZ3Bp byhzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksIGNvbnN0IHU4ICpkYXRhKQogCS8qIHB1bGwg dXAvZG93biAqLwogCXZsdl9pb3NmX3NiX3dyaXRlKGRldl9wcml2LCBwb3J0LCBwYWQsIHZhbCk7 CiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+c2JfbG9jayk7Cit9CisKK3ZvaWQgY2h2X3Byb2dy YW1fZ3BpbyhzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksIHU4IGdwaW8sIHU4IGFjdGlvbikK K3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZHNpLT5iYXNlLmJhc2UuZGV2Owor CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJ dTE2IGZ1bmN0aW9uLCBwYWQ7CisJdTE2IGZhbWlseV9udW07CisJdTggYmxvY2s7CisKKwlpZiAo ZGV2X3ByaXYtPnZidC5kc2kuc2VxX3ZlcnNpb24gPj0gMykgeworCQlpZiAoZ3BpbyA8PSBDSFZf TUFYX0dQSU9fTlVNX04pIHsKKwkJCWJsb2NrID0gQ0hWX0lPU0ZfUE9SVF9HUElPX047CisJCQlE Uk1fREVCVUdfRFJJVkVSKCJHUElPIGlzIGluIHRoZSBub3J0aCBCbG9ja1xuIik7CisJCX0gZWxz ZSBpZiAoZ3BpbyA8PSBDSFZfTUFYX0dQSU9fTlVNX1NFKSB7CisJCQlibG9jayA9IENIVl9JT1NG X1BPUlRfR1BJT19TRTsKKwkJCWdwaW8gPSBncGlvIC0gQ0hWX01JTl9HUElPX05VTV9TRTsKKwkJ CURSTV9ERUJVR19EUklWRVIoIkdQSU8gaXMgaW4gdGhlIHNvdXRoIGVhc3QgQmxvY2tcbiIpOwor CQl9IGVsc2UgaWYgKGdwaW8gPD0gQ0hWX01BWF9HUElPX05VTV9TVykgeworCQkJYmxvY2sgPSBD SFZfSU9TRl9QT1JUX0dQSU9fU1c7CisJCQlncGlvID0gZ3BpbyAtIENIVl9NSU5fR1BJT19OVU1f U1c7CisJCQlEUk1fREVCVUdfRFJJVkVSKCJHUElPIGlzIGluIHRoZSBzb3V0aCB3ZXN0IEJsb2Nr XG4iKTsKKwkJfSBlbHNlIHsKKwkJCWJsb2NrID0gQ0hWX0lPU0ZfUE9SVF9HUElPX0U7CisJCQln cGlvID0gZ3BpbyAtIENIVl9NSU5fR1BJT19OVU1fRTsKKwkJCURSTV9ERUJVR19EUklWRVIoIkdQ SU8gaXMgaW4gdGhlIGVhc3QgQmxvY2tcbiIpOworCQl9CisJfSBlbHNlCisJCWJsb2NrID0gSU9T Rl9QT1JUX0dQSU9fTkM7CisKKwlmYW1pbHlfbnVtID0gIGdwaW8gLyBDSFZfVkJUX01BWF9QSU5T X1BFUl9GTUxZOworCWdwaW8gPSBncGlvIC0gKGZhbWlseV9udW0gKiBDSFZfVkJUX01BWF9QSU5T X1BFUl9GTUxZKTsKKwlwYWQgPSBDSFZfUEFEX0ZNTFlfQkFTRSArIChmYW1pbHlfbnVtICogQ0hW X1BBRF9GTUxZX1NJWkUpICsKKwkJKCgodTE2KWdwaW8pICogQ0hWX1BBRF9DRkdfMF8xX1JFR19T SVpFKTsKKwlmdW5jdGlvbiA9IHBhZCArIENIVl9QQURfQ0ZHX1JFR19TSVpFOworCisJbXV0ZXhf bG9jaygmZGV2X3ByaXYtPnNiX2xvY2spOworCXZsdl9pb3NmX3NiX3dyaXRlKGRldl9wcml2LCBi bG9jaywgZnVuY3Rpb24sCisJCQlDSFZfR1BJT19DRkdfVU5MT0NLKTsKKwl2bHZfaW9zZl9zYl93 cml0ZShkZXZfcHJpdiwgYmxvY2ssIHBhZCwgQ0hWX0dQSU9fQ0ZHX0hJWiB8CisJCQkoYWN0aW9u IDw8IENIVl9HUElPX0NGR19UWF9TVEFURV9TSElGVCkpOworCW11dGV4X3VubG9jaygmZGV2X3By aXYtPnNiX2xvY2spOworCit9CisKK3N0YXRpYyBjb25zdCB1OCAqbWlwaV9leGVjX2dwaW8oc3Ry dWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCBjb25zdCB1OCAqZGF0YSkKK3sKKwl1OCBncGlvLCBh Y3Rpb247CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RzaS0+YmFzZS5iYXNlLmRl djsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRl OworCisJRFJNX0RFQlVHX0RSSVZFUigiTUlQSTogZXhlY3V0aW5nIGdwaW8gZWxlbWVudFxuIik7 CisKKwlpZiAoZGV2X3ByaXYtPnZidC5kc2kuc2VxX3ZlcnNpb24gPj0gMykKKwkJZGF0YSsrOwor CisJZ3BpbyA9ICpkYXRhKys7CisKKwkvKiBwdWxsIHVwL2Rvd24gKi8KKwlhY3Rpb24gPSAqZGF0 YSsrICYgMTsKKworCWlmIChncGlvID49IEFSUkFZX1NJWkUoZ3RhYmxlKSkgeworCQlEUk1fREVC VUdfS01TKCJ1bmtub3duIGdwaW8gJXVcbiIsIGdwaW8pOworCQlnb3RvIG91dDsKKwl9CisKKwlp ZiAoSVNfVkFMTEVZVklFVyhkZXYpKQorCQl2bHZfcHJvZ3JhbV9ncGlvKGludGVsX2RzaSwgZ3Bp bywgYWN0aW9uKTsKKwllbHNlIGlmIChJU19DSEVSUllWSUVXKGRldikpCisJCWNodl9wcm9ncmFt X2dwaW8oaW50ZWxfZHNpLCBncGlvLCBhY3Rpb24pOworCWVsc2UKKwkJRFJNX0VSUk9SKCJHUElP IHByb2dyYW1taW5nIG1pc3NpbmcgZm9yIHRoaXMgcGxhdGZvcm0uXG4iKTsKIAogb3V0OgogCXJl dHVybiBkYXRhOwotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=