From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sonika Jindal Subject: [PATCH] drm/i915: Add hot_plug hook for hdmi encoder Date: Mon, 28 Sep 2015 14:26:04 +0530 Message-ID: <1443430564-12547-1-git-send-email-sonika.jindal@intel.com> References: <55F6CF73.9010707@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 CA3956E3BE for ; Mon, 28 Sep 2015 02:07:53 -0700 (PDT) In-Reply-To: <55F6CF73.9010707@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 VGhpcyBwYXRjaCBhZGRzIGEgc2VwYXJhdGUgcHJvYmUgZnVuY3Rpb24gZm9yIEhETUkKRURJRCBy ZWFkIG92ZXIgRERDIGNoYW5uZWwuIFRoaXMgZnVuY3Rpb24gaGFzIGJlZW4KcmVnaXN0ZXJlZCBh cyBhIC5ob3RfcGx1ZyBoYW5kbGVyIGZvciBIRE1JIGVuY29kZXIuCgpUaGUgY3VycmVudCBpbXBs ZW1lbnRhdGlvbiBvZiBoZG1pX2RldGVjdCgpCmZ1bmN0aW9uIHJlLXNldHMgdGhlIGNhY2hlZCBI RE1JIGVkaWQgKGluIGNvbm5lY3Rvci0+ZGV0ZWN0X2VkaWQpIGluCmV2ZXJ5IGRldGVjdCBjYWxs LlRoaXMgZnVuY3Rpb24gZ2V0cyBjYWxsZWQgbWFueSB0aW1lcywgc29tZXRpbWVzCmRpcmVjdGx5 IGZyb20gdXNlcnNwYWNlIHByb2JlcywgZm9yY2luZyBkcml2ZXJzIHRvIHJlYWQgRURJRCBldmVy eQpkZXRlY3QgZnVuY3Rpb24gY2FsbC5UaGlzIGNhdXNlcyBzZXZlcmFsIHByb2JsZW1zIGxpa2U6 CgoxLiBSYWNlIGNvbmRpdGlvbnMgaW4gbXVsdGlwbGUgaG90X3BsdWcgLyB1bnBsdWcgY2FzZXMs IGJldHdlZW4KICAgaW50ZXJydXB0cyBib3R0b20gaGFsdmVzIGFuZCB1c2Vyc3BhY2UgZGV0ZWN0 aW9ucy4KMi4gTWFueSBVbi1uZWNlc3NhcnkgRURJRCByZWFkcyBmb3Igc2luZ2xlIGhvdHBsdWcv dW5wbHVnCjMuIEhETUkgY29tcGxhaW5jZSBmYWlsdXJlcyB3aGljaCBleHBlY3RzIG9ubHkgb25l IEVESUQgcmVhZCBwZXIgaG90cGx1ZwoKVGhpcyBmdW5jdGlvbiB3aWxsIGJlIHNlcnZpbmcgdGhl IHB1cnBvc2Ugb2YgcmVhbGx5IHJlYWRpbmcgdGhlIEVESUQKYnkgcmVhbGx5IHByb2JpbmcgdGhl IEREQyBjaGFubmVsLCBhbmQgdXBkYXRpbmcgdGhlIGNhY2hlZCBFRElELgoKVGhlIHBsYW4gaXMg dG86CjEuIGk5MTUgSVJRIGhhbmRsZXIgYm90dG9tIGhhbGYgZnVuY3Rpb24gYWxyZWFkeSBjYWxs cwogICBpbnRlbF9lbmNvZGVyLT5ob3RwbHVnKCkgZnVuY3Rpb24uIEFkZGluZyBUaGlzIHByb2Jl IGZ1bmN0aW9uIHdoaWNoCiAgIHdpbGwgcmVhZCB0aGUgRURJRCBvbmx5IGluIGNhc2Ugb2YgYSBo b3RwbHVnIC8gdW5wbHVnLgoyLiBEdXJpbmcgaW5pdF9jb25uZWN0b3IgdGhpcyBwcm9iZSB3aWxs IGJlIGNhbGxlZCB0byByZWFkIHRoZSBlZGlkCjMuIFJldXNlIHRoZSBjYWNoZWQgRURJRCBpbiBo ZG1pX2RldGVjdCgpIGZ1bmN0aW9uLgoKVGhlICI8IGdlbjciIGNoZWNrIGlzIHRoZXJlIGJlY2F1 c2UgdGhpcyB3YXMgdGVzdGVkIG9ubHkgZm9yID49Z2VuNwpwbGF0Zm9ybXMuIEZvciBvbGRlciBw bGF0Zm9ybXMgdGhlIGhvdHBsdWcvcmVhZGluZyBlZGlkIHBhdGggcmVtYWlucyBzYW1lLgoKdjI6 IENhbGxpbmcgc2V0X2VkaWQgaW5zdGVhZCBvZiBoZG1pX3Byb2JlIGR1cmluZyBpbml0LgpBbHNv LCBmb3IgcGxhdGZvcm1zIGhhdmluZyBEREksIGludGVsX2VuY29kZXIgZm9yIERQIGFuZCBIRE1J IGlzIHNhbWUKKHRha2VuIGZyb20gaW50ZWxfZGlnX3BvcnQpLCBzbyBmb3IgRFAgYWxzbywgaG90 X3BsdWcgZnVuY3Rpb24gZ2V0cyBjYWxsZWQKd2hpY2ggaXMgbm90IGludGVuZGVkIGhlcmUuIFNv LCBjaGVjayBmb3IgSERNSSBpbiBpbnRlbF9oZG1pX3Byb2JlClJlbHkgb24gSFBEIGZvciB1cGRh dGluZyBlZGlkIG9ubHkgZm9yIHBsYXRmb3JtcyBnZW4gPiA4IGFuZCBhbHNvIGZvciBWTFYuCgp2 MzogRHJvcHBpbmcgdGhlIGdlbiA8IDggfHwgIVZMViAgY2hlY2suIE5vdyBhbGwgcGxhdGZvcm1z IHNob3VsZCByZWx5IG9uCmhvdHBsdWcgb3IgaW5pdCBmb3IgdXBkYXRpbmcgdGhlIGVkaWQuKERh bmllbCkKQWxzbywgY2FsbGluZyBoZG1pX3Byb2JlIGluIGluaXQgaW5zdGVhZCBvZiBzZXRfZWRp ZAoKdjQ6IFJlbmFtaW5nIGludGVsX2hkbWlfcHJvYmUgdG8gaW50ZWxfaGRtaV9ob3RfcGx1ZyBh bmQgY2hhbmdpbmcgdGhlIHBhdGNoCnN1YmplY3QuIEFsc28gY2FsbGluZyB0aGlzIGhvdHBsdWcg aGFuZGxlciBmcm9tIGludGVsX2hwZF9pbml0IHRvIHRha2UgY2FyZQpvZiBpbml0IHJlc3VtZSBz Y2VuYXJpb3MuCgpTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJt YUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFNvbmlrYSBKaW5kYWwgPHNvbmlrYS5qaW5kYWxA aW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyAgICB8ICAg NTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaG90cGx1Zy5jIHwgICAxMSArKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDU0IGlu c2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwpp bmRleCBiYjMzYzY2Li45YzFhMzA4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCkBAIC0x MzY5LDE4ICsxMzY5LDE2IEBAIGludGVsX2hkbWlfc2V0X2VkaWQoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwgYm9vbCBmb3JjZSkKIAlyZXR1cm4gY29ubmVjdGVkOwogfQogCi1zdGF0 aWMgZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1cwotaW50ZWxfaGRtaV9kZXRlY3Qoc3RydWN0IGRy bV9jb25uZWN0b3IgKmNvbm5lY3RvciwgYm9vbCBmb3JjZSkKK3ZvaWQgaW50ZWxfaGRtaV9ob3Rf cGx1ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKIHsKLQllbnVtIGRybV9j b25uZWN0b3Jfc3RhdHVzIHN0YXR1czsKLQlzdHJ1Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9 IGludGVsX2F0dGFjaGVkX2hkbWkoY29ubmVjdG9yKTsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+ZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfaGRt aSAqaW50ZWxfaGRtaSA9CisJCQllbmNfdG9faW50ZWxfaGRtaSgmaW50ZWxfZW5jb2Rlci0+YmFz ZSk7CisJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0KKwkJCQlpbnRl bF9oZG1pLT5hdHRhY2hlZF9jb25uZWN0b3I7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShpbnRlbF9lbmNvZGVyLT5iYXNlLmRldik7CiAJYm9vbCBsaXZlX3N0 YXR1cyA9IGZhbHNlOwogCXVuc2lnbmVkIGludCByZXRyeSA9IDM7CiAKLQlEUk1fREVCVUdfS01T KCJbQ09OTkVDVE9SOiVkOiVzXVxuIiwKLQkJICAgICAgY29ubmVjdG9yLT5iYXNlLmlkLCBjb25u ZWN0b3ItPm5hbWUpOwotCiAJd2hpbGUgKCFsaXZlX3N0YXR1cyAmJiAtLXJldHJ5KSB7CiAJCWxp dmVfc3RhdHVzID0gaW50ZWxfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChkZXZfcHJpdiwKIAkJCQlo ZG1pX3RvX2RpZ19wb3J0KGludGVsX2hkbWkpKTsKQEAgLTEzOTAsMTUgKzEzODgsNDggQEAgaW50 ZWxfaGRtaV9kZXRlY3Qoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgYm9vbCBmb3Jj ZSkKIAlpZiAoIWxpdmVfc3RhdHVzKQogCQlEUk1fREVCVUdfS01TKCJMaXZlIHN0YXR1cyBub3Qg dXAhIik7CiAKLQlpbnRlbF9oZG1pX3Vuc2V0X2VkaWQoY29ubmVjdG9yKTsKKwkvKgorCSAqIFdl IGFyZSBoZXJlLCBtZWFucyB0aGVyZSBpcyBhIGhvdHBsdWcgb3IgYSBmb3JjZQorCSAqIGRldGVj dGlvbi4gQ2xlYXIgdGhlIGNhY2hlZCBFRElEIGFuZCBwcm9iZSB0aGUKKwkgKiBEREMgYnVzIHRv IGNoZWNrIHRoZSBjdXJyZW50IHN0YXR1cyBvZiBIRE1JLgorCSAqLworCWludGVsX2hkbWlfdW5z ZXRfZWRpZCgmaW50ZWxfY29ubmVjdG9yLT5iYXNlKTsKKwlpZiAoaW50ZWxfaGRtaV9zZXRfZWRp ZCgmaW50ZWxfY29ubmVjdG9yLT5iYXNlLCBsaXZlX3N0YXR1cykpCisJCURSTV9ERUJVR19EUklW RVIoIkREQyBwcm9iZTogZ290IEVESURcbiIpOworCWVsc2UKKwkJRFJNX0RFQlVHX0RSSVZFUigi RERDIHByb2JlOiBubyBFRElEXG4iKTsKK30KIAotCWlmIChpbnRlbF9oZG1pX3NldF9lZGlkKGNv bm5lY3RvciwgbGl2ZV9zdGF0dXMpKSB7CitzdGF0aWMgZW51bSBkcm1fY29ubmVjdG9yX3N0YXR1 cworaW50ZWxfaGRtaV9kZXRlY3Qoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgYm9v bCBmb3JjZSkKK3sKKwllbnVtIGRybV9jb25uZWN0b3Jfc3RhdHVzIHN0YXR1czsKKwlzdHJ1Y3Qg aW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IgPQorCQkJCXRvX2ludGVsX2Nvbm5lY3Rv cihjb25uZWN0b3IpOworCisJRFJNX0RFQlVHX0tNUygiW0NPTk5FQ1RPUjolZDolc11cbiIsCisJ CSAgICAgIGNvbm5lY3Rvci0+YmFzZS5pZCwgY29ubmVjdG9yLT5uYW1lKTsKKworCS8qCisJICog VGhlcmUgYXJlIG1hbnkgdXNlcnNwYWNlIGNhbGxzIHdoaWNoIHByb2JlIEVESUQgZnJvbQorCSAq IGRldGVjdCBwYXRoLiBJbiBjYXNlIG9mIG11bHRpcGxlIGhvdHBsdWcvdW5wbHVnLCB0aGVzZQor CSAqIGNhbiBjYXVzZSByYWNlIGNvbmRpdGlvbnMgd2hpbGUgcHJvYmluZyBFRElELiBBbHNvIGl0 cworCSAqIHdhc3RlIG9mIENQVSBjeWNsZXMgdG8gcmVhZCB0aGUgRURJRCBhZ2FpbiBhbmQgYWdh aW4KKwkgKiB1bmxlc3MgdGhlcmUgaXMgYSByZWFsIGhvdHBsdWcuCisJICogU28sIHJlbHkgb24g aG90cGx1Z3MgYW5kIGluaXQgdG8gcmVhZCBlZGlkLgorCSAqIENoZWNrIGNvbm5lY3RvciBzdGF0 dXMgYmFzZWQgb24gYXZhaWxhYmlsaXR5IG9mIGNhY2hlZCBFRElELgorCSAqLworCisJaWYgKGlu dGVsX2Nvbm5lY3Rvci0+ZGV0ZWN0X2VkaWQpIHsKIAkJc3RydWN0IGludGVsX2hkbWkgKmludGVs X2hkbWkgPSBpbnRlbF9hdHRhY2hlZF9oZG1pKGNvbm5lY3Rvcik7CiAKIAkJaGRtaV90b19kaWdf cG9ydChpbnRlbF9oZG1pKS0+YmFzZS50eXBlID0gSU5URUxfT1VUUFVUX0hETUk7CiAJCXN0YXR1 cyA9IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkOwotCX0gZWxzZQorCQlEUk1fREVCVUdfRFJJ VkVSKCJoZG1pIHN0YXR1cyA9IGNvbm5lY3RlZFxuIik7CisJfSBlbHNlIHsKIAkJc3RhdHVzID0g Y29ubmVjdG9yX3N0YXR1c19kaXNjb25uZWN0ZWQ7CisJCURSTV9ERUJVR19EUklWRVIoImhkbWkg c3RhdHVzID0gZGlzY29ubmVjdGVkXG4iKTsKKwl9CiAKIAlyZXR1cm4gc3RhdHVzOwogfQpAQCAt MjEzMSw2ICsyMTYyLDcgQEAgdm9pZCBpbnRlbF9oZG1pX2luaXRfY29ubmVjdG9yKHN0cnVjdCBp bnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAogCWludGVsX2Nvbm5lY3Rvci0+dW5y ZWdpc3RlciA9IGludGVsX2Nvbm5lY3Rvcl91bnJlZ2lzdGVyOwogCiAJaW50ZWxfaGRtaV9hZGRf cHJvcGVydGllcyhpbnRlbF9oZG1pLCBjb25uZWN0b3IpOworCWludGVsX2VuY29kZXItPmhvdF9w bHVnID0gaW50ZWxfaGRtaV9ob3RfcGx1ZzsKIAogCWludGVsX2Nvbm5lY3Rvcl9hdHRhY2hfZW5j b2RlcihpbnRlbF9jb25uZWN0b3IsIGludGVsX2VuY29kZXIpOwogCWRybV9jb25uZWN0b3JfcmVn aXN0ZXIoY29ubmVjdG9yKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2hvdHBsdWcuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hvdHBsdWcuYwppbmRleCA1 M2MwMTczLi4zNmUxNmY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o b3RwbHVnLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaG90cGx1Zy5jCkBAIC00 NTksNiArNDU5LDcgQEAgdm9pZCBpbnRlbF9ocGRfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRldl9wcml2LT5kZXY7CiAJ c3RydWN0IGRybV9tb2RlX2NvbmZpZyAqbW9kZV9jb25maWcgPSAmZGV2LT5tb2RlX2NvbmZpZzsK IAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOworCXN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyOwogCWludCBpOwogCiAJZm9yX2VhY2hfaHBkX3BpbihpKSB7CkBAIC00ODIsNiAr NDgzLDE2IEBAIHZvaWQgaW50ZWxfaHBkX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5ocGRfaXJxX3NldHVwKQogCQlkZXZfcHJp di0+ZGlzcGxheS5ocGRfaXJxX3NldHVwKGRldik7CiAJc3Bpbl91bmxvY2tfaXJxKCZkZXZfcHJp di0+aXJxX2xvY2spOworCisJLyoKKwkgKiBDb25uZWN0ZWQgYm9vdCAvIHJlc3VtZSBzY2VuYXJp b3MgY2FuJ3QgZ2VuZXJhdGUgbmV3IGhvdCBwbHVnLgorCSAqIFNvLCBwcm9iZSBpdCBtYW51YWxs eS4KKwkgKi8KKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KGVuY29kZXIsICZkZXYtPm1vZGVfY29uZmln LmVuY29kZXJfbGlzdCwKKwkJCSAgICBiYXNlLmhlYWQpIHsKKwkJaWYgKGVuY29kZXItPmhvdF9w bHVnKQorCQkJZW5jb2Rlci0+aG90X3BsdWcoZW5jb2Rlcik7CisJfQogfQogCiB2b2lkIGludGVs X2hwZF9pbml0X3dvcmsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQotLSAKMS43 LjEwLjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==