From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH 09/26] drm/dp_mst: Remove huge conditional in drm_dp_mst_handle_up_req() Date: Wed, 17 Jul 2019 21:42:32 -0400 Message-ID: <20190718014329.8107-10-lyude@redhat.com> References: <20190718014329.8107-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id 24AD16E2D0 for ; Thu, 18 Jul 2019 01:44:33 +0000 (UTC) In-Reply-To: <20190718014329.8107-1-lyude@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Maxime Ripard , Sean Paul , linux-kernel@vger.kernel.org, David Airlie , Juston Li , Harry Wentland List-Id: dri-devel@lists.freedesktop.org V2hpY2ggcmVkdWNlcyBpbmRlbnRhdGlvbiBhbmQgbWFrZXMgdGhpcyBmdW5jdGlvbiBtb3JlIGxl Z2libGUuCgpDYzogSnVzdG9uIExpIDxqdXN0b24ubGlAaW50ZWwuY29tPgpDYzogSW1yZSBEZWFr IDxpbXJlLmRlYWtAaW50ZWwuY29tPgpDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxh QGxpbnV4LmludGVsLmNvbT4KQ2M6IEhhcnJ5IFdlbnRsYW5kIDxod2VudGxhbkBhbWQuY29tPgpT aWduZWQtb2ZmLWJ5OiBMeXVkZSBQYXVsIDxseXVkZUByZWRoYXQuY29tPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMgfCA5MCArKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCA0NSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jIGIvZHJp dmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYwppbmRleCA1N2M5YzYwNWVlMTcuLmI4 NjdhMmU4Zjc3OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xv Z3kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jCkBAIC0zMTI2 LDcgKzMxMjYsOSBAQCBzdGF0aWMgaW50IGRybV9kcF9tc3RfaGFuZGxlX2Rvd25fcmVwKHN0cnVj dCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyKQogCiBzdGF0aWMgaW50IGRybV9kcF9tc3Rf aGFuZGxlX3VwX3JlcShzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1ncikKIHsKLQlp bnQgcmV0ID0gMDsKKwlzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ19yZXFfYm9keSBtc2c7CisJ c3RydWN0IGRybV9kcF9tc3RfYnJhbmNoICptc3RiID0gTlVMTDsKKwlib29sIHNlcW5vOwogCiAJ aWYgKCFkcm1fZHBfZ2V0X29uZV9zYl9tc2cobWdyLCB0cnVlKSkgewogCQltZW1zZXQoJm1nci0+ dXBfcmVxX3JlY3YsIDAsCkBAIC0zMTM0LDYyICszMTM2LDYwIEBAIHN0YXRpYyBpbnQgZHJtX2Rw X21zdF9oYW5kbGVfdXBfcmVxKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyKQog CQlyZXR1cm4gMDsKIAl9CiAKLQlpZiAobWdyLT51cF9yZXFfcmVjdi5oYXZlX2VvbXQpIHsKLQkJ c3RydWN0IGRybV9kcF9zaWRlYmFuZF9tc2dfcmVxX2JvZHkgbXNnOwotCQlzdHJ1Y3QgZHJtX2Rw X21zdF9icmFuY2ggKm1zdGIgPSBOVUxMOwotCQlib29sIHNlcW5vOwotCi0JCWlmICghbWdyLT51 cF9yZXFfcmVjdi5pbml0aWFsX2hkci5icm9hZGNhc3QpIHsKLQkJCW1zdGIgPSBkcm1fZHBfZ2V0 X21zdF9icmFuY2hfZGV2aWNlKG1nciwKLQkJCQkJCQkgICAgbWdyLT51cF9yZXFfcmVjdi5pbml0 aWFsX2hkci5sY3QsCi0JCQkJCQkJICAgIG1nci0+dXBfcmVxX3JlY3YuaW5pdGlhbF9oZHIucmFk KTsKLQkJCWlmICghbXN0YikgewotCQkJCURSTV9ERUJVR19LTVMoIkdvdCBNU1QgcmVwbHkgZnJv bSB1bmtub3duIGRldmljZSAlZFxuIiwgbWdyLT51cF9yZXFfcmVjdi5pbml0aWFsX2hkci5sY3Qp OwotCQkJCW1lbXNldCgmbWdyLT51cF9yZXFfcmVjdiwgMCwgc2l6ZW9mKHN0cnVjdCBkcm1fZHBf c2lkZWJhbmRfbXNnX3J4KSk7Ci0JCQkJcmV0dXJuIDA7Ci0JCQl9Ci0JCX0KKwlpZiAoIW1nci0+ dXBfcmVxX3JlY3YuaGF2ZV9lb210KQorCQlyZXR1cm4gMDsKIAotCQlzZXFubyA9IG1nci0+dXBf cmVxX3JlY3YuaW5pdGlhbF9oZHIuc2Vxbm87Ci0JCWRybV9kcF9zaWRlYmFuZF9wYXJzZV9yZXEo Jm1nci0+dXBfcmVxX3JlY3YsICZtc2cpOworCWlmICghbWdyLT51cF9yZXFfcmVjdi5pbml0aWFs X2hkci5icm9hZGNhc3QpIHsKKwkJbXN0YiA9IGRybV9kcF9nZXRfbXN0X2JyYW5jaF9kZXZpY2Uo bWdyLAorCQkJCQkJICAgIG1nci0+dXBfcmVxX3JlY3YuaW5pdGlhbF9oZHIubGN0LAorCQkJCQkJ ICAgIG1nci0+dXBfcmVxX3JlY3YuaW5pdGlhbF9oZHIucmFkKTsKKwkJaWYgKCFtc3RiKSB7CisJ CQlEUk1fREVCVUdfS01TKCJHb3QgTVNUIHJlcGx5IGZyb20gdW5rbm93biBkZXZpY2UgJWRcbiIs IG1nci0+dXBfcmVxX3JlY3YuaW5pdGlhbF9oZHIubGN0KTsKKwkJCW1lbXNldCgmbWdyLT51cF9y ZXFfcmVjdiwgMCwgc2l6ZW9mKHN0cnVjdCBkcm1fZHBfc2lkZWJhbmRfbXNnX3J4KSk7CisJCQly ZXR1cm4gMDsKKwkJfQorCX0KIAotCQlpZiAobXNnLnJlcV90eXBlID09IERQX0NPTk5FQ1RJT05f U1RBVFVTX05PVElGWSkgewotCQkJZHJtX2RwX3NlbmRfdXBfYWNrX3JlcGx5KG1nciwgbWdyLT5t c3RfcHJpbWFyeSwgbXNnLnJlcV90eXBlLCBzZXFubywgZmFsc2UpOworCXNlcW5vID0gbWdyLT51 cF9yZXFfcmVjdi5pbml0aWFsX2hkci5zZXFubzsKKwlkcm1fZHBfc2lkZWJhbmRfcGFyc2VfcmVx KCZtZ3ItPnVwX3JlcV9yZWN2LCAmbXNnKTsKIAotCQkJaWYgKCFtc3RiKQotCQkJCW1zdGIgPSBk cm1fZHBfZ2V0X21zdF9icmFuY2hfZGV2aWNlX2J5X2d1aWQobWdyLCBtc2cudS5jb25uX3N0YXQu Z3VpZCk7CisJaWYgKG1zZy5yZXFfdHlwZSA9PSBEUF9DT05ORUNUSU9OX1NUQVRVU19OT1RJRlkp IHsKKwkJZHJtX2RwX3NlbmRfdXBfYWNrX3JlcGx5KG1nciwgbWdyLT5tc3RfcHJpbWFyeSwgbXNn LnJlcV90eXBlLCBzZXFubywgZmFsc2UpOwogCi0JCQlpZiAoIW1zdGIpIHsKLQkJCQlEUk1fREVC VUdfS01TKCJHb3QgTVNUIHJlcGx5IGZyb20gdW5rbm93biBkZXZpY2UgJWRcbiIsIG1nci0+dXBf cmVxX3JlY3YuaW5pdGlhbF9oZHIubGN0KTsKLQkJCQltZW1zZXQoJm1nci0+dXBfcmVxX3JlY3Ys IDAsIHNpemVvZihzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ19yeCkpOwotCQkJCXJldHVybiAw OwotCQkJfQorCQlpZiAoIW1zdGIpCisJCQltc3RiID0gZHJtX2RwX2dldF9tc3RfYnJhbmNoX2Rl dmljZV9ieV9ndWlkKG1nciwgbXNnLnUuY29ubl9zdGF0Lmd1aWQpOwogCi0JCQlkcm1fZHBfdXBk YXRlX3BvcnQobXN0YiwgJm1zZy51LmNvbm5fc3RhdCk7CisJCWlmICghbXN0YikgeworCQkJRFJN X0RFQlVHX0tNUygiR290IE1TVCByZXBseSBmcm9tIHVua25vd24gZGV2aWNlICVkXG4iLCBtZ3It PnVwX3JlcV9yZWN2LmluaXRpYWxfaGRyLmxjdCk7CisJCQltZW1zZXQoJm1nci0+dXBfcmVxX3Jl Y3YsIDAsIHNpemVvZihzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ19yeCkpOworCQkJcmV0dXJu IDA7CisJCX0KIAotCQkJRFJNX0RFQlVHX0tNUygiR290IENTTjogcG46ICVkIGxkcHM6JWQgZGRw czogJWQgbWNzOiAlZCBpcDogJWQgcGR0OiAlZFxuIiwgbXNnLnUuY29ubl9zdGF0LnBvcnRfbnVt YmVyLCBtc2cudS5jb25uX3N0YXQubGVnYWN5X2RldmljZV9wbHVnX3N0YXR1cywgbXNnLnUuY29u bl9zdGF0LmRpc3BsYXlwb3J0X2RldmljZV9wbHVnX3N0YXR1cywgbXNnLnUuY29ubl9zdGF0Lm1l c3NhZ2VfY2FwYWJpbGl0eV9zdGF0dXMsIG1zZy51LmNvbm5fc3RhdC5pbnB1dF9wb3J0LCBtc2cu dS5jb25uX3N0YXQucGVlcl9kZXZpY2VfdHlwZSk7Ci0JCQlkcm1fa21zX2hlbHBlcl9ob3RwbHVn X2V2ZW50KG1nci0+ZGV2KTsKKwkJZHJtX2RwX3VwZGF0ZV9wb3J0KG1zdGIsICZtc2cudS5jb25u X3N0YXQpOwogCi0JCX0gZWxzZSBpZiAobXNnLnJlcV90eXBlID09IERQX1JFU09VUkNFX1NUQVRV U19OT1RJRlkpIHsKLQkJCWRybV9kcF9zZW5kX3VwX2Fja19yZXBseShtZ3IsIG1nci0+bXN0X3By aW1hcnksIG1zZy5yZXFfdHlwZSwgc2Vxbm8sIGZhbHNlKTsKLQkJCWlmICghbXN0YikKLQkJCQlt c3RiID0gZHJtX2RwX2dldF9tc3RfYnJhbmNoX2RldmljZV9ieV9ndWlkKG1nciwgbXNnLnUucmVz b3VyY2Vfc3RhdC5ndWlkKTsKKwkJRFJNX0RFQlVHX0tNUygiR290IENTTjogcG46ICVkIGxkcHM6 JWQgZGRwczogJWQgbWNzOiAlZCBpcDogJWQgcGR0OiAlZFxuIiwgbXNnLnUuY29ubl9zdGF0LnBv cnRfbnVtYmVyLCBtc2cudS5jb25uX3N0YXQubGVnYWN5X2RldmljZV9wbHVnX3N0YXR1cywgbXNn LnUuY29ubl9zdGF0LmRpc3BsYXlwb3J0X2RldmljZV9wbHVnX3N0YXR1cywgbXNnLnUuY29ubl9z dGF0Lm1lc3NhZ2VfY2FwYWJpbGl0eV9zdGF0dXMsIG1zZy51LmNvbm5fc3RhdC5pbnB1dF9wb3J0 LCBtc2cudS5jb25uX3N0YXQucGVlcl9kZXZpY2VfdHlwZSk7CisJCWRybV9rbXNfaGVscGVyX2hv dHBsdWdfZXZlbnQobWdyLT5kZXYpOwogCi0JCQlpZiAoIW1zdGIpIHsKLQkJCQlEUk1fREVCVUdf S01TKCJHb3QgTVNUIHJlcGx5IGZyb20gdW5rbm93biBkZXZpY2UgJWRcbiIsIG1nci0+dXBfcmVx X3JlY3YuaW5pdGlhbF9oZHIubGN0KTsKLQkJCQltZW1zZXQoJm1nci0+dXBfcmVxX3JlY3YsIDAs IHNpemVvZihzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ19yeCkpOwotCQkJCXJldHVybiAwOwot CQkJfQorCX0gZWxzZSBpZiAobXNnLnJlcV90eXBlID09IERQX1JFU09VUkNFX1NUQVRVU19OT1RJ RlkpIHsKKwkJZHJtX2RwX3NlbmRfdXBfYWNrX3JlcGx5KG1nciwgbWdyLT5tc3RfcHJpbWFyeSwg bXNnLnJlcV90eXBlLCBzZXFubywgZmFsc2UpOworCQlpZiAoIW1zdGIpCisJCQltc3RiID0gZHJt X2RwX2dldF9tc3RfYnJhbmNoX2RldmljZV9ieV9ndWlkKG1nciwgbXNnLnUucmVzb3VyY2Vfc3Rh dC5ndWlkKTsKIAotCQkJRFJNX0RFQlVHX0tNUygiR290IFJTTjogcG46ICVkIGF2YWlsX3BibiAl ZFxuIiwgbXNnLnUucmVzb3VyY2Vfc3RhdC5wb3J0X251bWJlciwgbXNnLnUucmVzb3VyY2Vfc3Rh dC5hdmFpbGFibGVfcGJuKTsKKwkJaWYgKCFtc3RiKSB7CisJCQlEUk1fREVCVUdfS01TKCJHb3Qg TVNUIHJlcGx5IGZyb20gdW5rbm93biBkZXZpY2UgJWRcbiIsIG1nci0+dXBfcmVxX3JlY3YuaW5p dGlhbF9oZHIubGN0KTsKKwkJCW1lbXNldCgmbWdyLT51cF9yZXFfcmVjdiwgMCwgc2l6ZW9mKHN0 cnVjdCBkcm1fZHBfc2lkZWJhbmRfbXNnX3J4KSk7CisJCQlyZXR1cm4gMDsKIAkJfQogCi0JCWlm IChtc3RiKQotCQkJZHJtX2RwX21zdF90b3BvbG9neV9wdXRfbXN0Yihtc3RiKTsKLQotCQltZW1z ZXQoJm1nci0+dXBfcmVxX3JlY3YsIDAsIHNpemVvZihzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21z Z19yeCkpOworCQlEUk1fREVCVUdfS01TKCJHb3QgUlNOOiBwbjogJWQgYXZhaWxfcGJuICVkXG4i LCBtc2cudS5yZXNvdXJjZV9zdGF0LnBvcnRfbnVtYmVyLCBtc2cudS5yZXNvdXJjZV9zdGF0LmF2 YWlsYWJsZV9wYm4pOwogCX0KLQlyZXR1cm4gcmV0OworCisJaWYgKG1zdGIpCisJCWRybV9kcF9t c3RfdG9wb2xvZ3lfcHV0X21zdGIobXN0Yik7CisKKwltZW1zZXQoJm1nci0+dXBfcmVxX3JlY3Ys IDAsIHNpemVvZihzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ19yeCkpOworCisJcmV0dXJuIDA7 CiB9CiAKIC8qKgotLSAKMi4yMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWw=