From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v3 2/4] drm/i915: Add lspcon support for I915 driver Date: Tue, 5 Jul 2016 18:35:48 +0530 Message-ID: <1467723950-14093-3-git-send-email-shashank.sharma@intel.com> References: <1467723950-14093-1-git-send-email-shashank.sharma@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 967FB6E58F for ; Tue, 5 Jul 2016 12:56:19 +0000 (UTC) In-Reply-To: <1467723950-14093-1-git-send-email-shashank.sharma@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, rodrigo.vivi@gmail.com, rodrigo.vivi@intel.com Cc: paulo.r.zanoni@intel.com List-Id: intel-gfx@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIGEgbmV3IGZpbGUsIHRvIGFjY29tbW9kYXRlIGxzcGNvbiBzdXBwb3J0 CmZvciBJOTE1IGRyaXZlci4gVGhlc2UgZnVuY3Rpb25zIHByb2JlLCBkZXRlY3QsIGluaXRpYWxp emUKYW5kIGNvbmZpZ3VyZSBhbiBvbi1ib2FyZCBsc3Bjb24gZGV2aWNlIGR1cmluZyB0aGUgZHJp dmVyCmluaXQgdGltZS4KCkFsc28sIHRoaXMgcGF0Y2ggYWRkcyBhIHNtYWxsIHN0cnVjdHVyZSBm b3IgbHNwY29uIGRldmljZSwKd2hpY2ggd2lsbCBwcm92aWRlIHRoZSBydW50aW1lIHN0YXR1cyBv ZiB0aGUgZGV2aWNlLgoKVjI6IGFkZHJlc3NlZCB2aWxsZSdzIHJldmlldyBjb21tZW50cwotIENs ZWFuIHRoZSBsZWZ0b3ZlciBtYWNyb3MgZnJvbSBwcmV2aW91cyBwYXRjaCBzZXQKClYzOiBSZWJh c2UKClNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVs LmNvbT4KU2lnbmVkLW9mZi1ieTogQWthc2hkZWVwIFNoYXJtYSA8YWthc2hkZWVwLnNoYXJtYUBp bnRlbC5jb20+ClJldmlld2VkLWJ5OiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgICAgICAgfCAgIDEgKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgfCAgMTMgKysrLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMgfCAxNDUgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDE1OCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29u LmMKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L01ha2VmaWxlCmluZGV4IDYxODI5M2MuLjY0Y2QzNzMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L01ha2VmaWxlCkBAIC05NSw2ICs5NSw3IEBAIGk5MTUteSArPSBkdm9fY2g3MDE3Lm8gXAogCSAg aW50ZWxfZHZvLm8gXAogCSAgaW50ZWxfaGRtaS5vIFwKIAkgIGludGVsX2kyYy5vIFwKKwkgIGlu dGVsX2xzcGNvbi5vIFwKIAkgIGludGVsX2x2ZHMubyBcCiAJICBpbnRlbF9wYW5lbC5vIFwKIAkg IGludGVsX3Nkdm8ubyBcCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IGU2YTI0ZDIuLmU2 OTgyY2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC05MjIsMTIgKzkyMiwxOSBAQCBz dHJ1Y3QgaW50ZWxfZHAgewogCWJvb2wgY29tcGxpYW5jZV90ZXN0X2FjdGl2ZTsKIH07CiAKK3N0 cnVjdCBpbnRlbF9sc3Bjb24geworCWJvb2wgYWN0aXZlOworCWVudW0gZHJtX2xzcGNvbl9tb2Rl IG1vZGVfb2Zfb3A7CisJc3RydWN0IGRybV9kcF9hdXggKmF1eDsKK307CisKIHN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQgewogCXN0cnVjdCBpbnRlbF9lbmNvZGVyIGJhc2U7CiAJZW51bSBwb3J0 IHBvcnQ7CiAJdTMyIHNhdmVkX3BvcnRfYml0czsKIAlzdHJ1Y3QgaW50ZWxfZHAgZHA7CiAJc3Ry dWN0IGludGVsX2hkbWkgaGRtaTsKKwlzdHJ1Y3QgaW50ZWxfbHNwY29uIGxzcGNvbjsKIAllbnVt IGlycXJldHVybiAoKmhwZF9wdWxzZSkoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqLCBib29s KTsKIAlib29sIHJlbGVhc2VfY2wyX292ZXJyaWRlOwogCXVpbnQ4X3QgbWF4X2xhbmVzOwpAQCAt MTQ3OCw3ICsxNDg1LDYgQEAgYm9vbCBpbnRlbF9oZG1pX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpwaXBlX2NvbmZpZyk7CiB2b2lkIGludGVsX2RwX2R1YWxfbW9kZV9zZXRfdG1kc19vdXRwdXQo c3RydWN0IGludGVsX2hkbWkgKmhkbWksIGJvb2wgZW5hYmxlKTsKIAotCiAvKiBpbnRlbF9sdmRz LmMgKi8KIHZvaWQgaW50ZWxfbHZkc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogc3Ry dWN0IGludGVsX2VuY29kZXIgKmludGVsX2dldF9sdmRzX2VuY29kZXIoc3RydWN0IGRybV9kZXZp Y2UgKmRldik7CkBAIC0xNzc5LDQgKzE3ODUsOSBAQCBpbnQgaW50ZWxfY29sb3JfY2hlY2soc3Ry dWN0IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKTsKIHZvaWQg aW50ZWxfY29sb3Jfc2V0X2NzYyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwog dm9pZCBpbnRlbF9jb2xvcl9sb2FkX2x1dHMoc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlKTsKIAorLyogaW50ZWxfbHNwY29uLmMgKi8KK2Jvb2wgbHNwY29uX2luaXQoc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpOworZW51bSBkcm1fY29ubmVjdG9yX3N0 YXR1cworbHNwY29uX2xzX21vZGVfZGV0ZWN0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3IsIGJvb2wgZm9yY2UpOworYm9vbCBpc19sc3Bjb25fYWN0aXZlKHN0cnVjdCBpbnRlbF9kaWdp dGFsX3BvcnQgKmRpZ19wb3J0KTsKICNlbmRpZiAvKiBfX0lOVEVMX0RSVl9IX18gKi8KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uZmRlZmY3MQotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xzcGNvbi5jCkBAIC0wLDAgKzEsMTQ1IEBACisvKgorICogQ29weXJpZ2h0IMKpIDIwMTYgSW50 ZWwgQ29ycG9yYXRpb24KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorICogY29weSBvZiB0aGlzIHNv ZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUi KSwKKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1 ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2Rp ZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAorICogYW5kL29yIHNl bGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20g dGhlCisgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZv bGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKKyAqIHBhcmFncmFw aCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9u cyBvZiB0aGUKKyAqIFNvZnR3YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAi QVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBM SUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNI QU5UQUJJTElUWSwKKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05J TkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJ R0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAq IExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RI RVJXSVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI RSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSCisgKiBERUFMSU5HUyBJTiBUSEUgU09GVFdB UkUuCisgKgorICoKKyAqLworI2luY2x1ZGUgPGRybS9kcm1fZWRpZC5oPgorI2luY2x1ZGUgPGRy bS9kcm1fYXRvbWljX2hlbHBlci5oPgorI2luY2x1ZGUgPGRybS9kcm1fZHBfZHVhbF9tb2RlX2hl bHBlci5oPgorI2luY2x1ZGUgImludGVsX2Rydi5oIgorCitib29sIGlzX2xzcGNvbl9hY3RpdmUo c3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqZGlnX3BvcnQpCit7CisJcmV0dXJuIGRpZ19wb3J0 LT5sc3Bjb24uYWN0aXZlOworfQorCitlbnVtIGRybV9sc3Bjb25fbW9kZSBsc3Bjb25fZ2V0X2N1 cnJlbnRfbW9kZShzdHJ1Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24pCit7CisJZW51bSBkcm1fbHNw Y29uX21vZGUgY3VycmVudF9tb2RlID0gRFJNX0xTUENPTl9NT0RFX0lOVkFMSUQ7CisJc3RydWN0 IGkyY19hZGFwdGVyICphZGFwdGVyID0gJmxzcGNvbi0+YXV4LT5kZGM7CisKKwlpZiAoZHJtX2xz cGNvbl9nZXRfbW9kZShhZGFwdGVyLCAmY3VycmVudF9tb2RlKSkKKwkJRFJNX0VSUk9SKCJFcnJv ciByZWFkaW5nIExTUENPTiBtb2RlXG4iKTsKKwllbHNlCisJCURSTV9ERUJVR19LTVMoIkN1cnJl bnQgTFNQQ09OIG1vZGUgJXNcbiIsCisJCQljdXJyZW50X21vZGUgPT0gRFJNX0xTUENPTl9NT0RF X1BDT04gPyAiUENPTiIgOiAiTFMiKTsKKwlyZXR1cm4gY3VycmVudF9tb2RlOworfQorCitpbnQg bHNwY29uX2NoYW5nZV9tb2RlKHN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbiwKKwllbnVtIGRy bV9sc3Bjb25fbW9kZSBtb2RlLCBib29sIGZvcmNlKQoreworCWludCBlcnI7CisJZW51bSBkcm1f bHNwY29uX21vZGUgY3VycmVudF9tb2RlOworCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9 ICZsc3Bjb24tPmF1eC0+ZGRjOworCisJZXJyID0gZHJtX2xzcGNvbl9nZXRfbW9kZShhZGFwdGVy LCAmY3VycmVudF9tb2RlKTsKKwlpZiAoZXJyKSB7CisJCURSTV9FUlJPUigiRXJyb3IgcmVhZGlu ZyBMU1BDT04gbW9kZVxuIik7CisJCXJldHVybiBlcnI7CisJfQorCisJaWYgKGN1cnJlbnRfbW9k ZSA9PSBtb2RlICYmICFmb3JjZSkgeworCQlEUk1fREVCVUdfS01TKCJDdXJyZW50IG1vZGUgPSBk ZXNpcmVkIExTUENPTiBtb2RlXG4iKTsKKwkJcmV0dXJuIDA7CisJfQorCisJZXJyID0gZHJtX2xz cGNvbl9zZXRfbW9kZShhZGFwdGVyLCBtb2RlKTsKKwlpZiAoZXJyIDwgMCkgeworCQlEUk1fRVJS T1IoIkxTUENPTiBtb2RlIGNoYW5nZSBmYWlsZWRcbiIpOworCQlyZXR1cm4gZXJyOworCX0KKwor CWxzcGNvbi0+bW9kZV9vZl9vcCA9IG1vZGU7CisJRFJNX0RFQlVHX0tNUygiTFNQQ09OIG1vZGUg Y2hhbmdlZCBkb25lXG4iKTsKKwlyZXR1cm4gMDsKK30KKworYm9vbCBsc3Bjb25fZGV0ZWN0X2lk ZW50aWZpZXIoc3RydWN0IGludGVsX2xzcGNvbiAqbHNwY29uKQoreworCWVudW0gZHJtX2RwX2R1 YWxfbW9kZV90eXBlIGFkYXB0b3JfdHlwZTsKKwlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIg PSAmbHNwY29uLT5hdXgtPmRkYzsKKworCS8qIExldHMgcHJvYmUgdGhlIGFkYXB0b3IgYW5kIGNo ZWNrIGl0cyB0eXBlICovCisJYWRhcHRvcl90eXBlID0gZHJtX2RwX2R1YWxfbW9kZV9kZXRlY3Qo YWRhcHRlcik7CisJaWYgKGFkYXB0b3JfdHlwZSAhPSBEUk1fRFBfRFVBTF9NT0RFX0xTUENPTikg eworCQlEUk1fREVCVUdfS01TKCJObyBMU1BDT04gZGV0ZWN0ZWQsIGZvdW5kICVzXG4iLAorCQkJ ZHJtX2RwX2dldF9kdWFsX21vZGVfdHlwZV9uYW1lKGFkYXB0b3JfdHlwZSkpOworCQlyZXR1cm4g ZmFsc2U7CisJfQorCisJLyogWWF5IC4uLiBnb3QgYSBMU1BDT04gZGV2aWNlICovCisJRFJNX0RF QlVHX0tNUygiTFNQQ09OIGRldGVjdGVkXG4iKTsKKwlyZXR1cm4gdHJ1ZTsKK30KKworZW51bSBk cm1fbHNwY29uX21vZGUgbHNwY29uX3Byb2JlKHN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbikK K3sKKworCS8qIERldGVjdCBhIHZhbGlkIGxzcGNvbiBhZGFwdG9yICovCisJaWYgKCFsc3Bjb25f ZGV0ZWN0X2lkZW50aWZpZXIobHNwY29uKSkgeworCQlEUk1fREVCVUdfS01TKCJObyBMU1BDT04g aWRlbnRpZmllciBmb3VuZFxuIik7CisJCXJldHVybiBmYWxzZTsKKwl9CisKKwkvKiBHZXQgTFNQ Q09OJ3MgbW9kZSBvZiBvcGVyYXRpb24gKi8KKwlsc3Bjb24tPm1vZGVfb2Zfb3AgPSBsc3Bjb25f Z2V0X2N1cnJlbnRfbW9kZShsc3Bjb24pOworCWxzcGNvbi0+YWN0aXZlID0gdHJ1ZTsKKwlyZXR1 cm4gdHJ1ZTsKK30KKworYm9vbCBsc3Bjb25faW5pdChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0 ICppbnRlbF9kaWdfcG9ydCkKK3sKKwlzdHJ1Y3QgaW50ZWxfZHAgKmRwID0gJmludGVsX2RpZ19w b3J0LT5kcDsKKwlzdHJ1Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24gPSAmaW50ZWxfZGlnX3BvcnQt PmxzcGNvbjsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2Uu YmFzZS5kZXY7CisKKwlpZiAoIUlTX0dFTjkoZGV2KSkgeworCQlEUk1fRVJST1IoIkxTUENPTiBp cyBzdXBwb3J0ZWQgb24gR0VOOSBvbmx5XG4iKTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKworCWxz cGNvbi0+YWN0aXZlID0gZmFsc2U7CisJbHNwY29uLT5tb2RlX29mX29wID0gRFJNX0xTUENPTl9N T0RFX0lOVkFMSUQ7CisJbHNwY29uLT5hdXggPSAmZHAtPmF1eDsKKworCWlmICghbHNwY29uX3By b2JlKGxzcGNvbikpIHsKKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gcHJvYmUgbHNwY29uXG4iKTsK KwkJcmV0dXJuIGZhbHNlOworCX0KKworCS8qCisJKiBJbiB0aGUgU1cgc3RhdGUgbWFjaGluZSwg bGV0cyBQdXQgTFNQQ09OIGluIFBDT04gbW9kZSBvbmx5LgorCSogSW4gdGhpcyB3YXksIGl0IHdp bGwgd29yayB3aXRoIGJvdGggSERNSSAxLjQgc2lua3MgYXMgd2VsbCBhcyBIRE1JCisJKiAyLjAg c2lua3MuCisJKi8KKwlpZiAobHNwY29uLT5hY3RpdmUgJiYgbHNwY29uLT5tb2RlX29mX29wICE9 IERSTV9MU1BDT05fTU9ERV9QQ09OKSB7CisJCWlmIChsc3Bjb25fY2hhbmdlX21vZGUobHNwY29u LCBEUk1fTFNQQ09OX01PREVfUENPTiwKKwkJCXRydWUpIDwgMCkgeworCQkJRFJNX0VSUk9SKCJM U1BDT04gbW9kZSBjaGFuZ2UgdG8gUENPTiBmYWlsZWRcbiIpOworCQkJcmV0dXJuIGZhbHNlOwor CQl9CisJfQorCisJRFJNX0RFQlVHX0tNUygiU3VjY2VzczogTFNQQ09OIGluaXRcbiIpOworCXJl dHVybiB0cnVlOworfQotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=