From: Karol Herbst Subject: [RFC PATCH 06/29] clk: Make pstate a pointer to nvkm_pstate Date: Fri, 15 Sep 2017 19:11:06 +0200 Message-ID: <20170915171129.5009-7-karolherbst@gmail.com> References: <20170915171129.5009-1-karolherbst@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170915171129.5009-1-karolherbst-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org V2Ugd2lsbCBhY2Nlc3MgdGhlIGN1cnJlbnQgY3N0YXRlIGF0IGxlYXN0IGV2ZXJ5IHNlY29uZCBh bmQgdGhpcyBzYXZlcyB1cwpzb21lIENQVSBjeWNsZXMgbG9va2luZyB0aGVtIHVwIGV2ZXJ5IHNl Y29uZC4KCnYyOiBSZXdvcmRpbmcgY29tbWl0IG1lc3NhZ2UuCgpTaWduZWQtb2ZmLWJ5OiBLYXJv bCBIZXJic3QgPGthcm9saGVyYnN0QGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IE1hcnRpbiBQZXJl cyA8bWFydGluLnBlcmVzQGZyZWUuZnI+Ci0tLQogZHJtL25vdXZlYXUvaW5jbHVkZS9udmttL3N1 YmRldi9jbGsuaCB8ICA0ICsrKy0KIGRybS9ub3V2ZWF1L252a20vZW5naW5lL2RldmljZS9jdHJs LmMgfCAgNSArKysrLQogZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvY2xrL2Jhc2UuYyAgICB8IDE3 ICsrKysrKysrKysrKy0tLS0tCiBkcm0vbm91dmVhdS9udmttL3N1YmRldi9wbXUvZ2syMGEuYyAg IHwgMTggKysrKysrKy0tLS0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMo KyksIDE4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RybS9ub3V2ZWF1L2luY2x1ZGUvbnZr bS9zdWJkZXYvY2xrLmggYi9kcm0vbm91dmVhdS9pbmNsdWRlL252a20vc3ViZGV2L2Nsay5oCmlu ZGV4IDEzNDBmNWI4Li5lYzUzN2UwOCAxMDA2NDQKLS0tIGEvZHJtL25vdXZlYXUvaW5jbHVkZS9u dmttL3N1YmRldi9jbGsuaAorKysgYi9kcm0vbm91dmVhdS9pbmNsdWRlL252a20vc3ViZGV2L2Ns ay5oCkBAIC0xMCw2ICsxMCw4IEBAIHN0cnVjdCBudmttX3BsbF92YWxzOwogI2RlZmluZSBOVktN X0NMS19DU1RBVEVfQkFTRSAgICAtMiAvKiBwc3RhdGUgYmFzZSAqLwogI2RlZmluZSBOVktNX0NM S19DU1RBVEVfSElHSEVTVCAtMyAvKiBoaWdoZXN0IHBvc3NpYmxlICovCiAKKyNkZWZpbmUgTlZL TV9DTEtfUFNUQVRFX0RFRkFVTFQgLTEKKwogZW51bSBudl9jbGtfc3JjIHsKIAludl9jbGtfc3Jj X2NyeXN0YWwsCiAJbnZfY2xrX3NyY19ocmVmLApAQCAtOTUsNyArOTcsNyBAQCBzdHJ1Y3QgbnZr bV9jbGsgewogCiAJc3RydWN0IG52a21fbm90aWZ5IHB3cnNyY19udGZ5OwogCWludCBwd3JzcmM7 Ci0JaW50IHBzdGF0ZTsgLyogY3VycmVudCAqLworCXN0cnVjdCBudmttX3BzdGF0ZSAqcHN0YXRl OyAvKiBjdXJyZW50ICovCiAJaW50IHVzdGF0ZV9hYzsgLyogdXNlci1yZXF1ZXN0ZWQgKC0xIGRp c2FibGVkLCAtMiBwZXJmbW9uKSAqLwogCWludCB1c3RhdGVfZGM7IC8qIHVzZXItcmVxdWVzdGVk ICgtMSBkaXNhYmxlZCwgLTIgcGVyZm1vbikgKi8KIAlpbnQgYXN0YXRlOyAvKiBwZXJmbW9uIGFk anVzdG1lbnQgKGJhc2UpICovCmRpZmYgLS1naXQgYS9kcm0vbm91dmVhdS9udmttL2VuZ2luZS9k ZXZpY2UvY3RybC5jIGIvZHJtL25vdXZlYXUvbnZrbS9lbmdpbmUvZGV2aWNlL2N0cmwuYwppbmRl eCBiMGVjZTcxYS4uZGE3MDYyNmMgMTAwNjQ0Ci0tLSBhL2RybS9ub3V2ZWF1L252a20vZW5naW5l L2RldmljZS9jdHJsLmMKKysrIGIvZHJtL25vdXZlYXUvbnZrbS9lbmdpbmUvZGV2aWNlL2N0cmwu YwpAQCAtNTIsNyArNTIsMTAgQEAgbnZrbV9jb250cm9sX210aGRfcHN0YXRlX2luZm8oc3RydWN0 IG52a21fY29udHJvbCAqY3RybCwgdm9pZCAqZGF0YSwgdTMyIHNpemUpCiAJCWFyZ3MtPnYwLnVz dGF0ZV9hYyA9IGNsay0+dXN0YXRlX2FjOwogCQlhcmdzLT52MC51c3RhdGVfZGMgPSBjbGstPnVz dGF0ZV9kYzsKIAkJYXJncy0+djAucHdyc3JjID0gY2xrLT5wd3JzcmM7Ci0JCWFyZ3MtPnYwLnBz dGF0ZSA9IGNsay0+cHN0YXRlOworCQlpZiAoY2xrLT5wc3RhdGUpCisJCQlhcmdzLT52MC5wc3Rh dGUgPSBjbGstPnBzdGF0ZS0+cHN0YXRlOworCQllbHNlCisJCQlhcmdzLT52MC5wc3RhdGUgPSBO VktNX0NMS19QU1RBVEVfREVGQVVMVDsKIAl9IGVsc2UgewogCQlhcmdzLT52MC5jb3VudCA9IDA7 CiAJCWFyZ3MtPnYwLnVzdGF0ZV9hYyA9IE5WSUZfQ09OVFJPTF9QU1RBVEVfSU5GT19WMF9VU1RB VEVfRElTQUJMRTsKZGlmZiAtLWdpdCBhL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L2Nsay9iYXNl LmMgYi9kcm0vbm91dmVhdS9udmttL3N1YmRldi9jbGsvYmFzZS5jCmluZGV4IDA3ZDUzMGVkLi4w ZDRkOWZkZiAxMDA2NDQKLS0tIGEvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvY2xrL2Jhc2UuYwor KysgYi9kcm0vbm91dmVhdS9udmttL3N1YmRldi9jbGsvYmFzZS5jCkBAIC0yNzEsMTMgKzI3MSwx NiBAQCBudmttX3BzdGF0ZV9wcm9nKHN0cnVjdCBudmttX2NsayAqY2xrLCBpbnQgcHN0YXRlaSkK IAlzdHJ1Y3QgbnZrbV9wc3RhdGUgKnBzdGF0ZTsKIAlpbnQgcmV0LCBpZHggPSAwOwogCisJaWYg KHBzdGF0ZWkgPT0gTlZLTV9DTEtfUFNUQVRFX0RFRkFVTFQpCisJCXJldHVybiAwOworCiAJbGlz dF9mb3JfZWFjaF9lbnRyeShwc3RhdGUsICZjbGstPnN0YXRlcywgaGVhZCkgewogCQlpZiAoaWR4 KysgPT0gcHN0YXRlaSkKIAkJCWJyZWFrOwogCX0KIAogCW52a21fZGVidWcoc3ViZGV2LCAic2V0 dGluZyBwZXJmb3JtYW5jZSBzdGF0ZSAlZFxuIiwgcHN0YXRlaSk7Ci0JY2xrLT5wc3RhdGUgPSBw c3RhdGVpOworCWNsay0+cHN0YXRlID0gcHN0YXRlOwogCiAJbnZrbV9wY2llX3NldF9saW5rKHBj aSwgcHN0YXRlLT5wY2llX3NwZWVkLCBwc3RhdGUtPnBjaWVfd2lkdGgpOwogCkBAIC0zMDYsOCAr MzA5LDEyIEBAIG52a21fY2xrX3VwZGF0ZV93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykK IAkJcmV0dXJuOwogCWNsay0+cHdyc3JjID0gcG93ZXJfc3VwcGx5X2lzX3N5c3RlbV9zdXBwbGll ZCgpOwogCisJaWYgKGNsay0+cHN0YXRlKQorCQlwc3RhdGUgPSBjbGstPnBzdGF0ZS0+cHN0YXRl OworCWVsc2UKKwkJcHN0YXRlID0gTlZLTV9DTEtfUFNUQVRFX0RFRkFVTFQ7CiAJbnZrbV90cmFj ZShzdWJkZXYsICJQICVkIFBXUiAlZCBVKEFDKSAlZCBVKERDKSAlZCBBICVkIFQgJWTCsENcbiIs Ci0JCSAgIGNsay0+cHN0YXRlLCBjbGstPnB3cnNyYywgY2xrLT51c3RhdGVfYWMsIGNsay0+dXN0 YXRlX2RjLAorCQkgICBwc3RhdGUsIGNsay0+cHdyc3JjLCBjbGstPnVzdGF0ZV9hYywgY2xrLT51 c3RhdGVfZGMsCiAJCSAgIGNsay0+YXN0YXRlLCBjbGstPnRlbXApOwogCiAJcHN0YXRlID0gY2xr LT5wd3JzcmMgPyBjbGstPnVzdGF0ZV9hYyA6IGNsay0+dXN0YXRlX2RjOwpAQCAtMzE1LDExICsz MjIsMTEgQEAgbnZrbV9jbGtfdXBkYXRlX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQog CQlwc3RhdGUgPSAocHN0YXRlIDwgMCkgPyBjbGstPmFzdGF0ZSA6IHBzdGF0ZTsKIAkJcHN0YXRl ID0gbWluKHBzdGF0ZSwgY2xrLT5zdGF0ZV9uciAtIDEpOwogCX0gZWxzZSB7Ci0JCXBzdGF0ZSA9 IGNsay0+cHN0YXRlID0gLTE7CisJCXBzdGF0ZSA9IE5WS01fQ0xLX1BTVEFURV9ERUZBVUxUOwog CX0KIAogCW52a21fdHJhY2Uoc3ViZGV2LCAiLT4gJWRcbiIsIHBzdGF0ZSk7Ci0JaWYgKHBzdGF0 ZSAhPSBjbGstPnBzdGF0ZSkgeworCWlmICghY2xrLT5wc3RhdGUgfHwgcHN0YXRlICE9IGNsay0+ cHN0YXRlLT5wc3RhdGUpIHsKIAkJaW50IHJldCA9IG52a21fcHN0YXRlX3Byb2coY2xrLCBwc3Rh dGUpOwogCQlpZiAocmV0KSB7CiAJCQludmttX2Vycm9yKHN1YmRldiwgImVycm9yIHNldHRpbmcg cHN0YXRlICVkOiAlZFxuIiwKQEAgLTYxMCw3ICs2MTcsNyBAQCBudmttX2Nsa19pbml0KHN0cnVj dCBudmttX3N1YmRldiAqc3ViZGV2KQogCQlyZXR1cm4gY2xrLT5mdW5jLT5pbml0KGNsayk7CiAK IAljbGstPmFzdGF0ZSA9IGNsay0+c3RhdGVfbnIgLSAxOwotCWNsay0+cHN0YXRlID0gLTE7CisJ Y2xrLT5wc3RhdGUgPSBOVUxMOwogCWNsay0+dGVtcCA9IDkwOyAvKiByZWFzb25hYmxlIGRlZmF1 bHQgdmFsdWUgKi8KIAludmttX2Nsa191cGRhdGUoY2xrLCB0cnVlKTsKIAlyZXR1cm4gMDsKZGlm ZiAtLWdpdCBhL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L3BtdS9nazIwYS5jIGIvZHJtL25vdXZl YXUvbnZrbS9zdWJkZXYvcG11L2drMjBhLmMKaW5kZXggMDVlODE4NTUuLmRlNTc5NzI2IDEwMDY0 NAotLS0gYS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9wbXUvZ2syMGEuYworKysgYi9kcm0vbm91 dmVhdS9udmttL3N1YmRldi9wbXUvZ2syMGEuYwpAQCAtNTUsMjQgKzU1LDIyIEBAIGdrMjBhX3Bt dV9kdmZzX3RhcmdldChzdHJ1Y3QgZ2syMGFfcG11ICpwbXUsIGludCAqc3RhdGUpCiAJcmV0dXJu IG52a21fY2xrX2FzdGF0ZShjbGssICpzdGF0ZSwgMCwgZmFsc2UpOwogfQogCi1zdGF0aWMgdm9p ZAotZ2syMGFfcG11X2R2ZnNfZ2V0X2N1cl9zdGF0ZShzdHJ1Y3QgZ2syMGFfcG11ICpwbXUsIGlu dCAqc3RhdGUpCi17Ci0Jc3RydWN0IG52a21fY2xrICpjbGsgPSBwbXUtPmJhc2Uuc3ViZGV2LmRl dmljZS0+Y2xrOwotCi0JKnN0YXRlID0gY2xrLT5wc3RhdGU7Ci19Ci0KIHN0YXRpYyBpbnQKIGdr MjBhX3BtdV9kdmZzX2dldF90YXJnZXRfc3RhdGUoc3RydWN0IGdrMjBhX3BtdSAqcG11LAogCQkJ CWludCAqc3RhdGUsIGludCBsb2FkKQogewogCXN0cnVjdCBnazIwYV9wbXVfZHZmc19kYXRhICpk YXRhID0gcG11LT5kYXRhOwogCXN0cnVjdCBudmttX2NsayAqY2xrID0gcG11LT5iYXNlLnN1YmRl di5kZXZpY2UtPmNsazsKKwlzdHJ1Y3QgbnZrbV9wc3RhdGUgKnBzdGF0ZSA9IGNsay0+cHN0YXRl OwogCWludCBjdXJfbGV2ZWwsIGxldmVsOwogCisJaWYgKCFwc3RhdGUpIHsKKwkJKnN0YXRlID0g MDsKKwkJcmV0dXJuIDE7CisJfQorCiAJLyogRm9yIEdLMjBBLCB0aGUgcGVyZm9ybWFuY2UgbGV2 ZWwgaXMgZGlyZWN0bHkgbWFwcGVkIHRvIHBzdGF0ZSAqLwotCWxldmVsID0gY3VyX2xldmVsID0g Y2xrLT5wc3RhdGU7CisJbGV2ZWwgPSBjdXJfbGV2ZWwgPSBjbGstPnBzdGF0ZS0+cHN0YXRlOwog CiAJaWYgKGxvYWQgPiBkYXRhLT5wX2xvYWRfbWF4KSB7CiAJCWxldmVsID0gbWluKGNsay0+c3Rh dGVfbnIgLSAxLCBsZXZlbCArIChjbGstPnN0YXRlX25yIC8gMykpOwpAQCAtMTQyLDggKzE0MCw2 IEBAIGdrMjBhX3BtdV9kdmZzX3dvcmsoc3RydWN0IG52a21fYWxhcm0gKmFsYXJtKQogCW52a21f dHJhY2Uoc3ViZGV2LCAidXRpbGl6YXRpb24gPSAlZCAlJSwgYXZnX2xvYWQgPSAlZCAlJVxuIiwK IAkJICAgdXRpbGl6YXRpb24sIGRhdGEtPmF2Z19sb2FkKTsKIAotCWdrMjBhX3BtdV9kdmZzX2dl dF9jdXJfc3RhdGUocG11LCAmc3RhdGUpOwotCiAJaWYgKGdrMjBhX3BtdV9kdmZzX2dldF90YXJn ZXRfc3RhdGUocG11LCAmc3RhdGUsIGRhdGEtPmF2Z19sb2FkKSkgewogCQludmttX3RyYWNlKHN1 YmRldiwgInNldCBuZXcgc3RhdGUgdG8gJWRcbiIsIHN0YXRlKTsKIAkJZ2syMGFfcG11X2R2ZnNf dGFyZ2V0KHBtdSwgJnN0YXRlKTsKLS0gCjIuMTQuMQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KTm91dmVhdSBtYWlsaW5nIGxpc3QKTm91dmVhdUBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9ub3V2ZWF1Cg==