From: Lyude Paul Subject: [PATCH v6 07/10] drm/i915: Only use one link bw config for MST topologies Date: Wed, 11 Apr 2018 15:29:34 -0400 Message-ID: <20180411192951.21997-8-lyude@redhat.com> References: <20180411192951.21997-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180411192951.21997-1-lyude@redhat.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: David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Rodrigo Vivi List-Id: dri-devel@lists.freedesktop.org V2hlbiBhIERQIE1TVCBsaW5rIG5lZWRzIHJldHJhaW5pbmcsIHNvbWV0aW1lcyB0aGUgaHViIHdp bGwgZGV0ZWN0IHRoYXQKdGhlIGN1cnJlbnQgbGluayBidyBjb25maWcgaXMgaW1wb3NzaWJsZSBh bmQgd2lsbCB1cGRhdGUgaXQncyBSWCBjYXBzIGluCnRoZSBEUENEIHRvIHJlZmxlY3QgdGhlIG5l dyBtYXhpbXVtIGxpbmsgcmF0ZS4gQ3VycmVudGx5LCB3ZSBtYWtlIHRoZQphc3N1bXB0aW9uIHRo YXQgdGhlIFJYIGNhcHMgaW4gdGhlIGRwY2Qgd2lsbCBuZXZlciBjaGFuZ2UgbGlrZSB0aGlzLgpU aGlzIG1lYW5zIGlmIHRoZSBzaW5rIGNoYW5nZXMgaXQncyBSWCBjYXBzIGFmdGVyIHdlJ3ZlIGFs cmVhZHkgc2V0IHVwCmFuIE1TVCBsaW5rIGFuZCB3ZSBhdHRlbXB0IHRvIGFkZCBvciByZW1vdmUg YW5vdGhlciBzaW5rIGZyb20gdGhlCnRvcG9sb2d5LCB3ZSBjb3VsZCBwdXQgb3Vyc2VsdmVzIGlu dG8gYW4gaW52YWxpZCBzdGF0ZSB3aGVyZSB3ZSd2ZSB0cmllZAp0byBjb25maWd1cmUgZGlmZmVy ZW50IHNpbmtzIG9uIHRoZSBzYW1lIE1TVCB0b3BvbG9neSB3aXRoIGRpZmZlcmVudApsaW5rIHJh dGVzLiBXZSBjb3VsZCBhbHNvIHJ1biBpbnRvIHRoaXMgc2l0dWF0aW9uIGlmIGEgc2luayByZXBv cnRzIGEKaGlnaGVyIGxpbmsgcmF0ZSBhZnRlciBzdXNwZW5kLCB1c3VhbGx5IGZyb20gdXMgaGF2 aW5nIHRyYWluZWQgaXQgd2l0aCBhCmZhbGxiYWNrIGJ3IGNvbmZpZ3VyYXRpb24gYmVmb3JlIHN1 c3BlbmRpbmcuCgpTbzoga2VlcCB0aGUgbGluayByYXRlIGNvbnNpc3RlbnQgYnkgc3ViY2xhc3Np bmcKZHJtX2RwX21zdF90b3BvbG9neV9zdGF0ZSwgYW5kIHRyYWNraW5nIGl0IHRoZXJlLiBGb3Ig dGhlIHRpbWUgYmVpbmcsIHdlCm9ubHkgYWxsb3cgdGhlIGxpbmsgcmF0ZSB0byBjaGFuZ2Ugd2hl biB0aGUgZW50aXJlIHRvcG9sb2d5IGhhcyBiZWVuCmRpc2Nvbm5lY3RlZC4KClY0OgogLSBUcmFj ayBsaW5rIHJhdGUvbGFuZSBjb3VudCBpbiB0aGUgYXRvbWljIHRvcG9sb2d5IHN0YXRlIGluc3Rl YWQgb2YgaW4KICAgaW50ZWxfZHAuCgpTaWduZWQtb2ZmLWJ5OiBMeXVkZSBQYXVsIDxseXVkZUBy ZWRoYXQuY29tPgpDYzogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4K Q2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMgfCA3NyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAg ICB8ICA3ICsrKysKIDIgZmlsZXMgY2hhbmdlZCwgNjggaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwppbmRleCBjZjg0NGNmZDJiYjAu LjQwYWY5MzhlMmZlNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBf bXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKQEAgLTQxLDgg KzQxLDkgQEAgc3RhdGljIGJvb2wgaW50ZWxfZHBfbXN0X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAogCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rv ciA9CiAJCXRvX2ludGVsX2Nvbm5lY3Rvcihjb25uX3N0YXRlLT5jb25uZWN0b3IpOwogCXN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSA9IHBpcGVfY29uZmlnLT5iYXNlLnN0YXRlOworCXN0 cnVjdCBpbnRlbF9kcF9tc3RfdG9wb2xvZ3lfc3RhdGUgKm1zdF9zdGF0ZTsKIAlpbnQgYnBwOwot CWludCBsYW5lX2NvdW50LCBzbG90czsKKwlpbnQgc2xvdHM7CiAJY29uc3Qgc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPSAmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRf bW9kZTsKIAlpbnQgbXN0X3BibjsKIAlib29sIHJlZHVjZV9tX24gPSBkcm1fZHBfaGFzX3F1aXJr KCZpbnRlbF9kcC0+ZGVzYywKQEAgLTU1LDE4ICs1NiwyMiBAQCBzdGF0aWMgYm9vbCBpbnRlbF9k cF9tc3RfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCURS TV9ERUJVR19LTVMoIlNldHRpbmcgcGlwZSBicHAgdG8gJWRcbiIsCiAJCQkgICAgICBicHApOwog CX0KKworCW1zdF9zdGF0ZSA9IHRvX2ludGVsX2RwX21zdF90b3BvbG9neV9zdGF0ZSgKKwkgICAg ZHJtX2F0b21pY19kcF9tc3RfZ2V0X3RvcG9sb2d5X3N0YXRlKHN0YXRlLCAmaW50ZWxfZHAtPm1z dF9tZ3IpKTsKIAkvKgogCSAqIGZvciBNU1Qgd2UgYWx3YXlzIGNvbmZpZ3VyZSBtYXggbGluayBi dyAtIHRoZSBzcGVjIGRvZXNuJ3QKIAkgKiBzZWVtIHRvIHN1Z2dlc3Qgd2Ugc2hvdWxkIGRvIG90 aGVyd2lzZS4KIAkgKi8KLQlsYW5lX2NvdW50ID0gaW50ZWxfZHBfbWF4X2xhbmVfY291bnQoaW50 ZWxfZHApOwotCi0JcGlwZV9jb25maWctPmxhbmVfY291bnQgPSBsYW5lX2NvdW50OworCWlmICgh bXN0X3N0YXRlLT5saW5rX3JhdGUgfHwgIW1zdF9zdGF0ZS0+bGFuZV9jb3VudCkgeworCQltc3Rf c3RhdGUtPmxpbmtfcmF0ZSA9IGludGVsX2RwX21heF9saW5rX3JhdGUoaW50ZWxfZHApOworCQlt c3Rfc3RhdGUtPmxhbmVfY291bnQgPSBpbnRlbF9kcF9tYXhfbGFuZV9jb3VudChpbnRlbF9kcCk7 CisJfQogCisJcGlwZV9jb25maWctPmxhbmVfY291bnQgPSBtc3Rfc3RhdGUtPmxhbmVfY291bnQ7 CisJcGlwZV9jb25maWctPnBvcnRfY2xvY2sgPSBtc3Rfc3RhdGUtPmxpbmtfcmF0ZTsKIAlwaXBl X2NvbmZpZy0+cGlwZV9icHAgPSBicHA7CiAKLQlwaXBlX2NvbmZpZy0+cG9ydF9jbG9jayA9IGlu dGVsX2RwX21heF9saW5rX3JhdGUoaW50ZWxfZHApOwotCiAJaWYgKGRybV9kcF9tc3RfcG9ydF9o YXNfYXVkaW8oJmludGVsX2RwLT5tc3RfbWdyLCBjb25uZWN0b3ItPnBvcnQpKQogCQlwaXBlX2Nv bmZpZy0+aGFzX2F1ZGlvID0gdHJ1ZTsKIApAQCAtODAsNyArODUsNyBAQCBzdGF0aWMgYm9vbCBp bnRlbF9kcF9tc3RfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs CiAJCXJldHVybiBmYWxzZTsKIAl9CiAKLQlpbnRlbF9saW5rX2NvbXB1dGVfbV9uKGJwcCwgbGFu ZV9jb3VudCwKKwlpbnRlbF9saW5rX2NvbXB1dGVfbV9uKGJwcCwgbXN0X3N0YXRlLT5sYW5lX2Nv dW50LAogCQkJICAgICAgIGFkanVzdGVkX21vZGUtPmNydGNfY2xvY2ssCiAJCQkgICAgICAgcGlw ZV9jb25maWctPnBvcnRfY2xvY2ssCiAJCQkgICAgICAgJnBpcGVfY29uZmlnLT5kcF9tX24sCkBA IC01MzAsMTEgKzUzNSw1NSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kcF9tc3RfaG90cGx1ZyhzdHJ1 Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1ncikKIAlkcm1fa21zX2hlbHBlcl9ob3RwbHVn X2V2ZW50KGRldik7CiB9CiAKK3N0YXRpYyB2b2lkIGludGVsX21zdF9yZXNldF9zdGF0ZShzdHJ1 Y3QgZHJtX2RwX21zdF90b3BvbG9neV9zdGF0ZSAqc3RhdGUpCit7CisJc3RydWN0IGludGVsX2Rw X21zdF90b3BvbG9neV9zdGF0ZSAqaW50ZWxfbXN0X3N0YXRlID0KKwkJdG9faW50ZWxfZHBfbXN0 X3RvcG9sb2d5X3N0YXRlKHN0YXRlKTsKKworCWludGVsX21zdF9zdGF0ZS0+bGlua19yYXRlID0g MDsKKwlpbnRlbF9tc3Rfc3RhdGUtPmxhbmVfY291bnQgPSAwOworfQorCiBzdGF0aWMgY29uc3Qg c3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfY2JzIG1zdF9jYnMgPSB7CiAJLmFkZF9jb25uZWN0 b3IgPSBpbnRlbF9kcF9hZGRfbXN0X2Nvbm5lY3RvciwKIAkucmVnaXN0ZXJfY29ubmVjdG9yID0g aW50ZWxfZHBfcmVnaXN0ZXJfbXN0X2Nvbm5lY3RvciwKIAkuZGVzdHJveV9jb25uZWN0b3IgPSBp bnRlbF9kcF9kZXN0cm95X21zdF9jb25uZWN0b3IsCiAJLmhvdHBsdWcgPSBpbnRlbF9kcF9tc3Rf aG90cGx1ZywKKwkucmVzZXRfc3RhdGUgPSBpbnRlbF9tc3RfcmVzZXRfc3RhdGUsCit9OworCitz dGF0aWMgc3RydWN0IGRybV9wcml2YXRlX3N0YXRlICoKK2ludGVsX2RwX21zdF9kdXBsaWNhdGVf c3RhdGUoc3RydWN0IGRybV9wcml2YXRlX29iaiAqb2JqKQoreworCXN0cnVjdCBpbnRlbF9kcF9t c3RfdG9wb2xvZ3lfc3RhdGUgKnN0YXRlOworCisJc3RhdGUgPSBrbWVtZHVwKG9iai0+c3RhdGUs IHNpemVvZigqc3RhdGUpLCBHRlBfS0VSTkVMKTsKKwlpZiAoIXN0YXRlKQorCQlyZXR1cm4gTlVM TDsKKworCV9fZHJtX2F0b21pY19kcF9tc3RfZHVwbGljYXRlX3RvcG9sb2d5X3N0YXRlKAorCSAg ICB0b19kcF9tc3RfdG9wb2xvZ3lfbWdyKG9iaiksICZzdGF0ZS0+YmFzZSk7CisKKwlyZXR1cm4g JnN0YXRlLT5iYXNlLmJhc2U7Cit9CisKK3N0YXRpYyB2b2lkCitpbnRlbF9kcF9tc3RfZGVzdHJv eV9zdGF0ZShzdHJ1Y3QgZHJtX3ByaXZhdGVfb2JqICpvYmosCisJCQkgICBzdHJ1Y3QgZHJtX3By aXZhdGVfc3RhdGUgKnN0YXRlKQoreworCXN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X3N0YXRl ICptc3Rfc3RhdGUgPQorCQl0b19kcF9tc3RfdG9wb2xvZ3lfc3RhdGUoc3RhdGUpOworCXN0cnVj dCBpbnRlbF9kcF9tc3RfdG9wb2xvZ3lfc3RhdGUgKmludGVsX21zdF9zdGF0ZSA9CisJCXRvX2lu dGVsX2RwX21zdF90b3BvbG9neV9zdGF0ZShtc3Rfc3RhdGUpOworCisJX19kcm1fYXRvbWljX2Rw X21zdF9kZXN0cm95X3RvcG9sb2d5X3N0YXRlKG1zdF9zdGF0ZSk7CisKKwlrZnJlZShpbnRlbF9t c3Rfc3RhdGUpOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wcml2YXRlX3N0YXRlX2Z1 bmNzIG1zdF9zdGF0ZV9mdW5jcyA9IHsKKwkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGludGVs X2RwX21zdF9kdXBsaWNhdGVfc3RhdGUsCisJLmF0b21pY19kZXN0cm95X3N0YXRlID0gaW50ZWxf ZHBfbXN0X2Rlc3Ryb3lfc3RhdGUsCiB9OwogCiBzdGF0aWMgc3RydWN0IGludGVsX2RwX21zdF9l bmNvZGVyICoKQEAgLTU4NywyMSArNjM2LDE2IEBAIGludGVsX2RwX2NyZWF0ZV9mYWtlX21zdF9l bmNvZGVycyhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCkKIAlyZXR1 cm4gdHJ1ZTsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZV9mdW5j cyBtc3Rfc3RhdGVfZnVuY3MgPSB7Ci0JLmF0b21pY19kZXN0cm95X3N0YXRlID0gZHJtX2F0b21p Y19kcF9tc3RfZGVzdHJveV90b3BvbG9neV9zdGF0ZSwKLQkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0 ZSA9IGRybV9hdG9taWNfZHBfbXN0X2R1cGxpY2F0ZV90b3BvbG9neV9zdGF0ZSwKLX07Ci0KIGlu dAogaW50ZWxfZHBfbXN0X2VuY29kZXJfaW5pdChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpp bnRlbF9kaWdfcG9ydCwgaW50IGNvbm5fYmFzZV9pZCkKIHsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwID0gJmludGVsX2RpZ19wb3J0LT5kcDsKLQlzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9n eV9zdGF0ZSAqbXN0X3N0YXRlOworCXN0cnVjdCBpbnRlbF9kcF9tc3RfdG9wb2xvZ3lfc3RhdGUg KmludGVsX21zdF9zdGF0ZTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZGlnX3Bv cnQtPmJhc2UuYmFzZS5kZXY7CiAJaW50IHJldDsKIAotCW1zdF9zdGF0ZSA9IGt6YWxsb2Moc2l6 ZW9mKCptc3Rfc3RhdGUpLCBHRlBfS0VSTkVMKTsKLQlpZiAoIW1zdF9zdGF0ZSkKKwlpbnRlbF9t c3Rfc3RhdGUgPSBremFsbG9jKHNpemVvZigqaW50ZWxfbXN0X3N0YXRlKSwgR0ZQX0tFUk5FTCk7 CisJaWYgKCFpbnRlbF9tc3Rfc3RhdGUpCiAJCXJldHVybiAtRU5PTUVNOwogCiAJaW50ZWxfZHAt PmNhbl9tc3QgPSB0cnVlOwpAQCAtNjEwLDcgKzY1NCw4IEBAIGludGVsX2RwX21zdF9lbmNvZGVy X2luaXQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsIGludCBjb25u X2JhCiAKIAkvKiBjcmVhdGUgZW5jb2RlcnMgKi8KIAlpbnRlbF9kcF9jcmVhdGVfZmFrZV9tc3Rf ZW5jb2RlcnMoaW50ZWxfZGlnX3BvcnQpOwotCXJldCA9IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdy X2luaXQoJmludGVsX2RwLT5tc3RfbWdyLCBtc3Rfc3RhdGUsIGRldiwKKwlyZXQgPSBkcm1fZHBf bXN0X3RvcG9sb2d5X21ncl9pbml0KCZpbnRlbF9kcC0+bXN0X21nciwKKwkJCQkJICAgJmludGVs X21zdF9zdGF0ZS0+YmFzZSwgZGV2LAogCQkJCQkgICAmaW50ZWxfZHAtPmF1eCwgMTYsIDMsIGNv bm5fYmFzZV9pZCk7CiAJaWYgKHJldCkgewogCQlpbnRlbF9kcC0+Y2FuX21zdCA9IGZhbHNlOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCA3NDJkNTM0OTU5NzQuLjM0YmJmNzBkNGM1NCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTk4NSw2ICs5ODUsMTIgQEAgc3RydWN0IGN4 c3JfbGF0ZW5jeSB7CiAJdTE2IGN1cnNvcl9ocGxsX2Rpc2FibGU7CiB9OwogCitzdHJ1Y3QgaW50 ZWxfZHBfbXN0X3RvcG9sb2d5X3N0YXRlIHsKKwlzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9z dGF0ZSBiYXNlOworCWludCBsaW5rX3JhdGU7CisJaW50IGxhbmVfY291bnQ7Cit9OworCiAjZGVm aW5lIHRvX2ludGVsX2F0b21pY19zdGF0ZSh4KSBjb250YWluZXJfb2YoeCwgc3RydWN0IGludGVs X2F0b21pY19zdGF0ZSwgYmFzZSkKICNkZWZpbmUgdG9faW50ZWxfY3J0Yyh4KSBjb250YWluZXJf b2YoeCwgc3RydWN0IGludGVsX2NydGMsIGJhc2UpCiAjZGVmaW5lIHRvX2ludGVsX2NydGNfc3Rh dGUoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlLCBiYXNlKQpAQCAt OTkzLDYgKzk5OSw3IEBAIHN0cnVjdCBjeHNyX2xhdGVuY3kgewogI2RlZmluZSB0b19pbnRlbF9m cmFtZWJ1ZmZlcih4KSBjb250YWluZXJfb2YoeCwgc3RydWN0IGludGVsX2ZyYW1lYnVmZmVyLCBi YXNlKQogI2RlZmluZSB0b19pbnRlbF9wbGFuZSh4KSBjb250YWluZXJfb2YoeCwgc3RydWN0IGlu dGVsX3BsYW5lLCBiYXNlKQogI2RlZmluZSB0b19pbnRlbF9wbGFuZV9zdGF0ZSh4KSBjb250YWlu ZXJfb2YoeCwgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlLCBiYXNlKQorI2RlZmluZSB0b19pbnRl bF9kcF9tc3RfdG9wb2xvZ3lfc3RhdGUoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCBpbnRlbF9k cF9tc3RfdG9wb2xvZ3lfc3RhdGUsIGJhc2UpOwogI2RlZmluZSBpbnRlbF9mYl9vYmooeCkgKHgg PyB0b19pbnRlbF9mcmFtZWJ1ZmZlcih4KS0+b2JqIDogTlVMTCkKIAogc3RydWN0IGludGVsX2hk bWkgewotLSAKMi4xNC4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK