From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH v2 10/27] drm/dp_mst: Remove huge conditional in drm_dp_mst_handle_up_req() Date: Tue, 3 Sep 2019 16:45:48 -0400 Message-ID: <20190903204645.25487-11-lyude@redhat.com> References: <20190903204645.25487-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190903204645.25487-1-lyude-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Sean Paul , David Airlie , Daniel Vetter , Imre Deak , Maarten Lankhorst , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Maxime Ripard , Juston Li , Daniel Vetter , Harry Wentland , =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= V2hpY2ggcmVkdWNlcyBpbmRlbnRhdGlvbiBhbmQgbWFrZXMgdGhpcyBmdW5jdGlvbiBtb3JlIGxl Z2libGUuCgpDYzogSnVzdG9uIExpIDxqdXN0b24ubGlAaW50ZWwuY29tPgpDYzogSW1yZSBEZWFr IDxpbXJlLmRlYWtAaW50ZWwuY29tPgpDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4KQ2M6IEhhcnJ5IFdlbnRsYW5kIDxod2VudGxhbkBhbWQuY29tPgpD YzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KU2lnbmVkLW9mZi1ieTog THl1ZGUgUGF1bCA8bHl1ZGVAcmVkaGF0LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2Rw X21zdF90b3BvbG9neS5jIHwgOTAgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGUg Y2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgNDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYyBiL2RyaXZlcnMvZ3B1L2RybS9k cm1fZHBfbXN0X3RvcG9sb2d5LmMKaW5kZXggMjQxYzY2Zjc1YmVkLi40MzQ1Mjg3MmVmYWQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYwpAQCAtMzI0NSw3ICszMjQ1LDkgQEAg c3RhdGljIGludCBkcm1fZHBfbXN0X2hhbmRsZV9kb3duX3JlcChzdHJ1Y3QgZHJtX2RwX21zdF90 b3BvbG9neV9tZ3IgKm1ncikKIAogc3RhdGljIGludCBkcm1fZHBfbXN0X2hhbmRsZV91cF9yZXEo c3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IpCiB7Ci0JaW50IHJldCA9IDA7CisJ c3RydWN0IGRybV9kcF9zaWRlYmFuZF9tc2dfcmVxX2JvZHkgbXNnOworCXN0cnVjdCBkcm1fZHBf bXN0X2JyYW5jaCAqbXN0YiA9IE5VTEw7CisJYm9vbCBzZXFubzsKIAogCWlmICghZHJtX2RwX2dl dF9vbmVfc2JfbXNnKG1nciwgdHJ1ZSkpIHsKIAkJbWVtc2V0KCZtZ3ItPnVwX3JlcV9yZWN2LCAw LApAQCAtMzI1Myw2MiArMzI1NSw2MCBAQCBzdGF0aWMgaW50IGRybV9kcF9tc3RfaGFuZGxlX3Vw X3JlcShzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1ncikKIAkJcmV0dXJuIDA7CiAJ fQogCi0JaWYgKG1nci0+dXBfcmVxX3JlY3YuaGF2ZV9lb210KSB7Ci0JCXN0cnVjdCBkcm1fZHBf c2lkZWJhbmRfbXNnX3JlcV9ib2R5IG1zZzsKLQkJc3RydWN0IGRybV9kcF9tc3RfYnJhbmNoICpt c3RiID0gTlVMTDsKLQkJYm9vbCBzZXFubzsKLQotCQlpZiAoIW1nci0+dXBfcmVxX3JlY3YuaW5p dGlhbF9oZHIuYnJvYWRjYXN0KSB7Ci0JCQltc3RiID0gZHJtX2RwX2dldF9tc3RfYnJhbmNoX2Rl dmljZShtZ3IsCi0JCQkJCQkJICAgIG1nci0+dXBfcmVxX3JlY3YuaW5pdGlhbF9oZHIubGN0LAot CQkJCQkJCSAgICBtZ3ItPnVwX3JlcV9yZWN2LmluaXRpYWxfaGRyLnJhZCk7Ci0JCQlpZiAoIW1z dGIpIHsKLQkJCQlEUk1fREVCVUdfS01TKCJHb3QgTVNUIHJlcGx5IGZyb20gdW5rbm93biBkZXZp Y2UgJWRcbiIsIG1nci0+dXBfcmVxX3JlY3YuaW5pdGlhbF9oZHIubGN0KTsKLQkJCQltZW1zZXQo Jm1nci0+dXBfcmVxX3JlY3YsIDAsIHNpemVvZihzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ19y eCkpOwotCQkJCXJldHVybiAwOwotCQkJfQorCWlmICghbWdyLT51cF9yZXFfcmVjdi5oYXZlX2Vv bXQpCisJCXJldHVybiAwOworCisJaWYgKCFtZ3ItPnVwX3JlcV9yZWN2LmluaXRpYWxfaGRyLmJy b2FkY2FzdCkgeworCQltc3RiID0gZHJtX2RwX2dldF9tc3RfYnJhbmNoX2RldmljZShtZ3IsCisJ CQkJCQkgICAgbWdyLT51cF9yZXFfcmVjdi5pbml0aWFsX2hkci5sY3QsCisJCQkJCQkgICAgbWdy LT51cF9yZXFfcmVjdi5pbml0aWFsX2hkci5yYWQpOworCQlpZiAoIW1zdGIpIHsKKwkJCURSTV9E RUJVR19LTVMoIkdvdCBNU1QgcmVwbHkgZnJvbSB1bmtub3duIGRldmljZSAlZFxuIiwgbWdyLT51 cF9yZXFfcmVjdi5pbml0aWFsX2hkci5sY3QpOworCQkJbWVtc2V0KCZtZ3ItPnVwX3JlcV9yZWN2 LCAwLCBzaXplb2Yoc3RydWN0IGRybV9kcF9zaWRlYmFuZF9tc2dfcngpKTsKKwkJCXJldHVybiAw OwogCQl9CisJfQogCi0JCXNlcW5vID0gbWdyLT51cF9yZXFfcmVjdi5pbml0aWFsX2hkci5zZXFu bzsKLQkJZHJtX2RwX3NpZGViYW5kX3BhcnNlX3JlcSgmbWdyLT51cF9yZXFfcmVjdiwgJm1zZyk7 CisJc2Vxbm8gPSBtZ3ItPnVwX3JlcV9yZWN2LmluaXRpYWxfaGRyLnNlcW5vOworCWRybV9kcF9z aWRlYmFuZF9wYXJzZV9yZXEoJm1nci0+dXBfcmVxX3JlY3YsICZtc2cpOwogCi0JCWlmIChtc2cu cmVxX3R5cGUgPT0gRFBfQ09OTkVDVElPTl9TVEFUVVNfTk9USUZZKSB7Ci0JCQlkcm1fZHBfc2Vu ZF91cF9hY2tfcmVwbHkobWdyLCBtZ3ItPm1zdF9wcmltYXJ5LCBtc2cucmVxX3R5cGUsIHNlcW5v LCBmYWxzZSk7CisJaWYgKG1zZy5yZXFfdHlwZSA9PSBEUF9DT05ORUNUSU9OX1NUQVRVU19OT1RJ RlkpIHsKKwkJZHJtX2RwX3NlbmRfdXBfYWNrX3JlcGx5KG1nciwgbWdyLT5tc3RfcHJpbWFyeSwg bXNnLnJlcV90eXBlLCBzZXFubywgZmFsc2UpOwogCi0JCQlpZiAoIW1zdGIpCi0JCQkJbXN0YiA9 IGRybV9kcF9nZXRfbXN0X2JyYW5jaF9kZXZpY2VfYnlfZ3VpZChtZ3IsIG1zZy51LmNvbm5fc3Rh dC5ndWlkKTsKKwkJaWYgKCFtc3RiKQorCQkJbXN0YiA9IGRybV9kcF9nZXRfbXN0X2JyYW5jaF9k ZXZpY2VfYnlfZ3VpZChtZ3IsIG1zZy51LmNvbm5fc3RhdC5ndWlkKTsKIAotCQkJaWYgKCFtc3Ri KSB7Ci0JCQkJRFJNX0RFQlVHX0tNUygiR290IE1TVCByZXBseSBmcm9tIHVua25vd24gZGV2aWNl ICVkXG4iLCBtZ3ItPnVwX3JlcV9yZWN2LmluaXRpYWxfaGRyLmxjdCk7Ci0JCQkJbWVtc2V0KCZt Z3ItPnVwX3JlcV9yZWN2LCAwLCBzaXplb2Yoc3RydWN0IGRybV9kcF9zaWRlYmFuZF9tc2dfcngp KTsKLQkJCQlyZXR1cm4gMDsKLQkJCX0KKwkJaWYgKCFtc3RiKSB7CisJCQlEUk1fREVCVUdfS01T KCJHb3QgTVNUIHJlcGx5IGZyb20gdW5rbm93biBkZXZpY2UgJWRcbiIsIG1nci0+dXBfcmVxX3Jl Y3YuaW5pdGlhbF9oZHIubGN0KTsKKwkJCW1lbXNldCgmbWdyLT51cF9yZXFfcmVjdiwgMCwgc2l6 ZW9mKHN0cnVjdCBkcm1fZHBfc2lkZWJhbmRfbXNnX3J4KSk7CisJCQlyZXR1cm4gMDsKKwkJfQog Ci0JCQlkcm1fZHBfdXBkYXRlX3BvcnQobXN0YiwgJm1zZy51LmNvbm5fc3RhdCk7CisJCWRybV9k cF91cGRhdGVfcG9ydChtc3RiLCAmbXNnLnUuY29ubl9zdGF0KTsKIAotCQkJRFJNX0RFQlVHX0tN UygiR290IENTTjogcG46ICVkIGxkcHM6JWQgZGRwczogJWQgbWNzOiAlZCBpcDogJWQgcGR0OiAl ZFxuIiwgbXNnLnUuY29ubl9zdGF0LnBvcnRfbnVtYmVyLCBtc2cudS5jb25uX3N0YXQubGVnYWN5 X2RldmljZV9wbHVnX3N0YXR1cywgbXNnLnUuY29ubl9zdGF0LmRpc3BsYXlwb3J0X2RldmljZV9w bHVnX3N0YXR1cywgbXNnLnUuY29ubl9zdGF0Lm1lc3NhZ2VfY2FwYWJpbGl0eV9zdGF0dXMsIG1z Zy51LmNvbm5fc3RhdC5pbnB1dF9wb3J0LCBtc2cudS5jb25uX3N0YXQucGVlcl9kZXZpY2VfdHlw ZSk7Ci0JCQlkcm1fa21zX2hlbHBlcl9ob3RwbHVnX2V2ZW50KG1nci0+ZGV2KTsKLQotCQl9IGVs c2UgaWYgKG1zZy5yZXFfdHlwZSA9PSBEUF9SRVNPVVJDRV9TVEFUVVNfTk9USUZZKSB7Ci0JCQlk cm1fZHBfc2VuZF91cF9hY2tfcmVwbHkobWdyLCBtZ3ItPm1zdF9wcmltYXJ5LCBtc2cucmVxX3R5 cGUsIHNlcW5vLCBmYWxzZSk7Ci0JCQlpZiAoIW1zdGIpCi0JCQkJbXN0YiA9IGRybV9kcF9nZXRf bXN0X2JyYW5jaF9kZXZpY2VfYnlfZ3VpZChtZ3IsIG1zZy51LnJlc291cmNlX3N0YXQuZ3VpZCk7 CisJCURSTV9ERUJVR19LTVMoIkdvdCBDU046IHBuOiAlZCBsZHBzOiVkIGRkcHM6ICVkIG1jczog JWQgaXA6ICVkIHBkdDogJWRcbiIsIG1zZy51LmNvbm5fc3RhdC5wb3J0X251bWJlciwgbXNnLnUu Y29ubl9zdGF0LmxlZ2FjeV9kZXZpY2VfcGx1Z19zdGF0dXMsIG1zZy51LmNvbm5fc3RhdC5kaXNw bGF5cG9ydF9kZXZpY2VfcGx1Z19zdGF0dXMsIG1zZy51LmNvbm5fc3RhdC5tZXNzYWdlX2NhcGFi aWxpdHlfc3RhdHVzLCBtc2cudS5jb25uX3N0YXQuaW5wdXRfcG9ydCwgbXNnLnUuY29ubl9zdGF0 LnBlZXJfZGV2aWNlX3R5cGUpOworCQlkcm1fa21zX2hlbHBlcl9ob3RwbHVnX2V2ZW50KG1nci0+ ZGV2KTsKIAotCQkJaWYgKCFtc3RiKSB7Ci0JCQkJRFJNX0RFQlVHX0tNUygiR290IE1TVCByZXBs eSBmcm9tIHVua25vd24gZGV2aWNlICVkXG4iLCBtZ3ItPnVwX3JlcV9yZWN2LmluaXRpYWxfaGRy LmxjdCk7Ci0JCQkJbWVtc2V0KCZtZ3ItPnVwX3JlcV9yZWN2LCAwLCBzaXplb2Yoc3RydWN0IGRy bV9kcF9zaWRlYmFuZF9tc2dfcngpKTsKLQkJCQlyZXR1cm4gMDsKLQkJCX0KKwl9IGVsc2UgaWYg KG1zZy5yZXFfdHlwZSA9PSBEUF9SRVNPVVJDRV9TVEFUVVNfTk9USUZZKSB7CisJCWRybV9kcF9z ZW5kX3VwX2Fja19yZXBseShtZ3IsIG1nci0+bXN0X3ByaW1hcnksIG1zZy5yZXFfdHlwZSwgc2Vx bm8sIGZhbHNlKTsKKwkJaWYgKCFtc3RiKQorCQkJbXN0YiA9IGRybV9kcF9nZXRfbXN0X2JyYW5j aF9kZXZpY2VfYnlfZ3VpZChtZ3IsIG1zZy51LnJlc291cmNlX3N0YXQuZ3VpZCk7CiAKLQkJCURS TV9ERUJVR19LTVMoIkdvdCBSU046IHBuOiAlZCBhdmFpbF9wYm4gJWRcbiIsIG1zZy51LnJlc291 cmNlX3N0YXQucG9ydF9udW1iZXIsIG1zZy51LnJlc291cmNlX3N0YXQuYXZhaWxhYmxlX3Bibik7 CisJCWlmICghbXN0YikgeworCQkJRFJNX0RFQlVHX0tNUygiR290IE1TVCByZXBseSBmcm9tIHVu a25vd24gZGV2aWNlICVkXG4iLCBtZ3ItPnVwX3JlcV9yZWN2LmluaXRpYWxfaGRyLmxjdCk7CisJ CQltZW1zZXQoJm1nci0+dXBfcmVxX3JlY3YsIDAsIHNpemVvZihzdHJ1Y3QgZHJtX2RwX3NpZGVi YW5kX21zZ19yeCkpOworCQkJcmV0dXJuIDA7CiAJCX0KIAotCQlpZiAobXN0YikKLQkJCWRybV9k cF9tc3RfdG9wb2xvZ3lfcHV0X21zdGIobXN0Yik7Ci0KLQkJbWVtc2V0KCZtZ3ItPnVwX3JlcV9y ZWN2LCAwLCBzaXplb2Yoc3RydWN0IGRybV9kcF9zaWRlYmFuZF9tc2dfcngpKTsKKwkJRFJNX0RF QlVHX0tNUygiR290IFJTTjogcG46ICVkIGF2YWlsX3BibiAlZFxuIiwgbXNnLnUucmVzb3VyY2Vf c3RhdC5wb3J0X251bWJlciwgbXNnLnUucmVzb3VyY2Vfc3RhdC5hdmFpbGFibGVfcGJuKTsKIAl9 Ci0JcmV0dXJuIHJldDsKKworCWlmIChtc3RiKQorCQlkcm1fZHBfbXN0X3RvcG9sb2d5X3B1dF9t c3RiKG1zdGIpOworCisJbWVtc2V0KCZtZ3ItPnVwX3JlcV9yZWN2LCAwLCBzaXplb2Yoc3RydWN0 IGRybV9kcF9zaWRlYmFuZF9tc2dfcngpKTsKKworCXJldHVybiAwOwogfQogCiAvKioKLS0gCjIu MjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1k LWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4