From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dhinakaran Pandiyan Subject: [PATCH v6 2/5] drm/dp: Introduce MST topology state to track available link bandwidth Date: Tue, 4 Apr 2017 12:30:42 -0700 Message-ID: <1491334245-17194-2-git-send-email-dhinakaran.pandiyan@intel.com> References: <7d2ff402-2b58-bc16-4b16-97b288ae387d@linux.intel.com> <1491334245-17194-1-git-send-email-dhinakaran.pandiyan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1491334245-17194-1-git-send-email-dhinakaran.pandiyan@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Archit Taneja , Daniel Vetter , dri-devel@lists.freedesktop.org, "Pandiyan, Dhinakaran" , Harry Wentland List-Id: dri-devel@lists.freedesktop.org RnJvbTogIlBhbmRpeWFuLCBEaGluYWthcmFuIiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5j b20+CgpMaW5rIGJhbmR3aWR0aCBpcyBzaGFyZWQgYmV0d2VlbiBtdWx0aXBsZSBkaXNwbGF5IHN0 cmVhbXMgaW4gRFAgTVNUCmNvbmZpZ3VyYXRpb25zLiBUaGUgRFAgTVNUIHRvcG9sb2d5IG1hbmFn ZXIgc3RydWN0dXJlIG1haW50YWlucyB0aGUKc2hhcmVkIGxpbmsgYmFuZHdpZHRoIGZvciBhIHBy aW1hcnkgbGluayBkaXJlY3RseSBjb25uZWN0ZWQgdG8gdGhlIEdQVS4gRm9yCmF0b21pYyBtb2Rl c2V0dGluZyBkcml2ZXJzLCBjaGVja2luZyBpZiB0aGVyZSBpcyBzdWZmaWNpZW50IGxpbmsgYmFu ZHdpZHRoCmZvciBhIG1vZGUgbmVlZHMgdG8gYmUgZG9uZSBkdXJpbmcgdGhlIGF0b21pY19jaGVj ayBwaGFzZSB0byBhdm9pZCBmYWlsZWQKbW9kZXNldHMuIExldCdzIGVuY2Fwc3VsYXRlIHRoZSBh dmFpbGFibGUgbGluayBidyBpbmZvcm1hdGlvbiBpbiBhCnByaXZhdGUgc3RhdGUgc3RydWN0dXJl IHNvIHRoYXQgYncgY2FuIGJlIGFsbG9jYXRlZCBhbmQgcmVsZWFzZWQgYXRvbWljYWxseQpmb3Ig ZWFjaCBvZiB0aGUgcG9ydHMgc2hhcmluZyB0aGUgcHJpbWFyeSBsaW5rLgoKdjM6IFdBUk5fT04o KSBpZiBjb25uZWN0aW9uX211dGV4IGlzIG5vdCBoZWxkIChBcmNoaXQpCnYyOiBJbmNsdWRlZCBr ZXJuZWwgZG9jLCBtb3ZlZCBzdGF0ZSBpbml0aWFsaXphdGlvbiBhbmQgc3dpdGNoZWQgdG8Ka21l bWR1cCgpIGZvciBhbGxvY2F0aW9uIChEYW5pZWwpCgpDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVs LnZldHRlckBmZndsbC5jaD4KQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3Jz dEBsaW51eC5pbnRlbC5jb20+CkNjOiBBcmNoaXQgVGFuZWphIDxhcmNoaXR0QGNvZGVhdXJvcmEu b3JnPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBIYXJy eSBXZW50bGFuZCA8SGFycnkud2VudGxhbmRAYW1kLmNvbT4KUmV2aWV3ZWQtYnk6IE1hYXJ0ZW4g TGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYt Ynk6IERoaW5ha2FyYW4gUGFuZGl5YW4gPGRoaW5ha2FyYW4ucGFuZGl5YW5AaW50ZWwuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMgfCA3NSArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX2RwX21zdF9oZWxwZXIu aCAgICAgICB8IDIwICsrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgOTUgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jCmluZGV4IGQzZmM3ZTQuLjBhZDBi YWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYwpAQCAtMjkzNiw2ICsyOTM2 LDY5IEBAIHN0YXRpYyB2b2lkIGRybV9kcF9kZXN0cm95X2Nvbm5lY3Rvcl93b3JrKHN0cnVjdCB3 b3JrX3N0cnVjdCAqd29yaykKIAkJKCptZ3ItPmNicy0+aG90cGx1ZykobWdyKTsKIH0KIAordm9p ZCAqZHJtX2RwX21zdF9kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0 YXRlLCB2b2lkICpvYmopCit7CisJc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3Ig PSBvYmo7CisJc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfc3RhdGUgKm5ld19tc3Rfc3RhdGU7 CisKKwlpZiAoV0FSTl9PTighbWdyLT5zdGF0ZSkpCisJCXJldHVybiBOVUxMOworCisJbmV3X21z dF9zdGF0ZSA9IGttZW1kdXAobWdyLT5zdGF0ZSwgc2l6ZW9mKCpuZXdfbXN0X3N0YXRlKSwgR0ZQ X0tFUk5FTCk7CisJaWYgKG5ld19tc3Rfc3RhdGUpCisJCW5ld19tc3Rfc3RhdGUtPnN0YXRlID0g c3RhdGU7CisJcmV0dXJuIG5ld19tc3Rfc3RhdGU7Cit9CisKK3ZvaWQgZHJtX2RwX21zdF9zd2Fw X3N0YXRlKHZvaWQgKm9iaiwgdm9pZCAqKm9ial9zdGF0ZV9wdHIpCit7CisJc3RydWN0IGRybV9k cF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IgPSBvYmo7CisJc3RydWN0IGRybV9kcF9tc3RfdG9wb2xv Z3lfc3RhdGUgKip0b3BvbG9neV9zdGF0ZV9wdHI7CisKKwl0b3BvbG9neV9zdGF0ZV9wdHIgPSAo c3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfc3RhdGUgKiopb2JqX3N0YXRlX3B0cjsKKworCW1n ci0+c3RhdGUtPnN0YXRlID0gKCp0b3BvbG9neV9zdGF0ZV9wdHIpLT5zdGF0ZTsKKwlzd2FwKCp0 b3BvbG9neV9zdGF0ZV9wdHIsIG1nci0+c3RhdGUpOworCW1nci0+c3RhdGUtPnN0YXRlID0gTlVM TDsKK30KKwordm9pZCBkcm1fZHBfbXN0X2Rlc3Ryb3lfc3RhdGUodm9pZCAqb2JqX3N0YXRlKQor eworCWtmcmVlKG9ial9zdGF0ZSk7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3ByaXZh dGVfc3RhdGVfZnVuY3MgbXN0X3N0YXRlX2Z1bmNzID0geworCS5kdXBsaWNhdGVfc3RhdGUgPSBk cm1fZHBfbXN0X2R1cGxpY2F0ZV9zdGF0ZSwKKwkuc3dhcF9zdGF0ZSA9IGRybV9kcF9tc3Rfc3dh cF9zdGF0ZSwKKwkuZGVzdHJveV9zdGF0ZSA9IGRybV9kcF9tc3RfZGVzdHJveV9zdGF0ZSwKK307 CisKKy8qKgorICogZHJtX2F0b21pY19nZXRfbXN0X3RvcG9sb2d5X3N0YXRlOiBnZXQgTVNUIHRv cG9sb2d5IHN0YXRlCisgKgorICogQHN0YXRlOiBnbG9iYWwgYXRvbWljIHN0YXRlCisgKiBAbWdy OiBNU1QgdG9wb2xvZ3kgbWFuYWdlciwgYWxzbyB0aGUgcHJpdmF0ZSBvYmplY3QgaW4gdGhpcyBj YXNlCisgKgorICogVGhpcyBmdW5jdGlvbiB3cmFwcyBkcm1fYXRvbWljX2dldF9wcml2X29ial9z dGF0ZSgpIHBhc3NpbmcgaW4gdGhlIE1TVCBhdG9taWMKKyAqIHN0YXRlIHZ0YWJsZSBzbyB0aGF0 IHRoZSBwcml2YXRlIG9iamVjdCBzdGF0ZSByZXR1cm5lZCBpcyB0aGF0IG9mIGEgTVNUCisgKiB0 b3BvbG9neSBvYmplY3QuIEFsc28sIGRybV9hdG9taWNfZ2V0X3ByaXZhdGVfb2JqX3N0YXRlKCkg ZXhwZWN0cyB0aGUgY2FsbGVyCisgKiB0byBjYXJlIG9mIHRoZSBsb2NraW5nLCBzbyB3YXJuIGlm IGRvbid0IGhvbGQgdGhlIGNvbm5lY3Rpb25fbXV0ZXguCisgKgorICogUkVUVVJOUzoKKyAqCisg KiBUaGUgTVNUIHRvcG9sb2d5IHN0YXRlIG9yIGVycm9yIHBvaW50ZXIuCisgKi8KK3N0cnVjdCBk cm1fZHBfbXN0X3RvcG9sb2d5X3N0YXRlICpkcm1fYXRvbWljX2dldF9tc3RfdG9wb2xvZ3lfc3Rh dGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAorCQkJCQkJCQkgICAgc3RydWN0IGRy bV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IpCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9 IG1nci0+ZGV2OworCisJV0FSTl9PTighZHJtX21vZGVzZXRfaXNfbG9ja2VkKCZkZXYtPm1vZGVf Y29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgpKTsKKwlyZXR1cm4gZHJtX2F0b21pY19nZXRfcHJpdmF0 ZV9vYmpfc3RhdGUoc3RhdGUsIG1nciwKKwkJCQkJCSZtc3Rfc3RhdGVfZnVuY3MpOworfQorRVhQ T1JUX1NZTUJPTChkcm1fYXRvbWljX2dldF9tc3RfdG9wb2xvZ3lfc3RhdGUpOworCiAvKioKICAq IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyX2luaXQgLSBpbml0aWFsaXNlIGEgdG9wb2xvZ3kgbWFu YWdlcgogICogQG1ncjogbWFuYWdlciBzdHJ1Y3QgdG8gaW5pdGlhbGlzZQpAQCAtMjk4MCw2ICsz MDQzLDE1IEBAIGludCBkcm1fZHBfbXN0X3RvcG9sb2d5X21ncl9pbml0KHN0cnVjdCBkcm1fZHBf bXN0X3RvcG9sb2d5X21nciAqbWdyLAogCWlmICh0ZXN0X2NhbGNfcGJuX21vZGUoKSA8IDApCiAJ CURSTV9FUlJPUigiTVNUIFBCTiBzZWxmLXRlc3QgZmFpbGVkXG4iKTsKIAorCW1nci0+c3RhdGUg PSBremFsbG9jKHNpemVvZigqbWdyLT5zdGF0ZSksIEdGUF9LRVJORUwpOworCWlmIChtZ3ItPnN0 YXRlID09IE5VTEwpCisJCXJldHVybiAtRU5PTUVNOworCW1nci0+c3RhdGUtPm1nciA9IG1ncjsK KworCS8qIG1heC4gdGltZSBzbG90cyAtIG9uZSBzbG90IGZvciBNVFAgaGVhZGVyICovCisJbWdy LT5zdGF0ZS0+YXZhaWxfc2xvdHMgPSA2MzsKKwltZ3ItPmZ1bmNzID0gJm1zdF9zdGF0ZV9mdW5j czsKKwogCXJldHVybiAwOwogfQogRVhQT1JUX1NZTUJPTChkcm1fZHBfbXN0X3RvcG9sb2d5X21n cl9pbml0KTsKQEAgLTMwMDAsNiArMzA3Miw5IEBAIHZvaWQgZHJtX2RwX21zdF90b3BvbG9neV9t Z3JfZGVzdHJveShzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1ncikKIAltdXRleF91 bmxvY2soJm1nci0+cGF5bG9hZF9sb2NrKTsKIAltZ3ItPmRldiA9IE5VTEw7CiAJbWdyLT5hdXgg PSBOVUxMOworCWtmcmVlKG1nci0+c3RhdGUpOworCW1nci0+c3RhdGUgPSBOVUxMOworCW1nci0+ ZnVuY3MgPSBOVUxMOwogfQogRVhQT1JUX1NZTUJPTChkcm1fZHBfbXN0X3RvcG9sb2d5X21ncl9k ZXN0cm95KTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2RwX21zdF9oZWxwZXIuaCBi L2luY2x1ZGUvZHJtL2RybV9kcF9tc3RfaGVscGVyLmgKaW5kZXggNWIwMjQ3Ni4uMGIzNzFkZiAx MDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2RwX21zdF9oZWxwZXIuaAorKysgYi9pbmNsdWRl L2RybS9kcm1fZHBfbXN0X2hlbHBlci5oCkBAIC0yNCw2ICsyNCw3IEBACiAKICNpbmNsdWRlIDxs aW51eC90eXBlcy5oPgogI2luY2x1ZGUgPGRybS9kcm1fZHBfaGVscGVyLmg+CisjaW5jbHVkZSA8 ZHJtL2RybV9hdG9taWMuaD4KIAogc3RydWN0IGRybV9kcF9tc3RfYnJhbmNoOwogCkBAIC00MDMs NiArNDA0LDEyIEBAIHN0cnVjdCBkcm1fZHBfcGF5bG9hZCB7CiAJaW50IHZjcGk7CiB9OwogCitz dHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9zdGF0ZSB7CisJaW50IGF2YWlsX3Nsb3RzOworCXN0 cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKKwlzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9n eV9tZ3IgKm1ncjsKK307CisKIC8qKgogICogc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdy IC0gRGlzcGxheVBvcnQgTVNUIG1hbmFnZXIKICAqCkBAIC00ODEsNiArNDg4LDE2IEBAIHN0cnVj dCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciB7CiAJaW50IHBibl9kaXY7CiAKIAkvKioKKwkgKiBA c3RhdGU6IFN0YXRlIGluZm9ybWF0aW9uIGZvciB0b3BvbG9neSBtYW5hZ2VyCisJICovCisJc3Ry dWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfc3RhdGUgKnN0YXRlOworCisJLyoqCisJICogQGZ1bmNz OiBBdG9taWMgaGVscGVyIGNhbGxiYWNrcworCSAqLworCWNvbnN0IHN0cnVjdCBkcm1fcHJpdmF0 ZV9zdGF0ZV9mdW5jcyAqZnVuY3M7CisKKwkvKioKIAkgKiBAcWxvY2s6IHByb3RlY3RzIEB0eF9t c2dfZG93bnEsIHRoZSAmZHJtX2RwX21zdF9icmFuY2gudHhzbG9zdCBhbmQKIAkgKiAmZHJtX2Rw X3NpZGViYW5kX21zZ190eC5zdGF0ZSBvbmNlIHRoZXkgYXJlIHF1ZXVlZAogCSAqLwpAQCAtNTk2 LDQgKzYxMyw3IEBAIHZvaWQgZHJtX2RwX21zdF9kdW1wX3RvcG9sb2d5KHN0cnVjdCBzZXFfZmls ZSAqbSwKIAogdm9pZCBkcm1fZHBfbXN0X3RvcG9sb2d5X21ncl9zdXNwZW5kKHN0cnVjdCBkcm1f ZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyKTsKIGludCBkcm1fZHBfbXN0X3RvcG9sb2d5X21ncl9y ZXN1bWUoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IpOworc3RydWN0IGRybV9k cF9tc3RfdG9wb2xvZ3lfc3RhdGUgKmRybV9hdG9taWNfZ2V0X21zdF90b3BvbG9neV9zdGF0ZShz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCisJCQkJCQkJCSAgICBzdHJ1Y3QgZHJtX2Rw X21zdF90b3BvbG9neV9tZ3IgKm1ncik7CisKICNlbmRpZgotLSAKMi43LjQKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=