From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [PATCH v2 3/9] drm/i915: Split intel_ddi_pre_enable() into DP and HDMI versions Date: Mon, 8 Aug 2016 19:33:12 -0700 Message-ID: <1470709998-10751-4-git-send-email-manasi.d.navare@intel.com> References: <1470709998-10751-1-git-send-email-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id A0A176E21F for ; Tue, 9 Aug 2016 02:20:21 +0000 (UTC) In-Reply-To: <1470709998-10751-1-git-send-email-manasi.d.navare@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: Ander Conselvan de Oliveira List-Id: intel-gfx@lists.freedesktop.org RnJvbTogQW5kZXIgQ29uc2VsdmFuIGRlIE9saXZlaXJhIDxhbmRlci5jb25zZWx2YW4uZGUub2xp dmVpcmFAaW50ZWwuY29tPgoKU3BsaXQgaW50ZWxfZGRpX3ByZV9lbmFibGUoKSBpbnRvIGVuY29k ZXIgdHlwZSBzcGVjaWZpYyB2ZXJzaW9ucyB0aGF0CmRvbid0IGRlcGVuZCBvbiBjcnRjX3N0YXRl LiBUaGUgbmVjZXNzYXJ5IHBhcmFtZXRlcnMgYXJlIHBhc3NlZCBhcwpmdW5jdGlvbiBhcmd1bWVu dHMuIFRoaXMgc3BsaXQgd2lsbCBiZSBuZWNlc3NhcnkgZm9yIGltcGxlbWVudGluZyBEUAp1cGZy b250IGxpbmsgdHJhaW5pbmcuCgp2MjoKKiBSZWJhc2VkIG9udG8ga2VybmVsIHY0LjcgKEppbSkK ClJldmlld2VkLWJ5OiBEdXJnYWRvc3MgUiA8ZHVyZ2Fkb3NzLnJAaW50ZWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBBbmRlciBDb25zZWx2YW4gZGUgT2xpdmVpcmEgPGFuZGVyLmNvbnNlbHZhbi5kZS5v bGl2ZWlyYUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEppbSBCcmlkZSA8amltLmJyaWRlQGxp bnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyB8IDk2 ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCA1NSBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rk aS5jCmluZGV4IDhjODdkMjEuLmRmYjNmYjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RkaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCkBA IC0xNjM0LDU5ICsxNjM0LDczIEBAIHZvaWQgaW50ZWxfZGRpX2Nsa19zZWxlY3Qoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCiAJfQogfQogCi1zdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJl X2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKK3N0YXRpYyB2b2lk IGludGVsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAor CQkJCSAgICBpbnQgbGlua19yYXRlLCB1aW50MzJfdCBsYW5lX2NvdW50LAorCQkJCSAgICBzdHJ1 Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBsbCwKKwkJCQkgICAgYm9vbCBsaW5rX21zdCkKIHsKLQlz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIgPSAmaW50ZWxfZW5jb2Rlci0+YmFzZTsKLQlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmRldik7Ci0J c3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOwot CWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoaW50ZWxfZW5jb2Rl cik7Ci0JaW50IHR5cGUgPSBpbnRlbF9lbmNvZGVyLT50eXBlOwotCi0JaWYgKHR5cGUgPT0gSU5U RUxfT1VUUFVUX0hETUkpIHsKLQkJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNf dG9faW50ZWxfaGRtaShlbmNvZGVyKTsKKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5j X3RvX2ludGVsX2RwKCZlbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKKwllbnVtIHBvcnQgcG9ydCA9 IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9wb3J0KGVuY29kZXIpOwogCi0JCWludGVsX2RwX2R1YWxf bW9kZV9zZXRfdG1kc19vdXRwdXQoaW50ZWxfaGRtaSwgdHJ1ZSk7Ci0JfQorCWludGVsX2RwX3Nl dF9saW5rX3BhcmFtcyhpbnRlbF9kcCwgbGlua19yYXRlLCBsYW5lX2NvdW50LAorCQkJCSBsaW5r X21zdCk7CiAKLQlpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQKSB7Ci0JCXN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7CisJaWYgKGVuY29kZXIt PnR5cGUgPT0gSU5URUxfT1VUUFVUX0VEUCkKIAkJaW50ZWxfZWRwX3BhbmVsX29uKGludGVsX2Rw KTsKLQl9Ci0KLQlpbnRlbF9kZGlfY2xrX3NlbGVjdChpbnRlbF9lbmNvZGVyLCBjcnRjLT5jb25m aWctPnNoYXJlZF9kcGxsKTsKIAotCWlmICh0eXBlID09IElOVEVMX09VVFBVVF9EUCB8fCB0eXBl ID09IElOVEVMX09VVFBVVF9FRFApIHsKLQkJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVu Y190b19pbnRlbF9kcChlbmNvZGVyKTsKKwlpbnRlbF9kZGlfY2xrX3NlbGVjdChlbmNvZGVyLCBw bGwpOworCWludGVsX3ByZXBhcmVfZHBfZGRpX2J1ZmZlcnMoZW5jb2Rlcik7CisJaW50ZWxfZGRp X2luaXRfZHBfYnVmX3JlZyhlbmNvZGVyKTsKKwlpbnRlbF9kcF9zaW5rX2RwbXMoaW50ZWxfZHAs IERSTV9NT0RFX0RQTVNfT04pOworCWludGVsX2RwX3N0YXJ0X2xpbmtfdHJhaW4oaW50ZWxfZHAp OworCWlmIChwb3J0ICE9IFBPUlRfQSB8fCBJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuID49IDkp CisJCWludGVsX2RwX3N0b3BfbGlua190cmFpbihpbnRlbF9kcCk7Cit9CiAKLQkJaW50ZWxfcHJl cGFyZV9kcF9kZGlfYnVmZmVycyhpbnRlbF9lbmNvZGVyKTsKK3N0YXRpYyB2b2lkIGludGVsX2Rk aV9wcmVfZW5hYmxlX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCisJCQkJICAg ICAgYm9vbCBoYXNfaGRtaV9zaW5rLAorCQkJCSAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICphZGp1c3RlZF9tb2RlLAorCQkJCSAgICAgIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxs KQoreworCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hkbWko JmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOworCXN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuY29k ZXIgPSAmZW5jb2Rlci0+YmFzZTsKKwllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RkaV9nZXRfZW5j b2Rlcl9wb3J0KGVuY29kZXIpOworCWludCBsZXZlbCA9IGludGVsX2RkaV9oZG1pX2xldmVsKGRl dl9wcml2LCBwb3J0KTsKIAotCQlpbnRlbF9kcF9zZXRfbGlua19wYXJhbXMoaW50ZWxfZHAsIGNy dGMtPmNvbmZpZy0+cG9ydF9jbG9jaywKLQkJCQkJIGNydGMtPmNvbmZpZy0+bGFuZV9jb3VudCwK LQkJCQkJIGludGVsX2NydGNfaGFzX3R5cGUoY3J0Yy0+Y29uZmlnLAotCQkJCQkJCSAgICAgSU5U RUxfT1VUUFVUX0RQX01TVCkpOworCWludGVsX2RwX2R1YWxfbW9kZV9zZXRfdG1kc19vdXRwdXQo aW50ZWxfaGRtaSwgdHJ1ZSk7CisJaW50ZWxfZGRpX2Nsa19zZWxlY3QoZW5jb2RlciwgcGxsKTsK KwlpbnRlbF9wcmVwYXJlX2hkbWlfZGRpX2J1ZmZlcnMoZW5jb2Rlcik7CiAKLQkJaW50ZWxfZGRp X2luaXRfZHBfYnVmX3JlZyhpbnRlbF9lbmNvZGVyKTsKKwlpZiAoSVNfU0tZTEFLRShkZXZfcHJp dikgfHwgSVNfS0FCWUxBS0UoZGV2X3ByaXYpKQorCQlza2xfZGRpX3NldF9pYm9vc3QoZW5jb2Rl ciwgbGV2ZWwpOworCWVsc2UgaWYgKElTX0JST1hUT04oZGV2X3ByaXYpKQorCQlieHRfZGRpX3Zz d2luZ19zZXF1ZW5jZShkZXZfcHJpdiwgbGV2ZWwsIHBvcnQsCisJCQkJCUlOVEVMX09VVFBVVF9I RE1JKTsKIAotCQlpbnRlbF9kcF9zaW5rX2RwbXMoaW50ZWxfZHAsIERSTV9NT0RFX0RQTVNfT04p OwotCQlpbnRlbF9kcF9zdGFydF9saW5rX3RyYWluKGludGVsX2RwKTsKLQkJaWYgKHBvcnQgIT0g UE9SVF9BIHx8IElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4gPj0gOSkKLQkJCWludGVsX2RwX3N0 b3BfbGlua190cmFpbihpbnRlbF9kcCk7Ci0JfSBlbHNlIGlmICh0eXBlID09IElOVEVMX09VVFBV VF9IRE1JKSB7Ci0JCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVs X2hkbWkoZW5jb2Rlcik7Ci0JCWludCBsZXZlbCA9IGludGVsX2RkaV9oZG1pX2xldmVsKGRldl9w cml2LCBwb3J0KTsKKwlpbnRlbF9oZG1pLT5zZXRfaW5mb2ZyYW1lcyhkcm1fZW5jb2RlciwgaGFz X2hkbWlfc2luaywgYWRqdXN0ZWRfbW9kZSk7Cit9CiAKLQkJaW50ZWxfcHJlcGFyZV9oZG1pX2Rk aV9idWZmZXJzKGludGVsX2VuY29kZXIpOworc3RhdGljIHZvaWQgaW50ZWxfZGRpX3ByZV9lbmFi bGUoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCit7CisJc3RydWN0IGRybV9l bmNvZGVyICplbmNvZGVyID0gJmludGVsX2VuY29kZXItPmJhc2U7CisJc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmNydGMpOworCWludCB0eXBlID0gaW50 ZWxfZW5jb2Rlci0+dHlwZTsKIAotCQlpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikgfHwgSVNfS0FC WUxBS0UoZGV2X3ByaXYpKQotCQkJc2tsX2RkaV9zZXRfaWJvb3N0KGludGVsX2VuY29kZXIsIGxl dmVsKTsKLQkJZWxzZSBpZiAoSVNfQlJPWFRPTihkZXZfcHJpdikpCi0JCQlieHRfZGRpX3Zzd2lu Z19zZXF1ZW5jZShkZXZfcHJpdiwgbGV2ZWwsIHBvcnQsCi0JCQkJCQlJTlRFTF9PVVRQVVRfSERN SSk7CisJaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0RQIHx8IHR5cGUgPT0gSU5URUxfT1VUUFVU X0VEUCkKKwkJaW50ZWxfZGRpX3ByZV9lbmFibGVfZHAoaW50ZWxfZW5jb2RlciwKKwkJCQkJY3J0 Yy0+Y29uZmlnLT5wb3J0X2Nsb2NrLAorCQkJCQljcnRjLT5jb25maWctPmxhbmVfY291bnQsCisJ CQkJCWNydGMtPmNvbmZpZy0+c2hhcmVkX2RwbGwsCisJCQkJCWludGVsX2NydGNfaGFzX3R5cGUo Y3J0Yy0+Y29uZmlnLAorCQkJCQkJCSAgICBJTlRFTF9PVVRQVVRfRFBfTVNUKSk7CiAKLQkJaW50 ZWxfaGRtaS0+c2V0X2luZm9mcmFtZXMoZW5jb2RlciwKLQkJCQkJICAgY3J0Yy0+Y29uZmlnLT5o YXNfaGRtaV9zaW5rLAotCQkJCQkgICAmY3J0Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUp OwotCX0KKwlpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfSERNSSkKKwkJaW50ZWxfZGRpX3ByZV9l bmFibGVfaGRtaShpbnRlbF9lbmNvZGVyLAorCQkJCQljcnRjLT5jb25maWctPmhhc19oZG1pX3Np bmssCisJCQkJCSZjcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZSwKKwkJCQkJY3J0Yy0+ Y29uZmlnLT5zaGFyZWRfZHBsbCk7CiB9CiAKIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wb3N0X2Rp c2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCi0tIAoxLjkuMQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==