From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH v3 3/5] drm/dp_mst: Add drm_dp_mst_topology_mgr_lower_link_rate() Date: Fri, 9 Mar 2018 16:32:29 -0500 Message-ID: <20180309213232.19855-3-lyude@redhat.com> References: <20180308232421.14049-1-lyude@redhat.com> <20180309213232.19855-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180309213232.19855-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: intel-gfx@lists.freedesktop.org Cc: David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Manasi Navare List-Id: intel-gfx@lists.freedesktop.org VW5saWtlIFNTVCwgTVNUIGNhbiBoYXZlIGZhciBtb3JlIHRoZW4gYSBzaW5nbGUgZGlzcGxheSBo b29rZWQgdXAgb24gYQpzaW5nbGUgcG9ydC4gV2hhdCB0aGlzIGFsc28gbWVhbnMgaG93ZXZlciwg aXMgdGhhdCBpZiB0aGUgRGlzcGxheVBvcnQKbGluayB0byB0aGUgdG9wLWxldmVsIE1TVCBicmFu Y2ggZGV2aWNlIGJlY29tZXMgdW5zdGFibGUgdGhlbiBldmVyeQpzaW5nbGUgYnJhbmNoIGRldmlj ZSBhbHNvIGhhcyBhbiB1bnN0YWJsZSBsaW5rLiBBZGRpdGlvbmFsbHksIE1TVCBoYXMgYQpmZXcg bW9yZSBzdGVwcyB0aGF0IG11c3QgYmUgdGFrZW4gaW4gb3JkZXIgdG8gcHJvcGVybHkgcmV0cmFp biB0aGUKZW50aXJlIHRvcG9sb2d5IHVuZGVyIGEgbG93ZXIgbGluayByYXRlLiBTaW5jZSB0aGUg VkNJRCBhbGxvY2F0aW9ucyBmb3IKZWFjaCBtc3RiIGlzIGRldGVybWluZWQgYmFzZWQgb2ZmIHRo ZSBsaW5rIHJhdGUgZm9yIHRoZSB0b3Agb2YgdGhlCnRvcG9sb2d5LCB3ZSBhbHNvIGhhdmUgdG8g cmVjYWxjdWxhdGUgYWxsIG9mIHRoZSBWQ0lEIGFsbG9jYXRpb25zIGZvcgp0aGUgZG93bnN0cmVh bSBwb3J0cyBhcyB3ZWxsIHRvIGVuc3VyZSB0aGF0IHdlIHN0aWxsIGhhdmUgZW5vdWdoIGxpbmsK YmFuZHdpZHRoIHRvIGRyaXZlIGVhY2ggbXN0Yi4KCkFkZGl0aW9uYWxseSwgc2luY2Ugd2UgaGF2 ZSBtdWx0aXBsZSBkb3duc3RyZWFtIGNvbm5lY3RvcnMgcGVyIHBvcnQsCnNldHRpbmcgdGhlIGxp bmsgc3RhdHVzIG9mIHRoZSBwYXJlbnQgbXN0YidzIHBvcnQgdG8gYmFkIGlzbid0IGVub3VnaDoK YWxsIG9mIHRoZSBkb3duc3RyZWFtIG1zdGIgcG9ydHMgaGF2ZSB0byBoYXZlIHRoZWlyIGxpbmsg c3RhdHVzIHNldCB0bwpiYWQuCgpUaGlzIGJhc2ljYWxseSBmb2xsb3dzIHRoZSBzYW1lIHBhcmFk aWdtIHRoYXQgb3VyIERQIGxpbmsgc3RhdHVzIGxvZ2ljCmluIERSTSBkb2VzLCBpbiB0aGF0IHdl IHNpbXBseSB0ZWxsIHVzZXJzcGFjZSB0aGF0IGFsbCBvZiB0aGUgbXN0YiBwb3J0cwpuZWVkIHJl dHJhaW5pbmcgYW5kIGFkZGl0aW9uYWxseSBhcHBseWluZyB0aGUgbmV3IGxvd2VyIGJhbmR3aWR0 aApjb25zdHJhaW50cyB0byBhbGwgb2YgdGhlIGF0b21pYyBjb21taXRzIG9uIHRoZSB0b3BvbG9n eSB0aGF0IGZvbGxvdy4KClNpbmNlIHRoZSB3b3JrIG9mIGZpZ3VyaW5nIG91dCB3aGljaCBjb25u ZWN0b3JzIGxpdmUgZG93bnN0cmVhbSBvbiBhbgpNU1QgdG9wb2xvZ3kgYW5kIHVwZGF0aW5nIHRo ZWlyIGxpbmsgc3RhdHVzIGlzIHNvbWV0aGluZyB0aGF0IGFueSBkcml2ZXIKc3VwcG9ydGluZyBN U1QgaXMgZ29pbmcgdG8gbmVlZCB0byBkbyBpbiBvcmRlciB0byByZXRyYWluIE1TVCBsaW5rcwpw cm9wZXJseSwgd2UgYWRkIHRoZSBkcm1fZHBfbXN0X3RvcG9sb2d5X21ncl9sb3dlcl9saW5rX3Jh dGUoKSBoZWxwZXIKd2hpY2ggc2ltcGx5IHJlY2FsY3VsYXRlcyB0aGUgcGJuX2RpdiBmb3IgYSBn aXZlbiBtc3QgdG9wb2xvZ3ksIHRoZW4KbWFya3MgdGhlIGxpbmsgc3RhdHVzIG9mIGFsbCBjb25u ZWN0b3JzIGxpdmluZyBpbiB0aGF0IHRvcG9sb2d5IGFzIGJhZC4KV2UnbGwgbWFrZSB1c2Ugb2Yg aXQgaW4gaTkxNSBsYXRlciBpbiB0aGlzIHNlcmllcy4KClNpZ25lZC1vZmYtYnk6IEx5dWRlIFBh dWwgPGx5dWRlQHJlZGhhdC5jb20+CkNjOiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVA aW50ZWwuY29tPgpDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jIHwgNzMgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIGluY2x1ZGUvZHJtL2RybV9kcF9tc3Rf aGVscGVyLmggICAgICAgfCAgMyArKwogMiBmaWxlcyBjaGFuZ2VkLCA3NSBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3Rf dG9wb2xvZ3kuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMKaW5kZXgg NmZhYzQxMjllNmEyLi4wZDY2MDQ1MDBiMjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fZHBfbXN0X3RvcG9sb2d5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9w b2xvZ3kuYwpAQCAtMjA3Niw3ICsyMDc2LDcgQEAgc3RhdGljIGJvb2wgZHJtX2RwX2dldF92Y19w YXlsb2FkX2J3KGludCBkcF9saW5rX2J3LAogewogCXN3aXRjaCAoZHBfbGlua19idykgewogCWRl ZmF1bHQ6Ci0JCURSTV9ERUJVR19LTVMoImludmFsaWQgbGluayBiYW5kd2lkdGggaW4gRFBDRDog JXggKGxpbmsgY291bnQ6ICVkKVxuIiwKKwkJRFJNX0RFQlVHX0tNUygiaW52YWxpZCBsaW5rIGJh bmR3aWR0aDogJXggKGxpbmsgY291bnQ6ICVkKVxuIiwKIAkJCSAgICAgIGRwX2xpbmtfYncsIGRw X2xpbmtfY291bnQpOwogCQlyZXR1cm4gZmFsc2U7CiAKQEAgLTIwOTYsNiArMjA5Niw3NyBAQCBz dGF0aWMgYm9vbCBkcm1fZHBfZ2V0X3ZjX3BheWxvYWRfYncoaW50IGRwX2xpbmtfYncsCiAJcmV0 dXJuIHRydWU7CiB9CiAKK3N0YXRpYyB2b2lkIGRybV9kcF9zZXRfbXN0Yl9saW5rX3N0YXR1cyhz dHJ1Y3QgZHJtX2RwX21zdF9icmFuY2ggKm1zdGIsCisJCQkJCWVudW0gZHJtX2xpbmtfc3RhdHVz IHN0YXR1cykKK3sKKwlzdHJ1Y3QgZHJtX2RwX21zdF9icmFuY2ggKnJtc3RiOworCXN0cnVjdCBk cm1fZHBfbXN0X3BvcnQgKnBvcnQ7CisKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5KHBvcnQsICZtc3Ri LT5wb3J0cywgbmV4dCkgeworCQlybXN0YiA9IGRybV9kcF9nZXRfdmFsaWRhdGVkX21zdGJfcmVm KG1zdGItPm1nciwgcG9ydC0+bXN0Yik7CisJCWlmIChybXN0YikgeworCQkJZHJtX2RwX3NldF9t c3RiX2xpbmtfc3RhdHVzKHJtc3RiLCBzdGF0dXMpOworCQkJZHJtX2RwX3B1dF9tc3RfYnJhbmNo X2RldmljZShybXN0Yik7CisJCX0KKworCQlpZiAocG9ydC0+Y29ubmVjdG9yKQorCQkJcG9ydC0+ Y29ubmVjdG9yLT5zdGF0ZS0+bGlua19zdGF0dXMgPSBzdGF0dXM7CisJfQorfQorCisvKioKKyAq IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyX2xvd2VyX2xpbmtfcmF0ZSgpIC0gT3ZlcnJpZGUgdGhl IERQIGxpbmsgYncvY291bnQKKyAqIGZvciBhbGwgY29ubmVjdG9ycyBpbiBhIGdpdmVuIE1TVCB0 b3BvbG9neQorICogQG1ncjogbWFuYWdlciB0byBzZXQgc3RhdGUgZm9yCisgKiBAZHBfbGlua19i dzogVGhlIG5ldyBEUCBsaW5rIGJhbmR3aWR0aAorICogQGRwX2xpbmtfY291bnQ6IFRoZSBuZXcg RFAgbGluayBjb3VudAorICoKKyAqIFRoaXMgaXMgY2FsbGVkIGJ5IHRoZSBkcml2ZXIgd2hlbiBp dCBkZXRlY3RzIHRoYXQgdGhlIGN1cnJlbnQgRFAgbGluayBmb3IKKyAqIHRoZSBnaXZlbiB0b3Bv bG9neSBtYW5hZ2VyIGlzIHVuc3RhYmxlLCBhbmQgbmVlZHMgdG8gYmUgcmV0cmFpbmVkIGF0IGEK KyAqIGxvd2VyIGxpbmsgcmF0ZS4KKyAqCisgKiBUaGlzIHRha2VzIGNhcmUgb2YgdXBkYXRpbmcg dGhlIGxpbmsgc3RhdHVzIG9uIGFsbCBkb3duc3RyZWFtIGNvbm5lY3RvcnMKKyAqIGFsb25nIHdp dGggcmVjYWxjdWxhdGluZyB0aGUgVkMgcGF5bG9hZHMuIFRoZSBkcml2ZXIgc2hvdWxkIHNlbmQg YSBob3RwbHVnCisgKiBldmVudCBhZnRlciBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gdG8gbm90aWZ5 IHVzZXJzcGFjZSBvZiB0aGUgbGluayBzdGF0dXMKKyAqIGNoYW5nZS4KKyAqCisgKiBSRVRVUk5T OgorICoKKyAqIFRydWUgZm9yIHN1Y2Nlc3MsIG9yIG5lZ2F0aXZlIGVycm9yIGNvZGUgb24gZmFp bHVyZS4KKyAqLworaW50IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyX2xvd2VyX2xpbmtfcmF0ZShz dHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwKKwkJCQkJICAgIGludCBkcF9saW5r X2J3LCBpbnQgZHBfbGlua19jb3VudCkKK3sKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gbWdy LT5kZXY7CisJc3RydWN0IGRybV9kcF9tc3RfYnJhbmNoICptc3RfcHJpbWFyeTsKKwlpbnQgbmV3 X3Bibl9kaXY7CisJaW50IHJldCA9IDA7CisKKwlkcm1fbW9kZXNldF9sb2NrKCZkZXYtPm1vZGVf Y29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgsIE5VTEwpOworCisJaWYgKCFkcm1fZHBfZ2V0X3ZjX3Bh eWxvYWRfYncoZHJtX2RwX2xpbmtfcmF0ZV90b19id19jb2RlKGRwX2xpbmtfYncpLAorCQkJCSAg ICAgIGRwX2xpbmtfY291bnQsICZuZXdfcGJuX2RpdikpIHsKKwkJcmV0ID0gLUVJTlZBTDsKKwkJ Z290byBvdXQ7CisJfQorCisJbXN0X3ByaW1hcnkgPSBkcm1fZHBfZ2V0X3ZhbGlkYXRlZF9tc3Ri X3JlZihtZ3IsIG1nci0+bXN0X3ByaW1hcnkpOworCWlmICghbXN0X3ByaW1hcnkpCisJCWdvdG8g b3V0OworCisJRFJNX0RFQlVHX0tNUygiTVNUIGxpbmsgZmFpbGVkIHRvIHJldHJhaW4sIGxvd2Vy aW5nIHBibl9kaXYgdG8gJWRcbiIsCisJCSAgICAgIG5ld19wYm5fZGl2KTsKKwltZ3ItPnBibl9k aXYgPSBuZXdfcGJuX2RpdjsKKworCWRybV9kcF9zZXRfbXN0Yl9saW5rX3N0YXR1cyhtc3RfcHJp bWFyeSwgRFJNX01PREVfTElOS19TVEFUVVNfQkFEKTsKKworCWRybV9kcF9wdXRfbXN0X2JyYW5j aF9kZXZpY2UobXN0X3ByaW1hcnkpOworb3V0OgorCWRybV9tb2Rlc2V0X3VubG9jaygmZGV2LT5t b2RlX2NvbmZpZy5jb25uZWN0aW9uX211dGV4KTsKKwlyZXR1cm4gcmV0OworfQorRVhQT1JUX1NZ TUJPTChkcm1fZHBfbXN0X3RvcG9sb2d5X21ncl9sb3dlcl9saW5rX3JhdGUpOworCiAvKioKICAq IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyX3NldF9tc3QoKSAtIFNldCB0aGUgTVNUIHN0YXRlIGZv ciBhIHRvcG9sb2d5IG1hbmFnZXIKICAqIEBtZ3I6IG1hbmFnZXIgdG8gc2V0IHN0YXRlIGZvcgpk aWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2RwX21zdF9oZWxwZXIuaCBiL2luY2x1ZGUvZHJt L2RybV9kcF9tc3RfaGVscGVyLmgKaW5kZXggN2Y3OGQyNmEwNzY2Li42MjYxZWM0M2EyYzAgMTAw NjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9kcF9tc3RfaGVscGVyLmgKKysrIGIvaW5jbHVkZS9k cm0vZHJtX2RwX21zdF9oZWxwZXIuaApAQCAtNjM0LDQgKzYzNCw3IEBAIGludCBkcm1fZHBfYXRv bWljX3JlbGVhc2VfdmNwaV9zbG90cyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCiBp bnQgZHJtX2RwX3NlbmRfcG93ZXJfdXBkb3duX3BoeShzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9n eV9tZ3IgKm1nciwKIAkJCQkgc3RydWN0IGRybV9kcF9tc3RfcG9ydCAqcG9ydCwgYm9vbCBwb3dl cl91cCk7CiAKK2ludCBkcm1fZHBfbXN0X3RvcG9sb2d5X21ncl9sb3dlcl9saW5rX3JhdGUoc3Ry dWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsCisJCQkJCSAgICBpbnQgZHBfbGlua19i dywgaW50IGRwX2xpbmtfY291bnQpOworCiAjZW5kaWYKLS0gCjIuMTQuMwoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==