From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dhinakaran Pandiyan Subject: [PATCH v7 4/4] drm/dp: Track MST link bandwidth Date: Thu, 20 Apr 2017 22:51:33 -0700 Message-ID: <1492753893-3748-5-git-send-email-dhinakaran.pandiyan@intel.com> References: <1492753893-3748-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: <1492753893-3748-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: architt@codeaurora.org, daniel.vetter@ffwll.ch, dri-devel@lists.freedesktop.org, "Pandiyan, Dhinakaran" , Harry.wentland@amd.com List-Id: dri-devel@lists.freedesktop.org RnJvbTogIlBhbmRpeWFuLCBEaGluYWthcmFuIiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5j b20+CgpVc2UgdGhlIGFkZGVkIGhlbHBlcnMgdG8gdHJhY2sgTVNUIGxpbmsgYmFuZHdpZHRoIGZv ciBhdG9taWMgbW9kZXNldHMuCkxpbmsgYncgaXMgYWNxdWlyZWQgaW4gdGhlIC0+YXRvbWljX2No ZWNrKCkgcGhhc2Ugd2hlbiBDUlRDcyBhcmUgYmVpbmcKZW5hYmxlZCB3aXRoIGRybV9hdG9taWNf ZmluZF92Y3BpX3Nsb3RzKCkgaW5zdGVhZCBvZiBkcm1fZmluZF92Y3BpX3Nsb3RzKCkuClNpbWls YXJseSwgbGluayBidyBpcyByZWxlYXNlZCBkdXJpbmcgLT5hdG9taWNfY2hlY2soKSB3aXRoIHRo ZSBjb25uZWN0b3IKaGVscGVyIGNhbGxiYWNrIC0+YXRvbWljX3JlbGVhc2UoKSB3aGVuIENSVENz IGFyZSBkaXNhYmxlZC4KCnY1OiBJbXBsZW1lbnQgY29ubmVjdG9yLT5hdG9taWNfY2hlY2soKSBp biBwbGFjZSBvZiBhdG9taWNfcmVsZWFzZSgpCnY0OiBSZXR1cm4gYW4gaW50IGZyb20gaW50ZWxf ZHBfbXN0X2F0b21pY19yZWxlYXNlKCkgKE1hYXJ0ZW4pCnYzOgogSGFuZGxlZCB0aGUgY2FzZSB3 aGVyZSAtPmF0b21pY19yZWxlYXNlKCkgaXMgY2FsbGVkIG1vcmUgdGhhbiBvbmNlCiBkdXJpbmcg YW4gYXRvbWljX2NoZWNrKCkgZm9yIHRoZSBzYW1lIHN0YXRlLgp2MjoKIFNxdWFzaGVkIGF0b21p Y19yZWxlYXNlKCkgaW1wbGVtZW50YXRpb24gYW5kIGNhbGxlciAoRGFuaWVsKQogRml4ZWQgbG9n aWMgZm9yIGNvbm5lY3Rvci1jcnRjIHN3aXRjaGluZyBjYXNlIChEYW5pZWwpCiBGaXhlZCBsb2dp YyBmb3Igc3VzcGVuZC1yZXN1bWUgY2FzZS4KCkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0 dGVyQGZmd2xsLmNoPgpDYzogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxp bnV4LmludGVsLmNvbT4KQ2M6IEFyY2hpdCBUYW5lamEgPGFyY2hpdHRAY29kZWF1cm9yYS5vcmc+ CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IEhhcnJ5IFdl bnRsYW5kIDxIYXJyeS53ZW50bGFuZEBhbWQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEaGluYWthcmFu IFBhbmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFuQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYyB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA1MSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKaW5kZXggNWFmMjJhNy4uMjBjNTU3 YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKQEAgLTM5LDkgKzM5LDkgQEAgc3Rh dGljIGJvb2wgaW50ZWxfZHBfbXN0X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAogCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxfZGlnX3BvcnQt PmRwOwogCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9CiAJCXRvX2ludGVsX2Nv bm5lY3Rvcihjb25uX3N0YXRlLT5jb25uZWN0b3IpOwotCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpzdGF0ZTsKKwlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBwaXBlX2NvbmZpZy0+ YmFzZS5zdGF0ZTsKIAlpbnQgYnBwOwotCWludCBsYW5lX2NvdW50LCBzbG90czsKKwlpbnQgbGFu ZV9jb3VudCwgc2xvdHMgPSAwOwogCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1 c3RlZF9tb2RlID0gJnBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7CiAJaW50IG1zdF9w Ym47CiAKQEAgLTYzLDI0ICs2Myw2OCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kcF9tc3RfY29tcHV0 ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJcGlwZV9jb25maWctPnBp cGVfYnBwID0gYnBwOwogCXBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrID0gaW50ZWxfZHBfbWF4X2xp bmtfcmF0ZShpbnRlbF9kcCk7CiAKLQlzdGF0ZSA9IHBpcGVfY29uZmlnLT5iYXNlLnN0YXRlOwot CiAJaWYgKGRybV9kcF9tc3RfcG9ydF9oYXNfYXVkaW8oJmludGVsX2RwLT5tc3RfbWdyLCBjb25u ZWN0b3ItPnBvcnQpKQogCQlwaXBlX2NvbmZpZy0+aGFzX2F1ZGlvID0gdHJ1ZTsKLQltc3RfcGJu ID0gZHJtX2RwX2NhbGNfcGJuX21vZGUoYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jaywgYnBwKTsK IAorCW1zdF9wYm4gPSBkcm1fZHBfY2FsY19wYm5fbW9kZShhZGp1c3RlZF9tb2RlLT5jcnRjX2Ns b2NrLCBicHApOwogCXBpcGVfY29uZmlnLT5wYm4gPSBtc3RfcGJuOwotCXNsb3RzID0gZHJtX2Rw X2ZpbmRfdmNwaV9zbG90cygmaW50ZWxfZHAtPm1zdF9tZ3IsIG1zdF9wYm4pOwogCiAJaW50ZWxf bGlua19jb21wdXRlX21fbihicHAsIGxhbmVfY291bnQsCiAJCQkgICAgICAgYWRqdXN0ZWRfbW9k ZS0+Y3J0Y19jbG9jaywKIAkJCSAgICAgICBwaXBlX2NvbmZpZy0+cG9ydF9jbG9jaywKIAkJCSAg ICAgICAmcGlwZV9jb25maWctPmRwX21fbik7CiAKKwlpZiAocGlwZV9jb25maWctPmJhc2UuYWN0 aXZlKSB7CisJCXNsb3RzID0gZHJtX2RwX2F0b21pY19maW5kX3ZjcGlfc2xvdHMoc3RhdGUsICZp bnRlbF9kcC0+bXN0X21nciwKKwkJCQkJICAgICAgY29ubmVjdG9yLT5wb3J0LCBtc3RfcGJuKTsK KwkJaWYgKHNsb3RzIDwgMCkgeworCQkJRFJNX0RFQlVHX0tNUygiZmFpbGVkIGZpbmRpbmcgdmNw aSBzbG90czolZFxuIiwgc2xvdHMpOworCQkJcmV0dXJuIGZhbHNlOworCQl9CisJfQogCXBpcGVf Y29uZmlnLT5kcF9tX24udHUgPSBzbG90czsKIAogCXJldHVybiB0cnVlOworfQogCitzdGF0aWMg aW5saW5lIGJvb2wgcmVsZWFzZV9yZXNvdXJjZXMoc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKQoreworCXJldHVybiAoY3J0Y19zdGF0ZS0+Y29ubmVjdG9yc19jaGFuZ2VkIHx8CisJ CWNydGNfc3RhdGUtPm1vZGVfY2hhbmdlZCB8fAorCQkoY3J0Y19zdGF0ZS0+YWN0aXZlX2NoYW5n ZWQgJiYgIWNydGNfc3RhdGUtPmFjdGl2ZSkpOworfQorCitzdGF0aWMgaW50IGludGVsX2RwX21z dF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKKwkJc3RydWN0 IGRybV9jb25uZWN0b3Jfc3RhdGUgKm5ld19jb25uX3N0YXRlKQoreworCXN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSA9IG5ld19jb25uX3N0YXRlLT5zdGF0ZTsKKwlzdHJ1Y3QgZHJtX2Nv bm5lY3Rvcl9zdGF0ZSAqb2xkX2Nvbm5fc3RhdGU7CisJc3RydWN0IGRybV9jcnRjICpvbGRfY3J0 YzsKKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7CisJaW50IHNsb3RzLCByZXQg PSAwOworCisJb2xkX2Nvbm5fc3RhdGUgPSBkcm1fYXRvbWljX2dldF9vbGRfY29ubmVjdG9yX3N0 YXRlKHN0YXRlLCBjb25uZWN0b3IpOworCW9sZF9jcnRjID0gb2xkX2Nvbm5fc3RhdGUtPmNydGM7 CisJaWYgKCFvbGRfY3J0YykKKwkJcmV0dXJuIDA7CisKKwljcnRjX3N0YXRlID0gZHJtX2F0b21p Y19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIG9sZF9jcnRjKTsKKwlzbG90cyA9IHRvX2ludGVs X2NydGNfc3RhdGUoY3J0Y19zdGF0ZSktPmRwX21fbi50dTsKKworCWlmIChyZWxlYXNlX3Jlc291 cmNlcyhjcnRjX3N0YXRlKSAmJiBzbG90cyA+IDApIHsKKwkJc3RydWN0IGRybV9kcF9tc3RfdG9w b2xvZ3lfbWdyICptZ3I7CisJCXN0cnVjdCBkcm1fZW5jb2RlciAqb2xkX2VuY29kZXI7CisKKwkJ b2xkX2VuY29kZXIgPSBvbGRfY29ubl9zdGF0ZS0+YmVzdF9lbmNvZGVyOworCQltZ3IgPSAmZW5j X3RvX21zdChvbGRfZW5jb2RlciktPnByaW1hcnktPmRwLm1zdF9tZ3I7CisKKwkJcmV0ID0gZHJt X2RwX2F0b21pY19yZWxlYXNlX3ZjcGlfc2xvdHMoc3RhdGUsIG1nciwgc2xvdHMpOworCQlpZiAo cmV0KQorCQkJRFJNX0RFQlVHX0tNUygiZmFpbGVkIHJlbGVhc2luZyAlZCB2Y3BpIHNsb3RzOiVk XG4iLCBzbG90cywgcmV0KTsKKwkJZWxzZQorCQkJdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjX3N0 YXRlKS0+ZHBfbV9uLnR1ID0gMDsKKwl9CisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIHZvaWQg aW50ZWxfbXN0X2Rpc2FibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCkBAIC0z NzgsNiArNDIyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9m dW5jcyBpbnRlbF9kcF9tc3RfY29ubmVjdG9yX2hlbHBlcl9mdW4KIAkubW9kZV92YWxpZCA9IGlu dGVsX2RwX21zdF9tb2RlX3ZhbGlkLAogCS5hdG9taWNfYmVzdF9lbmNvZGVyID0gaW50ZWxfbXN0 X2F0b21pY19iZXN0X2VuY29kZXIsCiAJLmJlc3RfZW5jb2RlciA9IGludGVsX21zdF9iZXN0X2Vu Y29kZXIsCisJLmF0b21pY19jaGVjayA9IGludGVsX2RwX21zdF9hdG9taWNfY2hlY2ssCiB9Owog CiBzdGF0aWMgdm9pZCBpbnRlbF9kcF9tc3RfZW5jb2Rlcl9kZXN0cm95KHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2RlcikKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK