From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH 12/26] drm/dp_mst: Refactor drm_dp_mst_handle_down_rep() Date: Wed, 17 Jul 2019 21:42:35 -0400 Message-ID: <20190718014329.8107-13-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 AE2C76E2D3 for ; Thu, 18 Jul 2019 01:44:37 +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 KiBSZW1vdmUgdGhlIGJpZyB1Z2x5IGhhdmVfZW9tdCBjb25kaXRpb25hbAoqIFN0b3JlICZtZ3It PmRvd25fcmVwX3JlY3YuaW5pdGlhbF9oZHIgaW4gYSB2YXIgdG8gbWFrZSBsaW5lIHdyYXBwaW5n CiAgZWFzaWVyCiogUmVtb3ZlIGR1cGxpY2F0ZSBtZW1zZXQoKSBjYWxscwoqIEFjdHVhbGx5IHdy YXAgbGluZXMKCkNjOiBKdXN0b24gTGkgPGp1c3Rvbi5saUBpbnRlbC5jb20+CkNjOiBJbXJlIERl YWsgPGltcmUuZGVha0BpbnRlbC5jb20+CkNjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmph bGFAbGludXguaW50ZWwuY29tPgpDYzogSGFycnkgV2VudGxhbmQgPGh3ZW50bGFuQGFtZC5jb20+ ClNpZ25lZC1vZmYtYnk6IEx5dWRlIFBhdWwgPGx5dWRlQHJlZGhhdC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYyB8IDEwMiArKysrKysrKysrKysrLS0tLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKyksIDUyIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jCmluZGV4IDVkZWEyMTliZjc0NC4u OWU3ZmM2YTk2MDgwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3Bv bG9neS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMKQEAgLTMw NjAsNjggKzMwNjAsNjYgQEAgc3RhdGljIGJvb2wgZHJtX2RwX2dldF9vbmVfc2JfbXNnKHN0cnVj dCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLCBib29sIHVwKQogCiBzdGF0aWMgaW50IGRy bV9kcF9tc3RfaGFuZGxlX2Rvd25fcmVwKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAq bWdyKQogewotCWludCByZXQgPSAwOworCXN0cnVjdCBkcm1fZHBfc2lkZWJhbmRfbXNnX3R4ICp0 eG1zZzsKKwlzdHJ1Y3QgZHJtX2RwX21zdF9icmFuY2ggKm1zdGI7CisJc3RydWN0IGRybV9kcF9z aWRlYmFuZF9tc2dfaGRyICpoZHIgPSAmbWdyLT5kb3duX3JlcF9yZWN2LmluaXRpYWxfaGRyOwor CWludCBzbG90ID0gLTE7CisKKwlpZiAoIWRybV9kcF9nZXRfb25lX3NiX21zZyhtZ3IsIGZhbHNl KSkKKwkJZ290byBjbGVhcl9kb3duX3JlcF9yZWN2OwogCi0JaWYgKCFkcm1fZHBfZ2V0X29uZV9z Yl9tc2cobWdyLCBmYWxzZSkpIHsKLQkJbWVtc2V0KCZtZ3ItPmRvd25fcmVwX3JlY3YsIDAsCi0J CSAgICAgICBzaXplb2Yoc3RydWN0IGRybV9kcF9zaWRlYmFuZF9tc2dfcngpKTsKKwlpZiAoIW1n ci0+ZG93bl9yZXBfcmVjdi5oYXZlX2VvbXQpCiAJCXJldHVybiAwOworCisJbXN0YiA9IGRybV9k cF9nZXRfbXN0X2JyYW5jaF9kZXZpY2UobWdyLCBoZHItPmxjdCwgaGRyLT5yYWQpOworCWlmICgh bXN0YikgeworCQlEUk1fREVCVUdfS01TKCJHb3QgTVNUIHJlcGx5IGZyb20gdW5rbm93biBkZXZp Y2UgJWRcbiIsCisJCQkgICAgICBoZHItPmxjdCk7CisJCWdvdG8gY2xlYXJfZG93bl9yZXBfcmVj djsKIAl9CiAKLQlpZiAobWdyLT5kb3duX3JlcF9yZWN2LmhhdmVfZW9tdCkgewotCQlzdHJ1Y3Qg ZHJtX2RwX3NpZGViYW5kX21zZ190eCAqdHhtc2c7Ci0JCXN0cnVjdCBkcm1fZHBfbXN0X2JyYW5j aCAqbXN0YjsKLQkJaW50IHNsb3QgPSAtMTsKLQkJbXN0YiA9IGRybV9kcF9nZXRfbXN0X2JyYW5j aF9kZXZpY2UobWdyLAotCQkJCQkJICAgIG1nci0+ZG93bl9yZXBfcmVjdi5pbml0aWFsX2hkci5s Y3QsCi0JCQkJCQkgICAgbWdyLT5kb3duX3JlcF9yZWN2LmluaXRpYWxfaGRyLnJhZCk7CisJLyog ZmluZCB0aGUgbWVzc2FnZSAqLworCXNsb3QgPSBoZHItPnNlcW5vOworCW11dGV4X2xvY2soJm1n ci0+cWxvY2spOworCXR4bXNnID0gbXN0Yi0+dHhfc2xvdHNbc2xvdF07CisJLyogcmVtb3ZlIGZy b20gc2xvdHMgKi8KKwltdXRleF91bmxvY2soJm1nci0+cWxvY2spOwogCi0JCWlmICghbXN0Yikg ewotCQkJRFJNX0RFQlVHX0tNUygiR290IE1TVCByZXBseSBmcm9tIHVua25vd24gZGV2aWNlICVk XG4iLCBtZ3ItPmRvd25fcmVwX3JlY3YuaW5pdGlhbF9oZHIubGN0KTsKLQkJCW1lbXNldCgmbWdy LT5kb3duX3JlcF9yZWN2LCAwLCBzaXplb2Yoc3RydWN0IGRybV9kcF9zaWRlYmFuZF9tc2dfcngp KTsKLQkJCXJldHVybiAwOwotCQl9CisJaWYgKCF0eG1zZykgeworCQlEUk1fREVCVUdfS01TKCJH b3QgTVNUIHJlcGx5IHdpdGggbm8gbXNnICVwICVkICVkICUwMnggJTAyeFxuIiwKKwkJCSAgICAg IG1zdGIsIGhkci0+c2Vxbm8sIGhkci0+bGN0LCBoZHItPnJhZFswXSwKKwkJCSAgICAgIG1nci0+ ZG93bl9yZXBfcmVjdi5tc2dbMF0pOworCQlnb3RvIG5vX21zZzsKKwl9CiAKLQkJLyogZmluZCB0 aGUgbWVzc2FnZSAqLwotCQlzbG90ID0gbWdyLT5kb3duX3JlcF9yZWN2LmluaXRpYWxfaGRyLnNl cW5vOwotCQltdXRleF9sb2NrKCZtZ3ItPnFsb2NrKTsKLQkJdHhtc2cgPSBtc3RiLT50eF9zbG90 c1tzbG90XTsKLQkJLyogcmVtb3ZlIGZyb20gc2xvdHMgKi8KLQkJbXV0ZXhfdW5sb2NrKCZtZ3It PnFsb2NrKTsKLQotCQlpZiAoIXR4bXNnKSB7Ci0JCQlEUk1fREVCVUdfS01TKCJHb3QgTVNUIHJl cGx5IHdpdGggbm8gbXNnICVwICVkICVkICUwMnggJTAyeFxuIiwKLQkJCSAgICAgICBtc3RiLAot CQkJICAgICAgIG1nci0+ZG93bl9yZXBfcmVjdi5pbml0aWFsX2hkci5zZXFubywKLQkJCSAgICAg ICBtZ3ItPmRvd25fcmVwX3JlY3YuaW5pdGlhbF9oZHIubGN0LAotCQkJCSAgICAgIG1nci0+ZG93 bl9yZXBfcmVjdi5pbml0aWFsX2hkci5yYWRbMF0sCi0JCQkJICAgICAgbWdyLT5kb3duX3JlcF9y ZWN2Lm1zZ1swXSk7Ci0JCQlkcm1fZHBfbXN0X3RvcG9sb2d5X3B1dF9tc3RiKG1zdGIpOwotCQkJ bWVtc2V0KCZtZ3ItPmRvd25fcmVwX3JlY3YsIDAsIHNpemVvZihzdHJ1Y3QgZHJtX2RwX3NpZGVi YW5kX21zZ19yeCkpOwotCQkJcmV0dXJuIDA7Ci0JCX0KKwlkcm1fZHBfc2lkZWJhbmRfcGFyc2Vf cmVwbHkoJm1nci0+ZG93bl9yZXBfcmVjdiwgJnR4bXNnLT5yZXBseSk7CiAKLQkJZHJtX2RwX3Np ZGViYW5kX3BhcnNlX3JlcGx5KCZtZ3ItPmRvd25fcmVwX3JlY3YsICZ0eG1zZy0+cmVwbHkpOwor CWlmICh0eG1zZy0+cmVwbHkucmVwbHlfdHlwZSA9PSBEUF9TSURFQkFORF9SRVBMWV9OQUspCisJ CURSTV9ERUJVR19LTVMoIkdvdCBOQUsgcmVwbHk6IHJlcSAweCUwMnggKCVzKSwgcmVhc29uIDB4 JTAyeCAoJXMpLCBuYWsgZGF0YSAweCUwMnhcbiIsCisJCQkgICAgICB0eG1zZy0+cmVwbHkucmVx X3R5cGUsCisJCQkgICAgICBkcm1fZHBfbXN0X3JlcV90eXBlX3N0cih0eG1zZy0+cmVwbHkucmVx X3R5cGUpLAorCQkJICAgICAgdHhtc2ctPnJlcGx5LnUubmFrLnJlYXNvbiwKKwkJCSAgICAgIGRy bV9kcF9tc3RfbmFrX3JlYXNvbl9zdHIodHhtc2ctPnJlcGx5LnUubmFrLnJlYXNvbiksCisJCQkg ICAgICB0eG1zZy0+cmVwbHkudS5uYWsubmFrX2RhdGEpOwogCi0JCWlmICh0eG1zZy0+cmVwbHku cmVwbHlfdHlwZSA9PSBEUF9TSURFQkFORF9SRVBMWV9OQUspCi0JCQlEUk1fREVCVUdfS01TKCJH b3QgTkFLIHJlcGx5OiByZXEgMHglMDJ4ICglcyksIHJlYXNvbiAweCUwMnggKCVzKSwgbmFrIGRh dGEgMHglMDJ4XG4iLAotCQkJCSAgICAgIHR4bXNnLT5yZXBseS5yZXFfdHlwZSwKLQkJCQkgICAg ICBkcm1fZHBfbXN0X3JlcV90eXBlX3N0cih0eG1zZy0+cmVwbHkucmVxX3R5cGUpLAotCQkJCSAg ICAgIHR4bXNnLT5yZXBseS51Lm5hay5yZWFzb24sCi0JCQkJICAgICAgZHJtX2RwX21zdF9uYWtf cmVhc29uX3N0cih0eG1zZy0+cmVwbHkudS5uYWsucmVhc29uKSwKLQkJCQkgICAgICB0eG1zZy0+ cmVwbHkudS5uYWsubmFrX2RhdGEpOwotCi0JCW1lbXNldCgmbWdyLT5kb3duX3JlcF9yZWN2LCAw LCBzaXplb2Yoc3RydWN0IGRybV9kcF9zaWRlYmFuZF9tc2dfcngpKTsKLQkJZHJtX2RwX21zdF90 b3BvbG9neV9wdXRfbXN0Yihtc3RiKTsKKwltZW1zZXQoJm1nci0+ZG93bl9yZXBfcmVjdiwgMCwg c2l6ZW9mKHN0cnVjdCBkcm1fZHBfc2lkZWJhbmRfbXNnX3J4KSk7CisJZHJtX2RwX21zdF90b3Bv bG9neV9wdXRfbXN0Yihtc3RiKTsKIAotCQltdXRleF9sb2NrKCZtZ3ItPnFsb2NrKTsKLQkJdHht c2ctPnN0YXRlID0gRFJNX0RQX1NJREVCQU5EX1RYX1JYOwotCQltc3RiLT50eF9zbG90c1tzbG90 XSA9IE5VTEw7Ci0JCW11dGV4X3VubG9jaygmbWdyLT5xbG9jayk7CisJbXV0ZXhfbG9jaygmbWdy LT5xbG9jayk7CisJdHhtc2ctPnN0YXRlID0gRFJNX0RQX1NJREVCQU5EX1RYX1JYOworCW1zdGIt PnR4X3Nsb3RzW3Nsb3RdID0gTlVMTDsKKwltdXRleF91bmxvY2soJm1nci0+cWxvY2spOwogCi0J CXdha2VfdXBfYWxsKCZtZ3ItPnR4X3dhaXRxKTsKLQl9Ci0JcmV0dXJuIHJldDsKKwl3YWtlX3Vw X2FsbCgmbWdyLT50eF93YWl0cSk7CisKKwlyZXR1cm4gMDsKKworbm9fbXNnOgorCWRybV9kcF9t c3RfdG9wb2xvZ3lfcHV0X21zdGIobXN0Yik7CitjbGVhcl9kb3duX3JlcF9yZWN2OgorCW1lbXNl dCgmbWdyLT5kb3duX3JlcF9yZWN2LCAwLCBzaXplb2Yoc3RydWN0IGRybV9kcF9zaWRlYmFuZF9t c2dfcngpKTsKKworCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IGRybV9kcF9tc3RfaGFuZGxl X3VwX3JlcShzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1ncikKLS0gCjIuMjEuMAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs