From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: [PATCH v2 6/7] drm/i915/dp: abstract link config selection Date: Thu, 26 Apr 2018 11:25:29 +0300 Message-ID: <64848b76bf90d6ceecd7ec6b5add28531e0b1a41.1524730974.git.jani.nikula@intel.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 42DCD6E6AD for ; Thu, 26 Apr 2018 08:23:04 +0000 (UTC) In-Reply-To: In-Reply-To: References: 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@intel.com, rodrigo.vivi@intel.com List-Id: intel-gfx@lists.freedesktop.org Rm9yIG5vdywgdGhlcmUncyBqdXN0IHRoZSBvbmUgbGluayBjb25maWcgc2VsZWN0aW9uLCBvcHRp bWl6aW5nIGZvciBzbG93CmFuZCB3aWRlIGxpbmsuIE5vIGZ1bmN0aW9uYWwgY2hhbmdlcy4KCktl ZXAgdGhlIGRlYnVnIGxvZ2dpbmcgaW4gdGhlIGNhbGxlciwgdG8gYXZvaWQgZHVwbGljYXRpb24g bGF0ZXIgb24gaWYKYWx0ZXJuYXRpdmUgbGluayBjb25maW5nIHNlbGVjdGlvbiBnZXRzIGFkZGVk LgoKdjI6IEltcHJvdmVkIGNvbW1pdCBtZXNzYWdlCgpSZXZpZXdlZC1ieTogTWFuYXNpIE5hdmFy ZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1bGEg PGphbmkubmlrdWxhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cC5jIHwgODEgKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYwppbmRleCA5ZWYyOWI2M2IyMzcuLmQ2MjJkYjc2YjljMyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcC5jCkBAIC0xNzA0LDYgKzE3MDQsNDIgQEAgc3RhdGljIGJvb2wgaW50ZWxfZWRw X2NvbXBhcmVfYWx0X21vZGUoc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm0xLAogCXJldHVybiBi cmVzOwogfQogCisvKiBPcHRpbWl6ZSBsaW5rIGNvbmZpZyBpbiBvcmRlcjogbWF4IGJwcCwgbWlu IGNsb2NrLCBtaW4gbGFuZXMgKi8KK3N0YXRpYyBib29sCitpbnRlbF9kcF9jb21wdXRlX2xpbmtf Y29uZmlnX3dpZGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKKwkJCQkgIHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKKwkJCQkgIGNvbnN0IHN0cnVjdCBsaW5rX2NvbmZp Z19saW1pdHMgKmxpbWl0cykKK3sKKwlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRf bW9kZSA9ICZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOworCWludCBicHAsIGNsb2Nr LCBsYW5lX2NvdW50OworCWludCBtb2RlX3JhdGUsIGxpbmtfY2xvY2ssIGxpbmtfYXZhaWw7CisK Kwlmb3IgKGJwcCA9IGxpbWl0cy0+bWF4X2JwcDsgYnBwID49IGxpbWl0cy0+bWluX2JwcDsgYnBw IC09IDIgKiAzKSB7CisJCW1vZGVfcmF0ZSA9IGludGVsX2RwX2xpbmtfcmVxdWlyZWQoYWRqdXN0 ZWRfbW9kZS0+Y3J0Y19jbG9jaywKKwkJCQkJCSAgIGJwcCk7CisKKwkJZm9yIChjbG9jayA9IGxp bWl0cy0+bWluX2Nsb2NrOyBjbG9jayA8PSBsaW1pdHMtPm1heF9jbG9jazsgY2xvY2srKykgewor CQkJZm9yIChsYW5lX2NvdW50ID0gbGltaXRzLT5taW5fbGFuZV9jb3VudDsKKwkJCSAgICAgbGFu ZV9jb3VudCA8PSBsaW1pdHMtPm1heF9sYW5lX2NvdW50OworCQkJICAgICBsYW5lX2NvdW50IDw8 PSAxKSB7CisJCQkJbGlua19jbG9jayA9IGludGVsX2RwLT5jb21tb25fcmF0ZXNbY2xvY2tdOwor CQkJCWxpbmtfYXZhaWwgPSBpbnRlbF9kcF9tYXhfZGF0YV9yYXRlKGxpbmtfY2xvY2ssCisJCQkJ CQkJCSAgICBsYW5lX2NvdW50KTsKKworCQkJCWlmIChtb2RlX3JhdGUgPD0gbGlua19hdmFpbCkg eworCQkJCQlwaXBlX2NvbmZpZy0+bGFuZV9jb3VudCA9IGxhbmVfY291bnQ7CisJCQkJCXBpcGVf Y29uZmlnLT5waXBlX2JwcCA9IGJwcDsKKwkJCQkJcGlwZV9jb25maWctPnBvcnRfY2xvY2sgPSBs aW5rX2Nsb2NrOworCisJCQkJCXJldHVybiB0cnVlOworCQkJCX0KKwkJCX0KKwkJfQorCX0KKwor CXJldHVybiBmYWxzZTsKK30KKwogc3RhdGljIGJvb2wKIGludGVsX2RwX2NvbXB1dGVfbGlua19j b25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkgICAgIHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKQEAgLTE3MTEsOCArMTc0Nyw2IEBAIGludGVsX2Rw X2NvbXB1dGVfbGlua19jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmcGlwZV9jb25maWctPmJhc2Uu YWRqdXN0ZWRfbW9kZTsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVs X2RwKCZlbmNvZGVyLT5iYXNlKTsKIAlzdHJ1Y3QgbGlua19jb25maWdfbGltaXRzIGxpbWl0czsK LQlpbnQgYnBwLCBjbG9jaywgbGFuZV9jb3VudDsKLQlpbnQgbW9kZV9yYXRlLCBsaW5rX2F2YWls LCBsaW5rX2Nsb2NrOwogCWludCBjb21tb25fbGVuOwogCiAJY29tbW9uX2xlbiA9IGludGVsX2Rw X2NvbW1vbl9sZW5fcmF0ZV9saW1pdChpbnRlbF9kcCwKQEAgLTE3NjYsMzcgKzE4MDAsMjIgQEAg aW50ZWxfZHBfY29tcHV0ZV9saW5rX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKIAkJICAgICAgaW50ZWxfZHAtPmNvbW1vbl9yYXRlc1tsaW1pdHMubWF4X2Nsb2NrXSwKIAkJ ICAgICAgbGltaXRzLm1heF9icHAsIGFkanVzdGVkX21vZGUtPmNydGNfY2xvY2spOwogCi0JZm9y IChicHAgPSBsaW1pdHMubWF4X2JwcDsgYnBwID49IGxpbWl0cy5taW5fYnBwOyBicHAgLT0gMiAq IDMpIHsKLQkJbW9kZV9yYXRlID0gaW50ZWxfZHBfbGlua19yZXF1aXJlZChhZGp1c3RlZF9tb2Rl LT5jcnRjX2Nsb2NrLAotCQkJCQkJICAgYnBwKTsKLQotCQlmb3IgKGNsb2NrID0gbGltaXRzLm1p bl9jbG9jazsgY2xvY2sgPD0gbGltaXRzLm1heF9jbG9jazsgY2xvY2srKykgewotCQkJZm9yIChs YW5lX2NvdW50ID0gbGltaXRzLm1pbl9sYW5lX2NvdW50OwotCQkJICAgICBsYW5lX2NvdW50IDw9 IGxpbWl0cy5tYXhfbGFuZV9jb3VudDsKLQkJCSAgICAgbGFuZV9jb3VudCA8PD0gMSkgewotCi0J CQkJbGlua19jbG9jayA9IGludGVsX2RwLT5jb21tb25fcmF0ZXNbY2xvY2tdOwotCQkJCWxpbmtf YXZhaWwgPSBpbnRlbF9kcF9tYXhfZGF0YV9yYXRlKGxpbmtfY2xvY2ssCi0JCQkJCQkJCSAgICBs YW5lX2NvdW50KTsKLQotCQkJCWlmIChtb2RlX3JhdGUgPD0gbGlua19hdmFpbCkgewotCQkJCQln b3RvIGZvdW5kOwotCQkJCX0KLQkJCX0KLQkJfQotCX0KLQotCXJldHVybiBmYWxzZTsKLQotZm91 bmQ6Ci0JcGlwZV9jb25maWctPmxhbmVfY291bnQgPSBsYW5lX2NvdW50OwotCXBpcGVfY29uZmln LT5waXBlX2JwcCA9IGJwcDsKLQlwaXBlX2NvbmZpZy0+cG9ydF9jbG9jayA9IGludGVsX2RwLT5j b21tb25fcmF0ZXNbY2xvY2tdOworCS8qCisJICogT3B0aW1pemUgZm9yIHNsb3cgYW5kIHdpZGUu IFRoaXMgaXMgdGhlIHBsYWNlIHRvIGFkZCBhbHRlcm5hdGl2ZQorCSAqIG9wdGltaXphdGlvbiBw b2xpY3kuCisJICovCisJaWYgKCFpbnRlbF9kcF9jb21wdXRlX2xpbmtfY29uZmlnX3dpZGUoaW50 ZWxfZHAsIHBpcGVfY29uZmlnLCAmbGltaXRzKSkKKwkJcmV0dXJuIGZhbHNlOwogCiAJRFJNX0RF QlVHX0tNUygiRFAgbGFuZSBjb3VudCAlZCBjbG9jayAlZCBicHAgJWRcbiIsCi0JCSAgICAgIHBp cGVfY29uZmlnLT5sYW5lX2NvdW50LCBwaXBlX2NvbmZpZy0+cG9ydF9jbG9jaywgYnBwKTsKLQlE Uk1fREVCVUdfS01TKCJEUCBsaW5rIGJ3IHJlcXVpcmVkICVpIGF2YWlsYWJsZSAlaVxuIiwKLQkJ ICAgICAgbW9kZV9yYXRlLCBsaW5rX2F2YWlsKTsKKwkJICAgICAgcGlwZV9jb25maWctPmxhbmVf Y291bnQsIHBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrLAorCQkgICAgICBwaXBlX2NvbmZpZy0+cGlw ZV9icHApOworCisJRFJNX0RFQlVHX0tNUygiRFAgbGluayByYXRlIHJlcXVpcmVkICVpIGF2YWls YWJsZSAlaVxuIiwKKwkJICAgICAgaW50ZWxfZHBfbGlua19yZXF1aXJlZChhZGp1c3RlZF9tb2Rl LT5jcnRjX2Nsb2NrLAorCQkJCQkgICAgIHBpcGVfY29uZmlnLT5waXBlX2JwcCksCisJCSAgICAg IGludGVsX2RwX21heF9kYXRhX3JhdGUocGlwZV9jb25maWctPnBvcnRfY2xvY2ssCisJCQkJCSAg ICAgcGlwZV9jb25maWctPmxhbmVfY291bnQpKTsKIAogCXJldHVybiB0cnVlOwogfQotLSAKMi4x MS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK