From mboxrd@z Thu Jan 1 00:00:00 1970 From: Karol Herbst Subject: [PATCH 6/7] drm/nouveau/pci: save the boot pcie link speed and restore it on fini Date: Wed, 14 Aug 2019 23:31:17 +0200 Message-ID: <20190814213118.28473-7-kherbst@redhat.com> References: <20190814213118.28473-1-kherbst@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by gabe.freedesktop.org (Postfix) with ESMTPS id 816C26E856 for ; Wed, 14 Aug 2019 21:31:40 +0000 (UTC) Received: by mail-wr1-f68.google.com with SMTP id k2so470180wrq.2 for ; Wed, 14 Aug 2019 14:31:40 -0700 (PDT) In-Reply-To: <20190814213118.28473-1-kherbst@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, dri-devel@lists.freedesktop.org, nouveau@lists.freedesktop.org Cc: Karol Herbst , "Rafael J . Wysocki" , Alex Hung , Ben Skeggs , Dave Airlie List-Id: dri-devel@lists.freedesktop.org QXBwZXJhbnRseSB0aGluZ3MgZ28gc291dGggaWYgd2Ugc3VzcGVuZCB0aGUgZGV2aWNlIHdpdGgg YSBkaWZmZXJlbnQgUENJRQpsaW5rIHNwZWVkIHNldCB0aGFuIGl0IGdvdCBib290ZWQgd2l0aC4g Rml4ZXMgcnVudGltZSBzdXNwZW5kIG9uIG15IGdwMTA3LgoKVGhpcyBhbGwgbG9va3MgbGlrZSBz b21lIGJ1ZyBpbnNpZGUgdGhlIHBjaSBzdWJzeXN0ZW0gYW5kIEkgd291bGQgcHJlZmVyIGEKZml4 IHRoZXJlIGluc3RlYWQgb2Ygbm91dmVhdSwgYnV0IG1heWJlIHRoZXJlIGlzIG5vIHJlYWwgbmlj ZSB3YXkgb2YgZG9pbmcKdGhhdCBvdXRzaWRlIG9mIGRyaXZlcnM/Cgp2Mjogc3F1YXNoZWQgdG9n ZXRoZXIgcGF0Y2ggNCBhbmQgNQp2Mzogb25seSByZXN0b3JlIHBjaWUgc3BlZWQgb24gbWFjaGlu ZXMgd2l0aCBydW5wbQogICAgYWRkIE52UnVucG1Xb3JrYXJvdW5kIGNvbmZpZyBvcHRpb24gdG8g ZGlzYWJsZSB0aGUgd29ya2Fyb3VuZAoKU2lnbmVkLW9mZi1ieTogS2Fyb2wgSGVyYnN0IDxraGVy YnN0QHJlZGhhdC5jb20+ClJldmlld2VkLWJ5OiBMeXVkZSBQYXVsIDxseXVkZUByZWRoYXQuY29t PiAodjIpCkNDOiBBbGV4IEh1bmcgPGFsZXguaHVuZ0BjYW5vbmljYWwuY29tPgpDQzogUmFmYWVs IEouIFd5c29ja2kgPHJhZmFlbC5qLnd5c29ja2lAaW50ZWwuY29tPgpDQzogRGF2ZSBBaXJsaWUg PGFpcmxpZWRAcmVkaGF0LmNvbT4KQ0M6IEx5dWRlIFBhdWwgPGx5dWRlQHJlZGhhdC5jb20+CkND OiBCZW4gU2tlZ2dzIDxic2tlZ2dzQHJlZGhhdC5jb20+Ci0tLQogLi4uL2RybS9ub3V2ZWF1L2lu Y2x1ZGUvbnZrbS9jb3JlL2RldmljZS5oICAgIHwgIDIgKwogLi4uL2dwdS9kcm0vbm91dmVhdS9p bmNsdWRlL252a20vc3ViZGV2L3BjaS5oIHwgIDggKystLQogZHJpdmVycy9ncHUvZHJtL25vdXZl YXUvbm91dmVhdV9kcm0uYyAgICAgICAgIHwgIDEgKwogLi4uL2dwdS9kcm0vbm91dmVhdS9udmtt L3N1YmRldi9jbGsvYmFzZS5jICAgIHwgIDIgKy0KIC4uLi9ncHUvZHJtL25vdXZlYXUvbnZrbS9z dWJkZXYvcGNpL2Jhc2UuYyAgICB8ICA5ICsrKystCiAuLi4vZ3B1L2RybS9ub3V2ZWF1L252a20v c3ViZGV2L3BjaS9wY2llLmMgICAgfCAzOCArKysrKysrKysrKysrKysrLS0tCiAuLi4vZ3B1L2Ry bS9ub3V2ZWF1L252a20vc3ViZGV2L3BjaS9wcml2LmggICAgfCAgMiArCiA3IGZpbGVzIGNoYW5n ZWQsIDUxIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L2luY2x1ZGUvbnZrbS9jb3JlL2RldmljZS5oIGIvZHJpdmVycy9n cHUvZHJtL25vdXZlYXUvaW5jbHVkZS9udmttL2NvcmUvZGV2aWNlLmgKaW5kZXggNmQ1NWNkMDQ3 NmFhLi40ZmIzZjk3MmZmOTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2lu Y2x1ZGUvbnZrbS9jb3JlL2RldmljZS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2lu Y2x1ZGUvbnZrbS9jb3JlL2RldmljZS5oCkBAIC0xMjUsNiArMTI1LDggQEAgc3RydWN0IG52a21f ZGV2aWNlIHsKIAl1OCAgY2hpcHJldjsKIAl1MzIgY3J5c3RhbDsKIAorCWJvb2wgaGFzX3J1bnBt OworCiAJc3RydWN0IHsKIAkJc3RydWN0IG5vdGlmaWVyX2Jsb2NrIG5iOwogCX0gYWNwaTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2luY2x1ZGUvbnZrbS9zdWJkZXYvcGNp LmggYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9pbmNsdWRlL252a20vc3ViZGV2L3BjaS5oCmlu ZGV4IGIyOTEwMWU0ODVmOS4uNTZlNzM0MTJmZTRhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vbm91dmVhdS9pbmNsdWRlL252a20vc3ViZGV2L3BjaS5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9ub3V2ZWF1L2luY2x1ZGUvbnZrbS9zdWJkZXYvcGNpLmgKQEAgLTI2LDggKzI2LDkgQEAgc3Ry dWN0IG52a21fcGNpIHsKIAl9IGFncDsKIAogCXN0cnVjdCB7Ci0JCWVudW0gbnZrbV9wY2llX3Nw ZWVkIHNwZWVkOwotCQl1OCB3aWR0aDsKKwkJZW51bSBudmttX3BjaWVfc3BlZWQgY3VyX3NwZWVk OworCQllbnVtIG52a21fcGNpZV9zcGVlZCBkZWZfc3BlZWQ7CisJCXU4IGN1cl93aWR0aDsKIAl9 IHBjaWU7CiAKIAlib29sIG1zaTsKQEAgLTUyLDYgKzUzLDcgQEAgaW50IGdrMTA0X3BjaV9uZXco c3RydWN0IG52a21fZGV2aWNlICosIGludCwgc3RydWN0IG52a21fcGNpICoqKTsKIGludCBncDEw MF9wY2lfbmV3KHN0cnVjdCBudmttX2RldmljZSAqLCBpbnQsIHN0cnVjdCBudmttX3BjaSAqKik7 CiAKIC8qIHBjaWUgZnVuY3Rpb25zICovCi1pbnQgbnZrbV9wY2llX3NldF9saW5rKHN0cnVjdCBu dmttX3BjaSAqLCBlbnVtIG52a21fcGNpZV9zcGVlZCwgdTggd2lkdGgpOworaW50IG52a21fcGNp ZV9zZXRfbGluayhzdHJ1Y3QgbnZrbV9wY2kgKiwgZW51bSBudmttX3BjaWVfc3BlZWQsIHU4IHdp ZHRoLAorCQkgICAgICAgYm9vbCBzYXZlKTsKIGVudW0gbnZrbV9wY2llX3NwZWVkIG52a21fcGNp ZV9nZXRfc3BlZWQoc3RydWN0IG52a21fcGNpICopOwogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2RybS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZl YXUvbm91dmVhdV9kcm0uYwppbmRleCA3YzJmY2FiYTQyZDYuLjE2NDQxYzViZjI5YyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcm0uYworKysgYi9kcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2RybS5jCkBAIC02NzUsNiArNjc1LDcgQEAgc3RhdGlj IGludCBub3V2ZWF1X2RybV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwKIAogCWlmIChub3V2 ZWF1X2F0b21pYykKIAkJZHJpdmVyX3BjaS5kcml2ZXJfZmVhdHVyZXMgfD0gRFJJVkVSX0FUT01J QzsKKwlkZXZpY2UtPmhhc19ydW5wbSA9IG5vdXZlYXVfcG1vcHNfcnVudGltZSgpOwogCiAJZHJt X2RldiA9IGRybV9kZXZfYWxsb2MoJmRyaXZlcl9wY2ksICZwZGV2LT5kZXYpOwogCWlmIChJU19F UlIoZHJtX2RldikpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20v c3ViZGV2L2Nsay9iYXNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9j bGsvYmFzZS5jCmluZGV4IDQwZTU2NDUyNGI3YS4uMWE1MjRmZmE3N2EzIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9jbGsvYmFzZS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L2Nsay9iYXNlLmMKQEAgLTI3OCw3ICsyNzgs NyBAQCBudmttX3BzdGF0ZV9wcm9nKHN0cnVjdCBudmttX2NsayAqY2xrLCBpbnQgcHN0YXRlaSkK IAludmttX2RlYnVnKHN1YmRldiwgInNldHRpbmcgcGVyZm9ybWFuY2Ugc3RhdGUgJWRcbiIsIHBz dGF0ZWkpOwogCWNsay0+cHN0YXRlID0gcHN0YXRlaTsKIAotCW52a21fcGNpZV9zZXRfbGluayhw Y2ksIHBzdGF0ZS0+cGNpZV9zcGVlZCwgcHN0YXRlLT5wY2llX3dpZHRoKTsKKwludmttX3BjaWVf c2V0X2xpbmsocGNpLCBwc3RhdGUtPnBjaWVfc3BlZWQsIHBzdGF0ZS0+cGNpZV93aWR0aCwgdHJ1 ZSk7CiAKIAlpZiAoZmIgJiYgZmItPnJhbSAmJiBmYi0+cmFtLT5mdW5jLT5jYWxjKSB7CiAJCXN0 cnVjdCBudmttX3JhbSAqcmFtID0gZmItPnJhbTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9ub3V2ZWF1L252a20vc3ViZGV2L3BjaS9iYXNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVh dS9udmttL3N1YmRldi9wY2kvYmFzZS5jCmluZGV4IGVlMjQzMWE3ODA0ZS4uZDlmYjVhODNmN2Qy IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9wY2kvYmFz ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3BjaS9iYXNlLmMK QEAgLTkwLDYgKzkwLDggQEAgbnZrbV9wY2lfZmluaShzdHJ1Y3QgbnZrbV9zdWJkZXYgKnN1YmRl diwgYm9vbCBzdXNwZW5kKQogCiAJaWYgKHBjaS0+YWdwLmJyaWRnZSkKIAkJbnZrbV9hZ3BfZmlu aShwY2kpOworCWVsc2UgaWYgKHBjaV9pc19wY2llKHBjaS0+cGRldikpCisJCW52a21fcGNpZV9m aW5pKHBjaSk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTEwMCw2ICsxMDIsOCBAQCBudmttX3BjaV9w cmVpbml0KHN0cnVjdCBudmttX3N1YmRldiAqc3ViZGV2KQogCXN0cnVjdCBudmttX3BjaSAqcGNp ID0gbnZrbV9wY2koc3ViZGV2KTsKIAlpZiAocGNpLT5hZ3AuYnJpZGdlKQogCQludmttX2FncF9w cmVpbml0KHBjaSk7CisJZWxzZSBpZiAocGNpX2lzX3BjaWUocGNpLT5wZGV2KSkKKwkJbnZrbV9w Y2llX3ByZWluaXQocGNpKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTkzLDggKzE5Nyw5IEBAIG52 a21fcGNpX25ld18oY29uc3Qgc3RydWN0IG52a21fcGNpX2Z1bmMgKmZ1bmMsIHN0cnVjdCBudmtt X2RldmljZSAqZGV2aWNlLAogCXBjaS0+ZnVuYyA9IGZ1bmM7CiAJcGNpLT5wZGV2ID0gZGV2aWNl LT5mdW5jLT5wY2koZGV2aWNlKS0+cGRldjsKIAlwY2ktPmlycSA9IC0xOwotCXBjaS0+cGNpZS5z cGVlZCA9IC0xOwotCXBjaS0+cGNpZS53aWR0aCA9IC0xOworCXBjaS0+cGNpZS5jdXJfc3BlZWQg PSAtMTsKKwlwY2ktPnBjaWUuZGVmX3NwZWVkID0gLTE7CisJcGNpLT5wY2llLmN1cl93aWR0aCA9 IC0xOwogCiAJaWYgKGRldmljZS0+dHlwZSA9PSBOVktNX0RFVklDRV9BR1ApCiAJCW52a21fYWdw X2N0b3IocGNpKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3Vi ZGV2L3BjaS9wY2llLmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9wY2kv cGNpZS5jCmluZGV4IDAzYmUyNDkzMGMwZS4uZDZiN2FkNmE4ZDBkIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9wY2kvcGNpZS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3BjaS9wY2llLmMKQEAgLTIzLDYgKzIzLDggQEAK ICAqLwogI2luY2x1ZGUgInByaXYuaCIKIAorI2luY2x1ZGUgPGNvcmUvb3B0aW9uLmg+CisKIHN0 YXRpYyBjaGFyICpudmttX3BjaWVfc3BlZWRzW10gPSB7CiAJIjIuNUdUL3MiLAogCSI1LjBHVC9z IiwKQEAgLTg1LDYgKzg3LDEzIEBAIG52a21fcGNpZV9vbmVpbml0KHN0cnVjdCBudmttX3BjaSAq cGNpKQogCXJldHVybiAwOwogfQogCitpbnQKK252a21fcGNpZV9wcmVpbml0KHN0cnVjdCBudmtt X3BjaSAqcGNpKQoreworCXBjaS0+cGNpZS5kZWZfc3BlZWQgPSBudmttX3BjaWVfZ2V0X3NwZWVk KHBjaSk7CisJcmV0dXJuIDA7Cit9CisKIGludAogbnZrbV9wY2llX2luaXQoc3RydWN0IG52a21f cGNpICpwY2kpCiB7CkBAIC0xMDUsMTQgKzExNCwzMSBAQCBudmttX3BjaWVfaW5pdChzdHJ1Y3Qg bnZrbV9wY2kgKnBjaSkKIAlpZiAocGNpLT5mdW5jLT5wY2llLmluaXQpCiAJCXBjaS0+ZnVuYy0+ cGNpZS5pbml0KHBjaSk7CiAKLQlpZiAocGNpLT5wY2llLnNwZWVkICE9IC0xKQotCQludmttX3Bj aWVfc2V0X2xpbmsocGNpLCBwY2ktPnBjaWUuc3BlZWQsIHBjaS0+cGNpZS53aWR0aCk7CisJaWYg KHBjaS0+cGNpZS5jdXJfc3BlZWQgIT0gLTEpCisJCW52a21fcGNpZV9zZXRfbGluayhwY2ksIHBj aS0+cGNpZS5jdXJfc3BlZWQsCisJCQkJICAgcGNpLT5wY2llLmN1cl93aWR0aCwgZmFsc2UpOwor CisJcmV0dXJuIDA7Cit9CisKK2ludAorbnZrbV9wY2llX2Zpbmkoc3RydWN0IG52a21fcGNpICpw Y2kpCit7CisJc3RydWN0IG52a21fZGV2aWNlICpkZXZpY2UgPSBwY2ktPnN1YmRldi5kZXZpY2U7 CisJaWYgKCFkZXZpY2UtPmhhc19ydW5wbSkKKwkJcmV0dXJuIDA7CisKKwlpZiAoIW52a21fYm9v bG9wdChkZXZpY2UtPmNmZ29wdCwgIk52UnVucG1Xb3JrYXJvdW5kIiwgdHJ1ZSkpCisJCXJldHVy biAwOwogCisJaWYgKCFJU19FUlJfVkFMVUUocGNpLT5wY2llLmRlZl9zcGVlZCkpCisJCXJldHVy biBudmttX3BjaWVfc2V0X2xpbmsocGNpLCBwY2ktPnBjaWUuZGVmX3NwZWVkLCAxNiwgZmFsc2Up OwogCXJldHVybiAwOwogfQogCiBpbnQKLW52a21fcGNpZV9zZXRfbGluayhzdHJ1Y3QgbnZrbV9w Y2kgKnBjaSwgZW51bSBudmttX3BjaWVfc3BlZWQgc3BlZWQsIHU4IHdpZHRoKQorbnZrbV9wY2ll X3NldF9saW5rKHN0cnVjdCBudmttX3BjaSAqcGNpLCBlbnVtIG52a21fcGNpZV9zcGVlZCBzcGVl ZCwgdTggd2lkdGgsCisgICAgICAgICAgICAgICAgICAgYm9vbCBzYXZlKQogewogCXN0cnVjdCBu dmttX3N1YmRldiAqc3ViZGV2ID0gJnBjaS0+c3ViZGV2OwogCWVudW0gbnZrbV9wY2llX3NwZWVk IGN1cl9zcGVlZCwgbWF4X3NwZWVkOwpAQCAtMTQ2LDggKzE3MiwxMCBAQCBudmttX3BjaWVfc2V0 X2xpbmsoc3RydWN0IG52a21fcGNpICpwY2ksIGVudW0gbnZrbV9wY2llX3NwZWVkIHNwZWVkLCB1 OCB3aWR0aCkKIAkJc3BlZWQgPSBtYXhfc3BlZWQ7CiAJfQogCi0JcGNpLT5wY2llLnNwZWVkID0g c3BlZWQ7Ci0JcGNpLT5wY2llLndpZHRoID0gd2lkdGg7CisJaWYgKHNhdmUpIHsKKwkJcGNpLT5w Y2llLmN1cl9zcGVlZCA9IHNwZWVkOworCQlwY2ktPnBjaWUuY3VyX3dpZHRoID0gd2lkdGg7CisJ fQogCiAJaWYgKHNwZWVkID09IGN1cl9zcGVlZCkgewogCQludmttX2RlYnVnKHN1YmRldiwgInJl cXVlc3RlZCBtYXRjaGVzIGN1cnJlbnQgc3BlZWRcbiIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvcGNpL3ByaXYuaCBiL2RyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L252a20vc3ViZGV2L3BjaS9wcml2LmgKaW5kZXggMTYyZWQ1ZGM2ZmMzLi44NWJlMDU5 NGYxMWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3Bj aS9wcml2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvcGNpL3By aXYuaApAQCAtNjAsNSArNjAsNyBAQCBlbnVtIG52a21fcGNpZV9zcGVlZCBnazEwNF9wY2llX21h eF9zcGVlZChzdHJ1Y3QgbnZrbV9wY2kgKik7CiBpbnQgZ2sxMDRfcGNpZV92ZXJzaW9uX3N1cHBv cnRlZChzdHJ1Y3QgbnZrbV9wY2kgKik7CiAKIGludCBudmttX3BjaWVfb25laW5pdChzdHJ1Y3Qg bnZrbV9wY2kgKik7CitpbnQgbnZrbV9wY2llX3ByZWluaXQoc3RydWN0IG52a21fcGNpICopOwog aW50IG52a21fcGNpZV9pbml0KHN0cnVjdCBudmttX3BjaSAqKTsKK2ludCBudmttX3BjaWVfZmlu aShzdHJ1Y3QgbnZrbV9wY2kgKik7CiAjZW5kaWYKLS0gCjIuMjEuMAoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs