From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH 11/26] drm/dp_mst: Refactor drm_dp_mst_handle_up_req() Date: Wed, 17 Jul 2019 21:42:34 -0400 Message-ID: <20190718014329.8107-12-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 24F366E2D2 for ; Thu, 18 Jul 2019 01:44:36 +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 VGhlcmUncyBhIGNvdXBsZSBvZiBjaGFuZ2VzIGhlcmUsIHNvIHRvIHN1bW1hcml6ZToKCiogUmVt b3ZlIHRoZSBiaWcgdWdseSBtZ3ItPnVwX3JlcV9yZWN2LmhhdmVfZW9tdCBjb25kaXRpb25hbCB0 byBzYXZlIG9uCiAgaW5kZW50aW5nCiogU3RvcmUgJm1nci0+dXBfcmVxX3JlY3YuaW5pdGlhbF9o ZHIgaW4gYSB2YXJpYWJsZSBzbyB3ZSBkb24ndCBrZWVwCiAgZ29pbmcgb3ZlciA4MCBjaGFyYWN0 ZXIgbG9uZyBsaW5lcwoqIERlLWR1cGxpY2F0ZSBjb2RlIGZvciBjYWxsaW5nIGRybV9kcF9zZW5k X3VwX2Fja19yZXBseSgpIGFuZCBnZXR0aW5nCiAgdGhlIE1TVEIgdmlhIGl0J3MgR1VJRAoqIFJl bW92ZSBhbGwgb2YgdGhlIGR1cGxpY2F0ZSBjYWxscyB0byBtZW1zZXQoKSBhbmQganVzdCB1c2Ug YSBnb3RvCiAgaW5zdGVhZAoqIEFjdHVhbGx5IGRvIGxpbmUgd3JhcHBpbmcKKiBSZW1vdmUgdGhl IHVubmVjZXNzYXJ5IGlmIChtc3RiKSBjaGVjayBiZWZvcmUgY2FsbGluZwogIGRybV9kcF9tc3Rf dG9wb2xvZ3lfcHV0X21zdGIoKSAtIHdlIGFyZSBndWFyYW50ZWVkIHRvIGFsd2F5cyBoYXZlCiAg bXN0YiAhPSBOVUxMIGF0IHRoYXQgcG9pbnQgaW4gdGhlIGZ1bmN0aW9uCgpDYzogSnVzdG9uIExp IDxqdXN0b24ubGlAaW50ZWwuY29tPgpDYzogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29t PgpDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6 IEhhcnJ5IFdlbnRsYW5kIDxod2VudGxhbkBhbWQuY29tPgpTaWduZWQtb2ZmLWJ5OiBMeXVkZSBQ YXVsIDxseXVkZUByZWRoYXQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3Rv cG9sb2d5LmMgfCA3NSArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCAzOCBpbnNlcnRpb25zKCspLCAzNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9t c3RfdG9wb2xvZ3kuYwppbmRleCAwODk0YmMyMzcwODIuLjVkZWEyMTliZjc0NCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jCkBAIC0zMTI3LDY4ICszMTI3LDY5IEBAIHN0YXRp YyBpbnQgZHJtX2RwX21zdF9oYW5kbGVfZG93bl9yZXAoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xv Z3lfbWdyICptZ3IpCiBzdGF0aWMgaW50IGRybV9kcF9tc3RfaGFuZGxlX3VwX3JlcShzdHJ1Y3Qg ZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1ncikKIHsKIAlzdHJ1Y3QgZHJtX2RwX3NpZGViYW5k X21zZ19yZXFfYm9keSBtc2c7CisJc3RydWN0IGRybV9kcF9zaWRlYmFuZF9tc2dfaGRyICpoZHIg PSAmbWdyLT51cF9yZXFfcmVjdi5pbml0aWFsX2hkcjsKIAlzdHJ1Y3QgZHJtX2RwX21zdF9icmFu Y2ggKm1zdGIgPSBOVUxMOworCWNvbnN0IHU4ICpndWlkOwogCWJvb2wgc2Vxbm87CiAKLQlpZiAo IWRybV9kcF9nZXRfb25lX3NiX21zZyhtZ3IsIHRydWUpKSB7Ci0JCW1lbXNldCgmbWdyLT51cF9y ZXFfcmVjdiwgMCwKLQkJICAgICAgIHNpemVvZihzdHJ1Y3QgZHJtX2RwX3NpZGViYW5kX21zZ19y eCkpOwotCQlyZXR1cm4gMDsKLQl9CisJaWYgKCFkcm1fZHBfZ2V0X29uZV9zYl9tc2cobWdyLCB0 cnVlKSkKKwkJZ290byBvdXQ7CiAKIAlpZiAoIW1nci0+dXBfcmVxX3JlY3YuaGF2ZV9lb210KQog CQlyZXR1cm4gMDsKIAotCWlmICghbWdyLT51cF9yZXFfcmVjdi5pbml0aWFsX2hkci5icm9hZGNh c3QpIHsKLQkJbXN0YiA9IGRybV9kcF9nZXRfbXN0X2JyYW5jaF9kZXZpY2UobWdyLAotCQkJCQkJ ICAgIG1nci0+dXBfcmVxX3JlY3YuaW5pdGlhbF9oZHIubGN0LAotCQkJCQkJICAgIG1nci0+dXBf cmVxX3JlY3YuaW5pdGlhbF9oZHIucmFkKTsKKwlpZiAoIWhkci0+YnJvYWRjYXN0KSB7CisJCW1z dGIgPSBkcm1fZHBfZ2V0X21zdF9icmFuY2hfZGV2aWNlKG1nciwgaGRyLT5sY3QsIGhkci0+cmFk KTsKIAkJaWYgKCFtc3RiKSB7Ci0JCQlEUk1fREVCVUdfS01TKCJHb3QgTVNUIHJlcGx5IGZyb20g dW5rbm93biBkZXZpY2UgJWRcbiIsIG1nci0+dXBfcmVxX3JlY3YuaW5pdGlhbF9oZHIubGN0KTsK LQkJCW1lbXNldCgmbWdyLT51cF9yZXFfcmVjdiwgMCwgc2l6ZW9mKHN0cnVjdCBkcm1fZHBfc2lk ZWJhbmRfbXNnX3J4KSk7Ci0JCQlyZXR1cm4gMDsKKwkJCURSTV9ERUJVR19LTVMoIkdvdCBNU1Qg cmVwbHkgZnJvbSB1bmtub3duIGRldmljZSAlZFxuIiwKKwkJCQkgICAgICBoZHItPmxjdCk7CisJ CQlnb3RvIG91dDsKIAkJfQogCX0KIAotCXNlcW5vID0gbWdyLT51cF9yZXFfcmVjdi5pbml0aWFs X2hkci5zZXFubzsKKwlzZXFubyA9IGhkci0+c2Vxbm87CiAJZHJtX2RwX3NpZGViYW5kX3BhcnNl X3JlcSgmbWdyLT51cF9yZXFfcmVjdiwgJm1zZyk7CiAKLQlpZiAobXNnLnJlcV90eXBlID09IERQ X0NPTk5FQ1RJT05fU1RBVFVTX05PVElGWSkgewotCQlkcm1fZHBfc2VuZF91cF9hY2tfcmVwbHko bWdyLCBtZ3ItPm1zdF9wcmltYXJ5LCBtc2cucmVxX3R5cGUsIHNlcW5vLCBmYWxzZSk7CisJaWYg KG1zZy5yZXFfdHlwZSA9PSBEUF9DT05ORUNUSU9OX1NUQVRVU19OT1RJRlkpCisJCWd1aWQgPSBt c2cudS5jb25uX3N0YXQuZ3VpZDsKKwllbHNlIGlmIChtc2cucmVxX3R5cGUgPT0gRFBfUkVTT1VS Q0VfU1RBVFVTX05PVElGWSkKKwkJZ3VpZCA9IG1zZy51LnJlc291cmNlX3N0YXQuZ3VpZDsKKwll bHNlCisJCWdvdG8gb3V0OwogCi0JCWlmICghbXN0YikKLQkJCW1zdGIgPSBkcm1fZHBfZ2V0X21z dF9icmFuY2hfZGV2aWNlX2J5X2d1aWQobWdyLCBtc2cudS5jb25uX3N0YXQuZ3VpZCk7CisJZHJt X2RwX3NlbmRfdXBfYWNrX3JlcGx5KG1nciwgbWdyLT5tc3RfcHJpbWFyeSwgbXNnLnJlcV90eXBl LCBzZXFubywKKwkJCQkgZmFsc2UpOwogCisJaWYgKCFtc3RiKSB7CisJCW1zdGIgPSBkcm1fZHBf Z2V0X21zdF9icmFuY2hfZGV2aWNlX2J5X2d1aWQobWdyLCBndWlkKTsKIAkJaWYgKCFtc3RiKSB7 Ci0JCQlEUk1fREVCVUdfS01TKCJHb3QgTVNUIHJlcGx5IGZyb20gdW5rbm93biBkZXZpY2UgJWRc biIsIG1nci0+dXBfcmVxX3JlY3YuaW5pdGlhbF9oZHIubGN0KTsKLQkJCW1lbXNldCgmbWdyLT51 cF9yZXFfcmVjdiwgMCwgc2l6ZW9mKHN0cnVjdCBkcm1fZHBfc2lkZWJhbmRfbXNnX3J4KSk7Ci0J CQlyZXR1cm4gMDsKKwkJCURSTV9ERUJVR19LTVMoIkdvdCBNU1QgcmVwbHkgZnJvbSB1bmtub3du IGRldmljZSAlZFxuIiwKKwkJCQkgICAgICBoZHItPmxjdCk7CisJCQlnb3RvIG91dDsKIAkJfQor CX0KIAorCWlmIChtc2cucmVxX3R5cGUgPT0gRFBfQ09OTkVDVElPTl9TVEFUVVNfTk9USUZZKSB7 CiAJCWRybV9kcF91cGRhdGVfcG9ydChtc3RiLCAmbXNnLnUuY29ubl9zdGF0KTsKIAotCQlEUk1f REVCVUdfS01TKCJHb3QgQ1NOOiBwbjogJWQgbGRwczolZCBkZHBzOiAlZCBtY3M6ICVkIGlwOiAl ZCBwZHQ6ICVkXG4iLCBtc2cudS5jb25uX3N0YXQucG9ydF9udW1iZXIsIG1zZy51LmNvbm5fc3Rh dC5sZWdhY3lfZGV2aWNlX3BsdWdfc3RhdHVzLCBtc2cudS5jb25uX3N0YXQuZGlzcGxheXBvcnRf ZGV2aWNlX3BsdWdfc3RhdHVzLCBtc2cudS5jb25uX3N0YXQubWVzc2FnZV9jYXBhYmlsaXR5X3N0 YXR1cywgbXNnLnUuY29ubl9zdGF0LmlucHV0X3BvcnQsIG1zZy51LmNvbm5fc3RhdC5wZWVyX2Rl dmljZV90eXBlKTsKLQkJZHJtX2ttc19oZWxwZXJfaG90cGx1Z19ldmVudChtZ3ItPmRldik7CisJ CURSTV9ERUJVR19LTVMoIkdvdCBDU046IHBuOiAlZCBsZHBzOiVkIGRkcHM6ICVkIG1jczogJWQg aXA6ICVkIHBkdDogJWRcbiIsCisJCQkgICAgICBtc2cudS5jb25uX3N0YXQucG9ydF9udW1iZXIs CisJCQkgICAgICBtc2cudS5jb25uX3N0YXQubGVnYWN5X2RldmljZV9wbHVnX3N0YXR1cywKKwkJ CSAgICAgIG1zZy51LmNvbm5fc3RhdC5kaXNwbGF5cG9ydF9kZXZpY2VfcGx1Z19zdGF0dXMsCisJ CQkgICAgICBtc2cudS5jb25uX3N0YXQubWVzc2FnZV9jYXBhYmlsaXR5X3N0YXR1cywKKwkJCSAg ICAgIG1zZy51LmNvbm5fc3RhdC5pbnB1dF9wb3J0LAorCQkJICAgICAgbXNnLnUuY29ubl9zdGF0 LnBlZXJfZGV2aWNlX3R5cGUpOwogCisJCWRybV9rbXNfaGVscGVyX2hvdHBsdWdfZXZlbnQobWdy LT5kZXYpOwogCX0gZWxzZSBpZiAobXNnLnJlcV90eXBlID09IERQX1JFU09VUkNFX1NUQVRVU19O T1RJRlkpIHsKLQkJZHJtX2RwX3NlbmRfdXBfYWNrX3JlcGx5KG1nciwgbWdyLT5tc3RfcHJpbWFy eSwgbXNnLnJlcV90eXBlLCBzZXFubywgZmFsc2UpOwotCQlpZiAoIW1zdGIpCi0JCQltc3RiID0g ZHJtX2RwX2dldF9tc3RfYnJhbmNoX2RldmljZV9ieV9ndWlkKG1nciwgbXNnLnUucmVzb3VyY2Vf c3RhdC5ndWlkKTsKLQotCQlpZiAoIW1zdGIpIHsKLQkJCURSTV9ERUJVR19LTVMoIkdvdCBNU1Qg cmVwbHkgZnJvbSB1bmtub3duIGRldmljZSAlZFxuIiwgbWdyLT51cF9yZXFfcmVjdi5pbml0aWFs X2hkci5sY3QpOwotCQkJbWVtc2V0KCZtZ3ItPnVwX3JlcV9yZWN2LCAwLCBzaXplb2Yoc3RydWN0 IGRybV9kcF9zaWRlYmFuZF9tc2dfcngpKTsKLQkJCXJldHVybiAwOwotCQl9Ci0KLQkJRFJNX0RF QlVHX0tNUygiR290IFJTTjogcG46ICVkIGF2YWlsX3BibiAlZFxuIiwgbXNnLnUucmVzb3VyY2Vf c3RhdC5wb3J0X251bWJlciwgbXNnLnUucmVzb3VyY2Vfc3RhdC5hdmFpbGFibGVfcGJuKTsKKwkJ RFJNX0RFQlVHX0tNUygiR290IFJTTjogcG46ICVkIGF2YWlsX3BibiAlZFxuIiwKKwkJCSAgICAg IG1zZy51LnJlc291cmNlX3N0YXQucG9ydF9udW1iZXIsCisJCQkgICAgICBtc2cudS5yZXNvdXJj ZV9zdGF0LmF2YWlsYWJsZV9wYm4pOwogCX0KIAotCWlmIChtc3RiKQotCQlkcm1fZHBfbXN0X3Rv cG9sb2d5X3B1dF9tc3RiKG1zdGIpOwotCisJZHJtX2RwX21zdF90b3BvbG9neV9wdXRfbXN0Yiht c3RiKTsKK291dDoKIAltZW1zZXQoJm1nci0+dXBfcmVxX3JlY3YsIDAsIHNpemVvZihzdHJ1Y3Qg ZHJtX2RwX3NpZGViYW5kX21zZ19yeCkpOwotCiAJcmV0dXJuIDA7CiB9CiAKLS0gCjIuMjEuMAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs