From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dhinakaran Pandiyan Subject: [PATCH v5 5/5] drm/dp: Track MST link bandwidth Date: Thu, 30 Mar 2017 01:42:10 -0700 Message-ID: <1490863330-5359-6-git-send-email-dhinakaran.pandiyan@intel.com> References: <1490863330-5359-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: <1490863330-5359-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+CgpVc2UgdGhlIGFkZGVkIGhlbHBlcnMgdG8gdHJhY2sgTVNUIGxpbmsgYmFuZHdpZHRoIGZv ciBhdG9taWMgbW9kZXNldHMuCkxpbmsgYncgaXMgYWNxdWlyZWQgaW4gdGhlIC0+YXRvbWljX2No ZWNrKCkgcGhhc2Ugd2hlbiBDUlRDcyBhcmUgYmVpbmcKZW5hYmxlZCB3aXRoIGRybV9hdG9taWNf ZmluZF92Y3BpX3Nsb3RzKCkgaW5zdGVhZCBvZiBkcm1fZmluZF92Y3BpX3Nsb3RzKCkuClNpbWls YXJseSwgbGluayBidyBpcyByZWxlYXNlZCBkdXJpbmcgLT5hdG9taWNfY2hlY2soKSB3aXRoIHRo ZSBjb25uZWN0b3IKaGVscGVyIGNhbGxiYWNrIC0+YXRvbWljX3JlbGVhc2UoKSB3aGVuIENSVENz IGFyZSBkaXNhYmxlZC4KCnYzOgpIYW5kbGVkIHRoZSBjYXNlIHdoZXJlIC0+YXRvbWljX3JlbGVh c2UoKSBpcyBjYWxsZWQgbW9yZSB0aGFuIG9uY2UKZHVyaW5nIGFuIGF0b21pY19jaGVjaygpIGZv ciB0aGUgc2FtZSBzdGF0ZS4KCnYyOgpTcXVhc2hlZCBhdG9taWNfcmVsZWFzZSgpIGltcGxlbWVu dGF0aW9uIGFuZCBjYWxsZXIgKERhbmllbCkKRml4ZWQgbG9naWMgZm9yIGNvbm5lY3Rvci1jcnRj IHN3aXRjaGluZyBjYXNlIChEYW5pZWwpCkZpeGVkIGxvZ2ljIGZvciBzdXNwZW5kLXJlc3VtZSBj YXNlLgoKQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CkNjOiBNYWFy dGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgpDYzogQXJj aGl0IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KQ2M6IENocmlzIFdpbHNvbiA8Y2hy aXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogSGFycnkgV2VudGxhbmQgPEhhcnJ5LndlbnRsYW5k QGFtZC5jb20+CgpTaWduZWQtb2ZmLWJ5OiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWthcmFu LnBhbmRpeWFuQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9t c3QuYyB8IDQ4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHBfbXN0LmMKaW5kZXggYzFmNjJlYi4uOGY5MzAzNyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHBfbXN0LmMKQEAgLTM5LDkgKzM5LDkgQEAgc3RhdGljIGJvb2wgaW50ZWxfZHBfbXN0 X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxfZGlnX3BvcnQtPmRwOwogCXN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvciA9CiAJCXRvX2ludGVsX2Nvbm5lY3Rvcihjb25uX3N0YXRlLT5j b25uZWN0b3IpOwotCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKKwlzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUgPSBwaXBlX2NvbmZpZy0+YmFzZS5zdGF0ZTsKIAlpbnQgYnBw OwotCWludCBsYW5lX2NvdW50LCBzbG90czsKKwlpbnQgbGFuZV9jb3VudCwgc2xvdHMgPSAwOwog CWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0gJnBpcGVfY29u ZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7CiAJaW50IG1zdF9wYm47CiAKQEAgLTU3LDMwICs1Nyw2 MyBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kcF9tc3RfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCiAJICogc2VlbSB0byBzdWdnZXN0IHdlIHNob3VsZCBkbyBvdGhl cndpc2UuCiAJICovCiAJbGFuZV9jb3VudCA9IGRybV9kcF9tYXhfbGFuZV9jb3VudChpbnRlbF9k cC0+ZHBjZCk7Ci0KIAlwaXBlX2NvbmZpZy0+bGFuZV9jb3VudCA9IGxhbmVfY291bnQ7CiAKIAlw aXBlX2NvbmZpZy0+cGlwZV9icHAgPSBicHA7CiAJcGlwZV9jb25maWctPnBvcnRfY2xvY2sgPSBp bnRlbF9kcF9tYXhfbGlua19yYXRlKGludGVsX2RwKTsKIAotCXN0YXRlID0gcGlwZV9jb25maWct PmJhc2Uuc3RhdGU7Ci0KIAlpZiAoZHJtX2RwX21zdF9wb3J0X2hhc19hdWRpbygmaW50ZWxfZHAt Pm1zdF9tZ3IsIGNvbm5lY3Rvci0+cG9ydCkpCiAJCXBpcGVfY29uZmlnLT5oYXNfYXVkaW8gPSB0 cnVlOwotCW1zdF9wYm4gPSBkcm1fZHBfY2FsY19wYm5fbW9kZShhZGp1c3RlZF9tb2RlLT5jcnRj X2Nsb2NrLCBicHApOwogCisJbXN0X3BibiA9IGRybV9kcF9jYWxjX3Bibl9tb2RlKGFkanVzdGVk X21vZGUtPmNydGNfY2xvY2ssIGJwcCk7CiAJcGlwZV9jb25maWctPnBibiA9IG1zdF9wYm47Ci0J c2xvdHMgPSBkcm1fZHBfZmluZF92Y3BpX3Nsb3RzKCZpbnRlbF9kcC0+bXN0X21nciwgbXN0X3Bi bik7CiAKIAlpbnRlbF9saW5rX2NvbXB1dGVfbV9uKGJwcCwgbGFuZV9jb3VudCwKIAkJCSAgICAg ICBhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrLAogCQkJICAgICAgIHBpcGVfY29uZmlnLT5wb3J0 X2Nsb2NrLAogCQkJICAgICAgICZwaXBlX2NvbmZpZy0+ZHBfbV9uKTsKIAorCWlmIChwaXBlX2Nv bmZpZy0+YmFzZS5hY3RpdmUpIHsKKwkJc2xvdHMgPSBkcm1fZHBfYXRvbWljX2ZpbmRfdmNwaV9z bG90cyhzdGF0ZSwgJmludGVsX2RwLT5tc3RfbWdyLAorCQkJCQkgICAgICBjb25uZWN0b3ItPnBv cnQsIG1zdF9wYm4pOworCQlpZiAoc2xvdHMgPCAwKSB7CisJCQlEUk1fREVCVUdfS01TKCJmYWls ZWQgZmluZGluZyB2Y3BpIHNsb3RzOiVkXG4iLCBzbG90cyk7CisJCQlyZXR1cm4gZmFsc2U7CisJ CX0KKwl9CiAJcGlwZV9jb25maWctPmRwX21fbi50dSA9IHNsb3RzOwogCiAJcmV0dXJuIHRydWU7 Cit9CiAKK3N0YXRpYyB2b2lkIGludGVsX2RwX21zdF9hdG9taWNfcmVsZWFzZShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLAorCQkJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAq Y29ubl9zdGF0ZSkKK3sKKwlzdHJ1Y3QgaW50ZWxfZHBfbXN0X2VuY29kZXIgKmludGVsX21zdDsK KwlzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1ncjsKKwlzdHJ1Y3QgZHJtX2VuY29k ZXIgKmVuY29kZXI7CisJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0g dG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3Rvcik7CisJc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlID0gY29ubl9zdGF0ZS0+c3RhdGU7CisJc3RydWN0IGRybV9jcnRjICpvbGRfY3J0YyA9 IGNvbm5lY3Rvci0+c3RhdGUtPmNydGM7CisJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9j cnRjX3N0YXRlID0KKwkJdG9faW50ZWxfY3J0Y19zdGF0ZShvbGRfY3J0Yy0+c3RhdGUpOworCWlu dCBzbG90czsKKworCWVuY29kZXIgPSBjb25uZWN0b3ItPnN0YXRlLT5iZXN0X2VuY29kZXI7CisJ aW50ZWxfbXN0ID0gZW5jX3RvX21zdChlbmNvZGVyKTsKKwltZ3IgPSAmaW50ZWxfbXN0LT5wcmlt YXJ5LT5kcC5tc3RfbWdyOworCisJc2xvdHMgPSBvbGRfY3J0Y19zdGF0ZS0+ZHBfbV9uLnR1Owor CWlmIChzbG90cyA+IDApIHsKKwkJaW50IHJldDsKKworCQlyZXQgPSBkcm1fZHBfYXRvbWljX3Jl bGVhc2VfdmNwaV9zbG90cyhzdGF0ZSwgbWdyLAorCQkJCQkgaW50ZWxfY29ubmVjdG9yLT5wb3J0 KTsKKwkJaWYgKHJldCA9PSBzbG90cykKKwkJCW9sZF9jcnRjX3N0YXRlLT5kcF9tX24udHUgPSAw OworCQllbHNlCisJCQlEUk1fREVCVUdfS01TKCJmYWlsZWQgcmVsZWFzaW5nICVkIHZjcGkgc2xv dHM6JWRcbiIsIHNsb3RzLCByZXQpOworCX0KIH0KIAogc3RhdGljIHZvaWQgaW50ZWxfbXN0X2Rp c2FibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCkBAIC0zODcsNiArNDIwLDcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyBpbnRlbF9k cF9tc3RfY29ubmVjdG9yX2hlbHBlcl9mdW4KIAkubW9kZV92YWxpZCA9IGludGVsX2RwX21zdF9t b2RlX3ZhbGlkLAogCS5hdG9taWNfYmVzdF9lbmNvZGVyID0gaW50ZWxfbXN0X2F0b21pY19iZXN0 X2VuY29kZXIsCiAJLmJlc3RfZW5jb2RlciA9IGludGVsX21zdF9iZXN0X2VuY29kZXIsCisJLmF0 b21pY19yZWxlYXNlID0gaW50ZWxfZHBfbXN0X2F0b21pY19yZWxlYXNlLAogfTsKIAogc3RhdGlj IHZvaWQgaW50ZWxfZHBfbXN0X2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIpCi0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==