From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak M Subject: [Generic GPIO patch 2/3] drm/i915: GPIO for CHT generic MIPI Date: Fri, 19 Feb 2016 16:53:51 +0530 Message-ID: <1455881032-3192-2-git-send-email-m.deepak@intel.com> References: <1455881032-3192-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 0BC306E424 for ; Fri, 19 Feb 2016 11:24:22 +0000 (UTC) In-Reply-To: <1455881032-3192-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 Z3JhbW1pbmcgYWNjb3JkaW5nbHkKZm9yIGNoZXJyeXRyYWlsIGluIHRoaXMgcGF0Y2guCgpDYzog SmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogWW9nZXNo IE1vaGFuIE1hcmltdXRodSA8eW9nZXNoLm1vaGFuLm1hcmltdXRodUBpbnRlbC5jb20+ClNpZ25l ZC1vZmYtYnk6IERlZXBhayBNIDxtLmRlZXBha0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgICAgICAgIHwgMjAgKysrKysrKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHNpX3BhbmVsX3ZidC5jIHwgODcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKystCiAyIGZpbGVzIGNoYW5nZWQsIDEwNiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKaW5kZXggNjA2ZGM3MS4uZmM1NzQ3NyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oCkBAIC02MTUsNiArNjE1LDE2IEBAIHN0YXRpYyBpbmxpbmUgYm9v bCBpOTE1X21taW9fcmVnX3ZhbGlkKGk5MTVfcmVnX3QgcmVnKQogI2RlZmluZSAgIElPU0ZfUE9S VF9OQwkJCQkweDExCiAjZGVmaW5lICAgSU9TRl9QT1JUX0RQSU8JCQkweDEyCiAjZGVmaW5lICAg SU9TRl9QT1JUX0dQSU9fTkMJCQkweDEzCisjZGVmaW5lICAgQ0hWX0lPU0ZfUE9SVF9HUElPX04J CQkweDEzCisjZGVmaW5lICAgQ0hWX0lPU0ZfUE9SVF9HUElPX1NFCQkJMHg0OAorI2RlZmluZSAg IENIVl9JT1NGX1BPUlRfR1BJT19TVwkJCTB4QjIKKyNkZWZpbmUgICBDSFZfSU9TRl9QT1JUX0dQ SU9fRQkJCTB4QTgKKyNkZWZpbmUgICBDSFZfTUFYX0dQSU9fTlVNX04JCQk3MgorI2RlZmluZSAg IENIVl9NQVhfR1BJT19OVU1fU0UJCQk5OQorI2RlZmluZSAgIENIVl9NQVhfR1BJT19OVU1fU1cJ CQkxOTcKKyNkZWZpbmUgICBDSFZfTUlOX0dQSU9fTlVNX1NFCQkJNzMKKyNkZWZpbmUgICBDSFZf TUlOX0dQSU9fTlVNX1NXCQkJMTAwCisjZGVmaW5lICAgQ0hWX01JTl9HUElPX05VTV9FCQkJMTk4 CiAjZGVmaW5lICAgSU9TRl9QT1JUX0NDSwkJCQkweDE0CiAjZGVmaW5lICAgSU9TRl9QT1JUX0RQ SU9fMgkJCTB4MWEKICNkZWZpbmUgICBJT1NGX1BPUlRfRkxJU0RTSQkJCTB4MWIKQEAgLTYzMCw2 ICs2NDAsMTYgQEAgc3RhdGljIGlubGluZSBib29sIGk5MTVfbW1pb19yZWdfdmFsaWQoaTkxNV9y ZWdfdCByZWcpCiAjZGVmaW5lIFZMVl9HUElPX0NGRwkJCQkweDIwMDBDQzAwCiAjZGVmaW5lIFZM Vl9HUElPX0lOUFVUX0RJUwkJCTB4MDQKIAorI2RlZmluZSBDSFZfUEFEX0ZNTFlfQkFTRQkJCTB4 NDQwMAorI2RlZmluZSBDSFZfUEFEX0ZNTFlfU0laRQkJCTB4NDAwCisjZGVmaW5lIENIVl9QQURf Q0ZHXzBfMV9SRUdfU0laRQkJMHg4CisjZGVmaW5lIENIVl9QQURfQ0ZHX1JFR19TSVpFCQkJMHg0 CisjZGVmaW5lIENIVl9WQlRfTUFYX1BJTlNfUEVSX0ZNTFkJCTE1CisKKyNkZWZpbmUgQ0hWX0dQ SU9fQ0ZHX1VOTE9DSwkJCTB4MDAwMDAwMDAKKyNkZWZpbmUgQ0hWX0dQSU9fQ0ZHX0hJWgkJCTB4 MDAwMDgxMDAKKyNkZWZpbmUgQ0hWX0dQSU9fQ0ZHX1RYX1NUQVRFX1NISUZUCQkxCisKIC8qIFNl ZSBjb25maWdkYiBidW5pdCBTQiBhZGRyIG1hcCAqLwogI2RlZmluZSBCVU5JVF9SRUdfQklTT0MJ CQkJMHgxMQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfcGFu ZWxfdmJ0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2lfcGFuZWxfdmJ0LmMKaW5k ZXggZTAyZTVlMC4uN2ZkMWZhZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHNpX3BhbmVsX3ZidC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaV9w YW5lbF92YnQuYwpAQCAtNjg1LDcgKzY4NSw2OCBAQCBzdGF0aWMgY29uc3QgdTggKm1pcGlfZXhl Y19kZWxheShzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksIGNvbnN0IHU4ICpkYXRhKQogCXJl dHVybiBkYXRhOwogfQogCi1zdGF0aWMgY29uc3QgdTggKm1pcGlfZXhlY19ncGlvKHN0cnVjdCBp bnRlbF9kc2kgKmludGVsX2RzaSwgY29uc3QgdTggKmRhdGEpCitzdGF0aWMgaW50IGNodl9wcm9n cmFtX2dwaW8oc3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLAorCQljb25zdCB1OCAqZGF0YSwg Y29uc3QgdTggKipjdXJfZGF0YSkKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxf ZHNpLT5iYXNlLmJhc2UuZGV2OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGRldi0+ZGV2X3ByaXZhdGU7CisJdTggZ3BpbywgYWN0aW9uOworCXUxNiBmYW1pbHlfbnVtOwor CXUxNiBmdW5jdGlvbiwgcGFkOworCXU4IGJsb2NrOworCisJLyoKKwkgKiBTa2lwcGluZyB0aGUg Zmlyc3QgYnl0ZSBhcyBpdCBpcyBvZiBubworCSAqIGludGVyZXN0IGZvciBsaW51eCBrZXJuZWwg aW4gbmV3IFZCVCB2ZXJzaW9uCisJICovCisJaWYgKGRldl9wcml2LT52YnQuZHNpLnNlcV92ZXJz aW9uID49IDMpCisJCWRhdGErKzsKKworCWdwaW8gPSAqZGF0YSsrOworCisJLyogcHVsbCB1cC9k b3duICovCisJYWN0aW9uID0gKmRhdGErKzsKKworCWlmIChkZXZfcHJpdi0+dmJ0LmRzaS5zZXFf dmVyc2lvbiA+PSAzKSB7CisJCWlmIChncGlvIDw9IENIVl9NQVhfR1BJT19OVU1fTikgeworCQkJ YmxvY2sgPSBDSFZfSU9TRl9QT1JUX0dQSU9fTjsKKwkJCURSTV9ERUJVR19EUklWRVIoIkdQSU8g aXMgaW4gdGhlIG5vcnRoIEJsb2NrXG4iKTsKKwkJfSBlbHNlIGlmIChncGlvIDw9IENIVl9NQVhf R1BJT19OVU1fU0UpIHsKKwkJCWJsb2NrID0gQ0hWX0lPU0ZfUE9SVF9HUElPX1NFOworCQkJZ3Bp byA9IGdwaW8gLSBDSFZfTUlOX0dQSU9fTlVNX1NFOworCQkJRFJNX0RFQlVHX0RSSVZFUigiR1BJ TyBpcyBpbiB0aGUgc291dGggZWFzdCBCbG9ja1xuIik7CisJCX0gZWxzZSBpZiAoZ3BpbyA8PSBD SFZfTUFYX0dQSU9fTlVNX1NXKSB7CisJCQlibG9jayA9IENIVl9JT1NGX1BPUlRfR1BJT19TVzsK KwkJCWdwaW8gPSBncGlvIC0gQ0hWX01JTl9HUElPX05VTV9TVzsKKwkJCURSTV9ERUJVR19EUklW RVIoIkdQSU8gaXMgaW4gdGhlIHNvdXRoIHdlc3QgQmxvY2tcbiIpOworCQl9IGVsc2UgeworCQkJ YmxvY2sgPSBDSFZfSU9TRl9QT1JUX0dQSU9fRTsKKwkJCWdwaW8gPSBncGlvIC0gQ0hWX01JTl9H UElPX05VTV9FOworCQkJRFJNX0RFQlVHX0RSSVZFUigiR1BJTyBpcyBpbiB0aGUgZWFzdCBCbG9j a1xuIik7CisJCX0KKwl9IGVsc2UKKwkJYmxvY2sgPSBJT1NGX1BPUlRfR1BJT19OQzsKKworCWZh bWlseV9udW0gPSAgZ3BpbyAvIENIVl9WQlRfTUFYX1BJTlNfUEVSX0ZNTFk7CisJZ3BpbyA9IGdw aW8gLSAoZmFtaWx5X251bSAqIENIVl9WQlRfTUFYX1BJTlNfUEVSX0ZNTFkpOworCXBhZCA9IENI Vl9QQURfRk1MWV9CQVNFICsgKGZhbWlseV9udW0gKiBDSFZfUEFEX0ZNTFlfU0laRSkgKworCQko KCh1MTYpZ3BpbykgKiBDSFZfUEFEX0NGR18wXzFfUkVHX1NJWkUpOworCWZ1bmN0aW9uID0gcGFk ICsgQ0hWX1BBRF9DRkdfUkVHX1NJWkU7CisKKwltdXRleF9sb2NrKCZkZXZfcHJpdi0+c2JfbG9j ayk7CisJdmx2X2lvc2Zfc2Jfd3JpdGUoZGV2X3ByaXYsIGJsb2NrLCBmdW5jdGlvbiwKKwkJCUNI Vl9HUElPX0NGR19VTkxPQ0spOworCXZsdl9pb3NmX3NiX3dyaXRlKGRldl9wcml2LCBibG9jaywg cGFkLCBDSFZfR1BJT19DRkdfSElaIHwKKwkJCShhY3Rpb24gPDwgQ0hWX0dQSU9fQ0ZHX1RYX1NU QVRFX1NISUZUKSk7CisJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+c2JfbG9jayk7CisKKwkqY3Vy X2RhdGEgPSBkYXRhOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdmx2X3Byb2dyYW1f Z3BpbyhzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2ksCisJCQljb25zdCB1OCAqZGF0YSwgY29u c3QgdTggKipjdXJfZGF0YSkKIHsKIAl1OCBncGlvLCBhY3Rpb247CiAJdTE2IGZ1bmN0aW9uLCBw YWQ7CkBAIC03NDYsNiArODA3LDMwIEBAIHN0YXRpYyBjb25zdCB1OCAqbWlwaV9leGVjX2dwaW8o c3RydWN0IGludGVsX2RzaSAqaW50ZWxfZHNpLCBjb25zdCB1OCAqZGF0YSkKIAltdXRleF91bmxv Y2soJmRldl9wcml2LT5zYl9sb2NrKTsKIAogb3V0OgorCSpjdXJfZGF0YSA9IGRhdGE7CisKKwly ZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IHU4ICptaXBpX2V4ZWNfZ3BpbyhzdHJ1Y3QgaW50 ZWxfZHNpICppbnRlbF9kc2ksIGNvbnN0IHU4ICpkYXRhKQoreworCXN0cnVjdCBkcm1fZGV2aWNl ICpkZXYgPSBpbnRlbF9kc2ktPmJhc2UuYmFzZS5kZXY7CisJaW50IHJldDsKKworCURSTV9ERUJV R19EUklWRVIoIk1JUEk6IGV4ZWN1dGluZyBncGlvIGVsZW1lbnRcbiIpOworCisJcmV0ID0gLUVJ TlZBTDsKKworCWlmIChJU19DSEVSUllWSUVXKGRldikpCisJCXJldCA9IGNodl9wcm9ncmFtX2dw aW8oaW50ZWxfZHNpLCBkYXRhLCAmZGF0YSk7CisJZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhkZXYp KQorCQlyZXQgPSB2bHZfcHJvZ3JhbV9ncGlvKGludGVsX2RzaSwgZGF0YSwgJmRhdGEpOworCWVs c2UKKwkJRFJNX0VSUk9SKCJHUElPIHByb2dyYW1taW5nIG1pc3NpbmcgZm9yIHRoaXMgcGxhdGZv cm0uXG4iKTsKKworCWlmIChyZXQpCisJCXJldHVybiBOVUxMOworCiAJcmV0dXJuIGRhdGE7CiB9 CiAKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK