From mboxrd@z Thu Jan 1 00:00:00 1970 From: Karol Herbst Subject: [PATCH 7/9] clk: Only do partial reclocks as required Date: Sun, 5 Mar 2017 17:35:05 +0100 Message-ID: <20170305163507.2002-8-karolherbst@gmail.com> References: <20170305163507.2002-1-karolherbst@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170305163507.2002-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 V2UgZG9uJ3Qgd2FudCB0byByZWNsb2NrIHRvIHRoZSBzYW1lIHBzdGF0ZSBvciBjc3RhdGUgb3Zl ciBhbmQgb3ZlciBhZ2FpbiwKc28gb25seSBkbyB0aGluZ3Mgd2UgYWN0dWFsbHkgaGF2ZSB0byBk by4KClRoaXMgd2lsbCBiZWNvbWUgdXNlZnVsbCBsYXRlciBpZiB3ZSBoYXZlIGEgdGVtcGVyYXR1 cmUgZGFlbW9uIG5vdGlmeWluZwp0aGUgY2xrIHN1YmRldiBhYm91dCBhIHRlbXBlcmF0dXJlIGNo YW5nZSwgYmVjYXVzZSB0aGlzIG1heSBvbmx5IGNoYW5nZQp0aGUgdm9sdGFnZSBvciB0aGUgY3N0 YXRlLiBBbmQgYWxzbyBmb3IgZHluYW1pYyByZWNsb2NraW5nLgoKU2lnbmVkLW9mZi1ieTogS2Fy b2wgSGVyYnN0IDxrYXJvbGhlcmJzdEBnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBNYXJ0aW4gUGVy ZXMgPG1hcnRpbi5wZXJlc0BmcmVlLmZyPgotLS0KIGRybS9ub3V2ZWF1L252a20vc3ViZGV2L2Ns ay9iYXNlLmMgIHwgMTEgKysrKystLQogZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvY2xrL2dmMTAw LmMgfCA2NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiBkcm0vbm91dmVh dS9udmttL3N1YmRldi9jbGsvZ2sxMDQuYyB8ICAyICstCiBkcm0vbm91dmVhdS9udmttL3N1YmRl di9jbGsvcHJpdi5oICB8ICA4ICsrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDgwIGluc2VydGlvbnMo KyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYv Y2xrL2Jhc2UuYyBiL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L2Nsay9iYXNlLmMKaW5kZXggYjgx YjAyNTguLjU0YTRiN2ZhIDEwMDY0NAotLS0gYS9kcm0vbm91dmVhdS9udmttL3N1YmRldi9jbGsv YmFzZS5jCisrKyBiL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L2Nsay9iYXNlLmMKQEAgLTEwNyw3 ICsxMDcsNyBAQCBudmttX2NzdGF0ZV92YWxpZChzdHJ1Y3QgbnZrbV9jbGsgKmNsaywgc3RydWN0 IG52a21fY3N0YXRlICpjc3RhdGUsCiAJcmV0dXJuIHZvbHRhZ2UgPD0gbWluKG1heF92b2x0LCB2 b2x0LT5tYXhfdXYpOwogfQogCi1zdGF0aWMgc3RydWN0IG52a21fY3N0YXRlICoKK3N0cnVjdCBu dmttX2NzdGF0ZSAqCiBudmttX2NzdGF0ZV9maW5kX2Jlc3Qoc3RydWN0IG52a21fY2xrICpjbGss IHN0cnVjdCBudmttX3BzdGF0ZSAqcHN0YXRlLAogCQkgICAgICBzdHJ1Y3QgbnZrbV9jc3RhdGUg KnN0YXJ0KQogewpAQCAtMTQyLDcgKzE0Miw3IEBAIG52a21fY3N0YXRlX2ZpbmRfYmVzdChzdHJ1 Y3QgbnZrbV9jbGsgKmNsaywgc3RydWN0IG52a21fcHN0YXRlICpwc3RhdGUsCiAJcmV0dXJuIGNz dGF0ZTsKIH0KIAotc3RhdGljIHN0cnVjdCBudmttX2NzdGF0ZSAqCitzdHJ1Y3QgbnZrbV9jc3Rh dGUgKgogbnZrbV9jc3RhdGVfZ2V0KHN0cnVjdCBudmttX2NsayAqY2xrLCBzdHJ1Y3QgbnZrbV9w c3RhdGUgKnBzdGF0ZSwgaW50IGNzdGF0ZWkpCiB7CiAJc3RydWN0IG52a21fY3N0YXRlICpjc3Rh dGU7CkBAIC0xNjIsNyArMTYyLDcgQEAgbnZrbV9jc3RhdGVfZ2V0KHN0cnVjdCBudmttX2NsayAq Y2xrLCBzdHJ1Y3QgbnZrbV9wc3RhdGUgKnBzdGF0ZSwgaW50IGNzdGF0ZWkpCiAJcmV0dXJuIE5V TEw7CiB9CiAKLXN0YXRpYyBpbnQKK2ludAogbnZrbV9jc3RhdGVfcHJvZyhzdHJ1Y3QgbnZrbV9j bGsgKmNsaywgc3RydWN0IG52a21fcHN0YXRlICpwc3RhdGUsIGludCBjc3RhdGVpKQogewogCXN0 cnVjdCBudmttX3N1YmRldiAqc3ViZGV2ID0gJmNsay0+c3ViZGV2OwpAQCAtMTgyLDYgKzE4Miwx MSBAQCBudmttX2NzdGF0ZV9wcm9nKHN0cnVjdCBudmttX2NsayAqY2xrLCBzdHJ1Y3QgbnZrbV9w c3RhdGUgKnBzdGF0ZSwgaW50IGNzdGF0ZWkpCiAJCWNzdGF0ZSA9ICZwc3RhdGUtPmJhc2U7CiAJ fQogCisJaWYgKCFjc3RhdGUpIHsKKwkJbnZrbV9lcnJvcihzdWJkZXYsICJmYWlsZWQgdG8gc2V0 IGNzdGF0ZSAlZFxuIiwgY3N0YXRlaSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwogCWlmICh0 aGVybSkgewogCQlyZXQgPSBudmttX3RoZXJtX2NzdGF0ZSh0aGVybSwgcHN0YXRlLT5mYW5zcGVl ZCwgKzEpOwogCQlpZiAocmV0ICYmIHJldCAhPSAtRU5PREVWKSB7CmRpZmYgLS1naXQgYS9kcm0v bm91dmVhdS9udmttL3N1YmRldi9jbGsvZ2YxMDAuYyBiL2RybS9ub3V2ZWF1L252a20vc3ViZGV2 L2Nsay9nZjEwMC5jCmluZGV4IDhhNDZiZjgwLi4zNDQ0ZWY4NCAxMDA2NDQKLS0tIGEvZHJtL25v dXZlYXUvbnZrbS9zdWJkZXYvY2xrL2dmMTAwLmMKKysrIGIvZHJtL25vdXZlYXUvbnZrbS9zdWJk ZXYvY2xrL2dmMTAwLmMKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlIDxzdWJkZXYvYmlvcy5o PgogI2luY2x1ZGUgPHN1YmRldi9iaW9zL3BsbC5oPgogI2luY2x1ZGUgPHN1YmRldi90aW1lci5o PgorI2luY2x1ZGUgPHN1YmRldi92b2x0Lmg+CiAKIHN0cnVjdCBnZjEwMF9jbGtfaW5mbyB7CiAJ dTMyIGZyZXE7CkBAIC00NDUsMTMgKzQ0Niw3NCBAQCBnZjEwMF9jbGtfdGlkeShzdHJ1Y3QgbnZr bV9jbGsgKmJhc2UpCiAJbWVtc2V0KGNsay0+ZW5nLCAweDAwLCBzaXplb2YoY2xrLT5lbmcpKTsK IH0KIAorc3RhdGljIGludAorZ2YxMDBfY2xrX3VwZGF0ZV92b2x0KHN0cnVjdCBudmttX2NsayAq Y2xrKQoreworCXN0cnVjdCBudmttX3N1YmRldiAqc3ViZGV2ID0gJmNsay0+c3ViZGV2OworCXN0 cnVjdCBudmttX3ZvbHQgKnZvbHQgPSBzdWJkZXYtPmRldmljZS0+dm9sdDsKKwlzdHJ1Y3QgbnZr bV90aGVybSAqdGhlcm0gPSBzdWJkZXYtPmRldmljZS0+dGhlcm07CisKKwlpZiAoIXZvbHQgfHwg IXRoZXJtIHx8ICFjbGstPnBzdGF0ZSB8fCAhY2xrLT5jc3RhdGUpCisJCXJldHVybiAtRUlOVkFM OworCisJcmV0dXJuIG52a21fdm9sdF9zZXRfaWQodm9sdCwgY2xrLT5jc3RhdGUtPnZvbHRhZ2Us CisJCQkJY2xrLT5wc3RhdGUtPmJhc2Uudm9sdGFnZSwgY2xrLT50ZW1wLCAwKTsKK30KKwordm9p ZAorZ2YxMDBfY2xrX3VwZGF0ZShzdHJ1Y3QgbnZrbV9jbGsgKmNsaywgaW50IHBzdGF0ZSkKK3sK KwlzdHJ1Y3QgbnZrbV9zdWJkZXYgKnN1YmRldiA9ICZjbGstPnN1YmRldjsKKwlpbnQgcmV0Owor CisJaWYgKCFjbGstPnBzdGF0ZSB8fCBjbGstPnBzdGF0ZS0+cHN0YXRlICE9IHBzdGF0ZSkgewor CQludmttX3RyYWNlKHN1YmRldiwgIi0+IFAgJWRcbiIsIHBzdGF0ZSk7CisJCXJldCA9IG52a21f cHN0YXRlX3Byb2coY2xrLCBwc3RhdGUpOworCQlpZiAocmV0KSB7CisJCQludmttX2Vycm9yKHN1 YmRldiwgImVycm9yIHNldHRpbmcgcHN0YXRlICVkOiAlZFxuIiwKKwkJCQkgICBwc3RhdGUsIHJl dCk7CisJCX0KKwl9IGVsc2UgaWYgKCFjbGstPmNzdGF0ZSB8fCBjbGstPmNzdGF0ZS0+aWQgIT0g Y2xrLT5leHBfY3N0YXRlaWQpIHsKKworCQlzdHJ1Y3QgbnZrbV9jc3RhdGUgKmNzdGF0ZSA9CisJ CQludmttX2NzdGF0ZV9nZXQoY2xrLCBjbGstPnBzdGF0ZSwgY2xrLT5leHBfY3N0YXRlaWQpOwor CisJCWlmICghY3N0YXRlKSB7CisJCQludmttX2Vycm9yKHN1YmRldiwgImNhbid0IGZpbmQgY3N0 YXRlICVpXG4iLAorCQkJCSAgIGNsay0+ZXhwX2NzdGF0ZWlkKTsKKwkJCXJldHVybjsKKwkJfQor CisJCWNzdGF0ZSA9IG52a21fY3N0YXRlX2ZpbmRfYmVzdChjbGssIGNsay0+cHN0YXRlLCBjc3Rh dGUpOworCQlpZiAoIWNzdGF0ZSkgeworCQkJbnZrbV9lcnJvcihzdWJkZXYsICJjYW4ndCBmaW5k IGJlc3QgY3N0YXRlIGZvciAlaVxuIiwKKwkJCQkgICBjc3RhdGUtPmlkKTsKKwkJCXJldHVybjsK KwkJfQorCisJCWlmIChjc3RhdGUgIT0gY2xrLT5jc3RhdGUpIHsKKwkJCW52a21fdHJhY2Uoc3Vi ZGV2LCAiLT4gQyAlZFxuIiwgY3N0YXRlLT5pZCk7CisJCQlyZXQgPSBudmttX2NzdGF0ZV9wcm9n KGNsaywgY2xrLT5wc3RhdGUsIGNzdGF0ZS0+aWQpOworCQkJaWYgKHJldCkgeworCQkJCW52a21f ZXJyb3Ioc3ViZGV2LAorCQkJCQkgICAiZXJyb3Igc2V0dGluZyBjc3RhdGUgJWQ6ICVkXG4iLAor CQkJCQkgICBjc3RhdGUtPmlkLCByZXQpOworCQkJfQorCQl9IGVsc2UgeworCQkJZ2YxMDBfY2xr X3VwZGF0ZV92b2x0KGNsayk7CisJCX0KKwl9IGVsc2UgeworCQlnZjEwMF9jbGtfdXBkYXRlX3Zv bHQoY2xrKTsKKwl9Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbnZrbV9jbGtfZnVuYwogZ2Yx MDBfY2xrID0gewogCS5yZWFkID0gZ2YxMDBfY2xrX3JlYWQsCiAJLmNhbGMgPSBnZjEwMF9jbGtf Y2FsYywKIAkucHJvZyA9IGdmMTAwX2Nsa19wcm9nLAogCS50aWR5ID0gZ2YxMDBfY2xrX3RpZHks Ci0JLnVwZGF0ZSA9IG52NDBfY2xrX3VwZGF0ZSwKKwkudXBkYXRlID0gZ2YxMDBfY2xrX3VwZGF0 ZSwKIAkuZG9tYWlucyA9IHsKIAkJeyBudl9jbGtfc3JjX2NyeXN0YWwsIDB4ZmYgfSwKIAkJeyBu dl9jbGtfc3JjX2hyZWYgICAsIDB4ZmYgfSwKZGlmZiAtLWdpdCBhL2RybS9ub3V2ZWF1L252a20v c3ViZGV2L2Nsay9nazEwNC5jIGIvZHJtL25vdXZlYXUvbnZrbS9zdWJkZXYvY2xrL2drMTA0LmMK aW5kZXggY2FlNThiNmEuLjY5MWYzZmI0IDEwMDY0NAotLS0gYS9kcm0vbm91dmVhdS9udmttL3N1 YmRldi9jbGsvZ2sxMDQuYworKysgYi9kcm0vbm91dmVhdS9udmttL3N1YmRldi9jbGsvZ2sxMDQu YwpAQCAtNDg4LDcgKzQ4OCw3IEBAIGdrMTA0X2NsayA9IHsKIAkuY2FsYyA9IGdrMTA0X2Nsa19j YWxjLAogCS5wcm9nID0gZ2sxMDRfY2xrX3Byb2csCiAJLnRpZHkgPSBnazEwNF9jbGtfdGlkeSwK LQkudXBkYXRlID0gbnY0MF9jbGtfdXBkYXRlLAorCS51cGRhdGUgPSBnZjEwMF9jbGtfdXBkYXRl LAogCS5kb21haW5zID0gewogCQl7IG52X2Nsa19zcmNfY3J5c3RhbCwgMHhmZiB9LAogCQl7IG52 X2Nsa19zcmNfaHJlZiAgICwgMHhmZiB9LApkaWZmIC0tZ2l0IGEvZHJtL25vdXZlYXUvbnZrbS9z dWJkZXYvY2xrL3ByaXYuaCBiL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L2Nsay9wcml2LmgKaW5k ZXggOTU4ZjVlMzUuLmY0YjU5NTBkIDEwMDY0NAotLS0gYS9kcm0vbm91dmVhdS9udmttL3N1YmRl di9jbGsvcHJpdi5oCisrKyBiL2RybS9ub3V2ZWF1L252a20vc3ViZGV2L2Nsay9wcml2LmgKQEAg LTIyLDEwICsyMiwxOCBAQCBpbnQgbnZrbV9jbGtfbmV3Xyhjb25zdCBzdHJ1Y3QgbnZrbV9jbGtf ZnVuYyAqLCBzdHJ1Y3QgbnZrbV9kZXZpY2UgKiwgaW50LAogCQkgIGJvb2wgYWxsb3dfcmVjbG9j aywgc3RydWN0IG52a21fY2xrICoqKTsKIAogaW50IG52a21fcHN0YXRlX3Byb2coc3RydWN0IG52 a21fY2xrICosIGludCBwc3RhdGVpZCk7CitpbnQgbnZrbV9jc3RhdGVfcHJvZyhzdHJ1Y3QgbnZr bV9jbGsgKiwgc3RydWN0IG52a21fcHN0YXRlICosIGludCBjc3RhdGVpKTsKKworc3RydWN0IG52 a21fY3N0YXRlICpudmttX2NzdGF0ZV9nZXQoc3RydWN0IG52a21fY2xrICosIHN0cnVjdCBudmtt X3BzdGF0ZSAqLAorCQkJCSAgICBpbnQgY3N0YXRlaSk7CitzdHJ1Y3QgbnZrbV9jc3RhdGUgKm52 a21fY3N0YXRlX2ZpbmRfYmVzdChzdHJ1Y3QgbnZrbV9jbGsgKiwKKwkJCQkJICBzdHJ1Y3QgbnZr bV9wc3RhdGUgKiwKKwkJCQkJICBzdHJ1Y3QgbnZrbV9jc3RhdGUgKnN0YXJ0KTsKIAogaW50IG52 MDRfY2xrX3BsbF9jYWxjKHN0cnVjdCBudmttX2NsayAqLCBzdHJ1Y3QgbnZiaW9zX3BsbCAqLCBp bnQgY2xrLAogCQkgICAgICBzdHJ1Y3QgbnZrbV9wbGxfdmFscyAqKTsKIGludCBudjA0X2Nsa19w bGxfcHJvZyhzdHJ1Y3QgbnZrbV9jbGsgKiwgdTMyIHJlZzEsIHN0cnVjdCBudmttX3BsbF92YWxz ICopOwogCiB2b2lkIG52NDBfY2xrX3VwZGF0ZShzdHJ1Y3QgbnZrbV9jbGsgKiwgaW50IHBzdGF0 ZSk7Cit2b2lkIGdmMTAwX2Nsa191cGRhdGUoc3RydWN0IG52a21fY2xrICosIGludCBwc3RhdGUp OwogI2VuZGlmCi0tIAoyLjEyLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCk5vdXZlYXUgbWFpbGluZyBsaXN0Ck5vdXZlYXVAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vbm91 dmVhdQo=