From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 14/24] drm/i915/dp: Allow big joiner modes in intel_dp_mode_valid(), v2. Date: Fri, 4 Oct 2019 13:35:04 +0200 Message-ID: <20191004113514.17064-15-maarten.lankhorst@linux.intel.com> References: <20191004113514.17064-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 366356EB38 for ; Fri, 4 Oct 2019 11:35:23 +0000 (UTC) In-Reply-To: <20191004113514.17064-1-maarten.lankhorst@linux.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 U21hbGwgY2hhbmdlcyB0byBpbnRlbF9kcF9tb2RlX3ZhbGlkKCksIGFsbG93IGxpc3RpbmcgbW9k ZXMgdGhhdApjYW4gb25seSBiZSBzdXBwb3J0ZWQgaW4gdGhlIGJpZ2pvaW5lciBjb25maWd1cmF0 aW9uLCB3aGljaCBpcwpub3Qgc3VwcG9ydGVkIHlldC4KCmVEUCBkb2VzIG5vdCBzdXBwb3J0IGJp Z2pvaW5lciwgc28gZG8gbm90IGV4cG9zZSBiaWdqb2luZXIgb25seQptb2RlcyBvbiB0aGUgZURQ IHBvcnQuCgpDaGFuZ2VzIHNpbmNlIHYxOgotIERpc2FsbG93IGJpZ2pvaW5lciBvbiBlRFAuCgpT aWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXgu aW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYyB8 IDkyICsrKysrKysrKysrKysrKysrKystLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA3MiBpbnNlcnRp b25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2RwLmMKaW5kZXggNDI5NzczODY1NWM2Li41YzczMjNhZjA4YjMgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2RwLmMKQEAgLTI0NCw3ICsyNDQsNyBAQCBpbnRlbF9kcF9tYXhf ZGF0YV9yYXRlKGludCBtYXhfbGlua19jbG9jaywgaW50IG1heF9sYW5lcykKIH0KIAogc3RhdGlj IGludAotaW50ZWxfZHBfZG93bnN0cmVhbV9tYXhfZG90Y2xvY2soc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCkKK2ludGVsX2RwX2Rvd25zdHJlYW1fbWF4X2RvdGNsb2NrKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHAsIGJvb2wgYWxsb3dfYmlnam9pbmVyKQogewogCXN0cnVjdCBpbnRlbF9kaWdp dGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwogCXN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyID0gJmludGVsX2RpZ19wb3J0LT5iYXNlOwpAQCAt MjU0LDYgKzI1NCw5IEBAIGludGVsX2RwX2Rvd25zdHJlYW1fbWF4X2RvdGNsb2NrKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHApCiAKIAlpbnQgdHlwZSA9IGludGVsX2RwLT5kb3duc3RyZWFtX3Bv cnRzWzBdICYgRFBfRFNfUE9SVF9UWVBFX01BU0s7CiAKKwlpZiAoYWxsb3dfYmlnam9pbmVyICYm IElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEpCisJCW1heF9kb3RjbGsgKj0gMjsKKwogCWlmICh0 eXBlICE9IERQX0RTX1BPUlRfVFlQRV9WR0EpCiAJCXJldHVybiBtYXhfZG90Y2xrOwogCkBAIC01 MDYsNyArNTA5LDggQEAgc21hbGxfam9pbmVyX3JhbV9zaXplX2JpdHMoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUpCiAKIHN0YXRpYyB1MTYgaW50ZWxfZHBfZHNjX2dldF9vdXRwdXRfYnBw KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCQkJCSAgICAgICB1MzIgbGlua19jbG9j aywgdTMyIGxhbmVfY291bnQsCi0JCQkJICAgICAgIHUzMiBtb2RlX2Nsb2NrLCB1MzIgbW9kZV9o ZGlzcGxheSkKKwkJCQkgICAgICAgdTMyIG1vZGVfY2xvY2ssIHUzMiBtb2RlX2hkaXNwbGF5LAor CQkJCSAgICAgICBib29sIGJpZ2pvaW5lcikKIHsKIAl1MzIgYml0c19wZXJfcGl4ZWwsIG1heF9i cHBfc21hbGxfam9pbmVyX3JhbTsKIAlpbnQgaTsKQEAgLTUyNCw2ICs1MjgsMTAgQEAgc3RhdGlj IHUxNiBpbnRlbF9kcF9kc2NfZ2V0X291dHB1dF9icHAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUsCiAJLyogU21hbGwgSm9pbmVyIENoZWNrOiBvdXRwdXQgYnBwIDw9IGpvaW5lciBSQU0g KGJpdHMpIC8gSG9yaXouIHdpZHRoICovCiAJbWF4X2JwcF9zbWFsbF9qb2luZXJfcmFtID0gc21h bGxfam9pbmVyX3JhbV9zaXplX2JpdHMoaTkxNSkgLwogCQltb2RlX2hkaXNwbGF5OworCisJaWYg KGJpZ2pvaW5lcikKKwkJbWF4X2JwcF9zbWFsbF9qb2luZXJfcmFtICo9IDI7CisKIAlEUk1fREVC VUdfS01TKCJNYXggc21hbGwgam9pbmVyIGJwcDogJXVcbiIsIG1heF9icHBfc21hbGxfam9pbmVy X3JhbSk7CiAKIAkvKgpAQCAtNTMyLDYgKzU0MCwxNSBAQCBzdGF0aWMgdTE2IGludGVsX2RwX2Rz Y19nZXRfb3V0cHV0X2JwcChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAkgKi8KIAli aXRzX3Blcl9waXhlbCA9IG1pbihiaXRzX3Blcl9waXhlbCwgbWF4X2JwcF9zbWFsbF9qb2luZXJf cmFtKTsKIAorCWlmIChiaWdqb2luZXIpIHsKKwkJdTMyIG1heF9icHBfYmlnam9pbmVyID0KKwkJ CWk5MTUtPm1heF9jZGNsa19mcmVxICogNDggLworCQkJaW50ZWxfZHBfbW9kZV90b19mZWNfY2xv Y2sobW9kZV9jbG9jayk7CisKKwkJRFJNX0RFQlVHX0tNUygiTWF4IGJpZyBqb2luZXIgYnBwOiAl dVxuIiwgbWF4X2JwcF9iaWdqb2luZXIpOworCQliaXRzX3Blcl9waXhlbCA9IG1pbihiaXRzX3Bl cl9waXhlbCwgbWF4X2JwcF9iaWdqb2luZXIpOworCX0KKwogCS8qIEVycm9yIG91dCBpZiB0aGUg bWF4IGJwcCBpcyBsZXNzIHRoYW4gc21hbGxlc3QgYWxsb3dlZCB2YWxpZCBicHAgKi8KIAlpZiAo Yml0c19wZXJfcGl4ZWwgPCB2YWxpZF9kc2NfYnBwWzBdKSB7CiAJCURSTV9ERUJVR19LTVMoIlVu c3VwcG9ydGVkIEJQUCAldSwgbWluICV1XG4iLApAQCAtNTU0LDcgKzU3MSw4IEBAIHN0YXRpYyB1 MTYgaW50ZWxfZHBfZHNjX2dldF9vdXRwdXRfYnBwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1LAogfQogCiBzdGF0aWMgdTggaW50ZWxfZHBfZHNjX2dldF9zbGljZV9jb3VudChzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwLAotCQkJCSAgICAgICBpbnQgbW9kZV9jbG9jaywgaW50IG1vZGVf aGRpc3BsYXkpCisJCQkJICAgICAgIGludCBtb2RlX2Nsb2NrLCBpbnQgbW9kZV9oZGlzcGxheSwK KwkJCQkgICAgICAgYm9vbCBiaWdqb2luZXIpCiB7CiAJdTggbWluX3NsaWNlX2NvdW50LCBpOwog CWludCBtYXhfc2xpY2Vfd2lkdGg7CkBAIC01NzksMTIgKzU5NywyMCBAQCBzdGF0aWMgdTggaW50 ZWxfZHBfZHNjX2dldF9zbGljZV9jb3VudChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCiAJ LyogRmluZCB0aGUgY2xvc2VzdCBtYXRjaCB0byB0aGUgdmFsaWQgc2xpY2UgY291bnQgdmFsdWVz ICovCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodmFsaWRfZHNjX3NsaWNlY291bnQpOyBp KyspIHsKLQkJaWYgKHZhbGlkX2RzY19zbGljZWNvdW50W2ldID4KLQkJICAgIGRybV9kcF9kc2Nf c2lua19tYXhfc2xpY2VfY291bnQoaW50ZWxfZHAtPmRzY19kcGNkLAotCQkJCQkJICAgIGZhbHNl KSkKKwkJdTggdGVzdF9zbGljZV9jb3VudCA9IGJpZ2pvaW5lciA/CisJCQkyICogdmFsaWRfZHNj X3NsaWNlY291bnRbaV0gOgorCQkJdmFsaWRfZHNjX3NsaWNlY291bnRbaV07CisKKwkJaWYgKHRl c3Rfc2xpY2VfY291bnQgPgorCQkgICAgZHJtX2RwX2RzY19zaW5rX21heF9zbGljZV9jb3VudChp bnRlbF9kcC0+ZHNjX2RwY2QsIGZhbHNlKSkKIAkJCWJyZWFrOwotCQlpZiAobWluX3NsaWNlX2Nv dW50ICA8PSB2YWxpZF9kc2Nfc2xpY2Vjb3VudFtpXSkKLQkJCXJldHVybiB2YWxpZF9kc2Nfc2xp Y2Vjb3VudFtpXTsKKworCQkvKiBiaWcgam9pbmVyIG5lZWRzIHNtYWxsIGpvaW5lciB0byBiZSBl bmFibGVkICovCisJCWlmIChiaWdqb2luZXIgJiYgdGVzdF9zbGljZV9jb3VudCA8IDQpCisJCQlj b250aW51ZTsKKworCQlpZiAobWluX3NsaWNlX2NvdW50IDw9IHRlc3Rfc2xpY2VfY291bnQpCisJ CQlyZXR1cm4gdGVzdF9zbGljZV9jb3VudDsKIAl9CiAKIAlEUk1fREVCVUdfS01TKCJVbnN1cHBv cnRlZCBTbGljZSBDb3VudCAlZFxuIiwgbWluX3NsaWNlX2NvdW50KTsKQEAgLTYwNCwxMSArNjMw LDE1IEBAIGludGVsX2RwX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv ciwKIAlpbnQgbWF4X2RvdGNsazsKIAl1MTYgZHNjX21heF9vdXRwdXRfYnBwID0gMDsKIAl1OCBk c2Nfc2xpY2VfY291bnQgPSAwOworCWJvb2wgZHNjID0gZmFsc2UsIGJpZ2pvaW5lciA9IGZhbHNl OwogCiAJaWYgKG1vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19EQkxTQ0FOKQogCQlyZXR1cm4g TU9ERV9OT19EQkxFU0NBTjsKIAotCW1heF9kb3RjbGsgPSBpbnRlbF9kcF9kb3duc3RyZWFtX21h eF9kb3RjbG9jayhpbnRlbF9kcCk7CisJaWYgKG1vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19E QkxDTEspCisJCXJldHVybiBNT0RFX0hfSUxMRUdBTDsKKworCW1heF9kb3RjbGsgPSBpbnRlbF9k cF9kb3duc3RyZWFtX21heF9kb3RjbG9jayhpbnRlbF9kcCwgZmFsc2UpOwogCiAJaWYgKGludGVs X2RwX2lzX2VkcChpbnRlbF9kcCkgJiYgZml4ZWRfbW9kZSkgewogCQlpZiAobW9kZS0+aGRpc3Bs YXkgPiBmaXhlZF9tb2RlLT5oZGlzcGxheSkKQEAgLTYyMCw2ICs2NTAsMjEgQEAgaW50ZWxfZHBf bW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQl0YXJnZXRfY2xv Y2sgPSBmaXhlZF9tb2RlLT5jbG9jazsKIAl9CiAKKwlpZiAobW9kZS0+Y2xvY2sgPCAxMDAwMCkK KwkJcmV0dXJuIE1PREVfQ0xPQ0tfTE9XOworCisJaWYgKHRhcmdldF9jbG9jayA+IG1heF9kb3Rj bGspIHsKKwkJaWYgKGludGVsX2RwX2lzX2VkcChpbnRlbF9kcCkpCisJCQlyZXR1cm4gTU9ERV9D TE9DS19ISUdIOworCisJCW1heF9kb3RjbGsgPSBpbnRlbF9kcF9kb3duc3RyZWFtX21heF9kb3Rj bG9jayhpbnRlbF9kcCwgdHJ1ZSk7CisKKwkJaWYgKHRhcmdldF9jbG9jayA+IG1heF9kb3RjbGsp CisJCQlyZXR1cm4gTU9ERV9DTE9DS19ISUdIOworCisJCWJpZ2pvaW5lciA9IHRydWU7CisJfQor CiAJbWF4X2xpbmtfY2xvY2sgPSBpbnRlbF9kcF9tYXhfbGlua19yYXRlKGludGVsX2RwKTsKIAlt YXhfbGFuZXMgPSBpbnRlbF9kcF9tYXhfbGFuZV9jb3VudChpbnRlbF9kcCk7CiAKQEAgLTY0NCwy MyArNjg5LDI4IEBAIGludGVsX2RwX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNv bm5lY3RvciwKIAkJCQkJCQkgICAgbWF4X2xpbmtfY2xvY2ssCiAJCQkJCQkJICAgIG1heF9sYW5l cywKIAkJCQkJCQkgICAgdGFyZ2V0X2Nsb2NrLAotCQkJCQkJCSAgICBtb2RlLT5oZGlzcGxheSkg Pj4gNDsKKwkJCQkJCQkgICAgbW9kZS0+aGRpc3BsYXksCisJCQkJCQkJICAgIGJpZ2pvaW5lcikg Pj4gNDsKIAkJCWRzY19zbGljZV9jb3VudCA9CiAJCQkJaW50ZWxfZHBfZHNjX2dldF9zbGljZV9j b3VudChpbnRlbF9kcCwKIAkJCQkJCQkgICAgIHRhcmdldF9jbG9jaywKLQkJCQkJCQkgICAgIG1v ZGUtPmhkaXNwbGF5KTsKKwkJCQkJCQkgICAgIG1vZGUtPmhkaXNwbGF5LAorCQkJCQkJCSAgICAg Ymlnam9pbmVyKTsKIAkJfQorCisJCWRzYyA9IGRzY19tYXhfb3V0cHV0X2JwcCAmJiBkc2Nfc2xp Y2VfY291bnQ7CiAJfQogCi0JaWYgKChtb2RlX3JhdGUgPiBtYXhfcmF0ZSAmJiAhKGRzY19tYXhf b3V0cHV0X2JwcCAmJiBkc2Nfc2xpY2VfY291bnQpKSB8fAotCSAgICB0YXJnZXRfY2xvY2sgPiBt YXhfZG90Y2xrKQorCS8qIGJpZyBqb2luZXIgY29uZmlndXJhdGlvbiBuZWVkcyBEU0MgKi8KKwlp ZiAoYmlnam9pbmVyICYmICFkc2MpIHsKKwkJRFJNX0RFQlVHX0tNUygiTGluayBjbG9jayBuZWVk cyBiaWdqb2luZXIsIGJ1dCBEU0Mgb3IgRkVDIG5vdCBhdmFpbGFibGVcbiIpOwogCQlyZXR1cm4g TU9ERV9DTE9DS19ISUdIOworCX0KIAotCWlmIChtb2RlLT5jbG9jayA8IDEwMDAwKQotCQlyZXR1 cm4gTU9ERV9DTE9DS19MT1c7Ci0KLQlpZiAobW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0RC TENMSykKLQkJcmV0dXJuIE1PREVfSF9JTExFR0FMOworCWlmIChtb2RlX3JhdGUgPiBtYXhfcmF0 ZSAmJiAhZHNjKSB7CisJCURSTV9ERUJVR19LTVMoIkNhbm5vdCBkcml2ZSB3aXRob3V0IERTQ1xu Iik7CisJCXJldHVybiBNT0RFX0NMT0NLX0hJR0g7CisJfQogCiAJcmV0dXJuIGludGVsX21vZGVf dmFsaWRfbWF4X3BsYW5lX3NpemUoZGV2X3ByaXYsIG1vZGUpOwogfQpAQCAtMjA3MiwxMSArMjEy MiwxMyBAQCBzdGF0aWMgaW50IGludGVsX2RwX2RzY19jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwLAogCQkJCQkJICAgIHBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrLAogCQkJ CQkJICAgIHBpcGVfY29uZmlnLT5sYW5lX2NvdW50LAogCQkJCQkJICAgIGFkanVzdGVkX21vZGUt PmNydGNfY2xvY2ssCi0JCQkJCQkgICAgYWRqdXN0ZWRfbW9kZS0+Y3J0Y19oZGlzcGxheSk7CisJ CQkJCQkgICAgYWRqdXN0ZWRfbW9kZS0+Y3J0Y19oZGlzcGxheSwKKwkJCQkJCSAgICBmYWxzZSk7 CiAJCWRzY19kcF9zbGljZV9jb3VudCA9CiAJCQlpbnRlbF9kcF9kc2NfZ2V0X3NsaWNlX2NvdW50 KGludGVsX2RwLAogCQkJCQkJICAgICBhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrLAotCQkJCQkJ ICAgICBhZGp1c3RlZF9tb2RlLT5jcnRjX2hkaXNwbGF5KTsKKwkJCQkJCSAgICAgYWRqdXN0ZWRf bW9kZS0+Y3J0Y19oZGlzcGxheSwKKwkJCQkJCSAgICAgZmFsc2UpOwogCQlpZiAoIWRzY19tYXhf b3V0cHV0X2JwcCB8fCAhZHNjX2RwX3NsaWNlX2NvdW50KSB7CiAJCQlEUk1fREVCVUdfS01TKCJD b21wcmVzc2VkIEJQUC9TbGljZSBDb3VudCBub3Qgc3VwcG9ydGVkXG4iKTsKIAkJCXJldHVybiAt RUlOVkFMOwotLSAKMi4yMy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZng=