From mboxrd@z Thu Jan 1 00:00:00 1970 From: Huang Rui Subject: [PATCH 104/138] drm/amd/powerplay: implement interface to set watermarks for clock ranges Date: Fri, 25 Jan 2019 18:25:11 +0800 Message-ID: <1548411945-12396-105-git-send-email-ray.huang@amd.com> References: <1548411945-12396-1-git-send-email-ray.huang@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1548411945-12396-1-git-send-email-ray.huang-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Likun Gao , Kevin Wang , Huang Rui , Chengming Gui VGhpcyBwYXRjaCBpbXBsZW1lbnRzIGludGVmZXJmYWNlIHRvIHNldCB3YXRlcm1hcmtzIHRhYmxl IGZvciBjbG9jayByYW5nZXMgb24Kc211IDExLiBJdCBmaWxscyB3YXRlcm1hcmsgdGFibGUgYmVm b3JlIGl0IGlzIHdyaXR0ZW4gdG8gU01DLgoKU2lnbmVkLW9mZi1ieTogSHVhbmcgUnVpIDxyYXku aHVhbmdAYW1kLmNvbT4KUmV2aWV3ZWQtYnk6IEtldmluIFdhbmcgPEtldmluMS5XYW5nQGFtZC5j b20+Ci0tLQogLi4uL2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX3BwX3NtdS5j ICAgfCAxMSArLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZGdwdV9zbXUuYyAg ICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2FtZGdwdV9z bXUuaCAgICAgfCAgOSArKysKIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdV92MTFf MC5jICAgICAgICAgIHwgODAgKysrKysrKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2Vk LCA5NyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX3BwX3NtdS5jIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1fcHBfc211LmMKaW5kZXgg ZjY5Mjk5Zi4uNGU2YzQ0OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2FtZGdwdV9kbS9hbWRncHVfZG1fcHBfc211LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1fcHBfc211LmMKQEAgLTU0OCw5ICs1NDgsNiBAQCB2 b2lkIHBwX3J2X3NldF93bV9yYW5nZXMoc3RydWN0IHBwX3NtdSAqcHAsCiAJd21fd2l0aF9jbG9j a19yYW5nZXMubnVtX3dtX2RtaWZfc2V0cyA9IHJhbmdlcy0+bnVtX3JlYWRlcl93bV9zZXRzOwog CXdtX3dpdGhfY2xvY2tfcmFuZ2VzLm51bV93bV9tY2lmX3NldHMgPSByYW5nZXMtPm51bV93cml0 ZXJfd21fc2V0czsKIAotCWlmICghcHBfZnVuY3MgfHwgIXBwX2Z1bmNzLT5zZXRfd2F0ZXJtYXJr c19mb3JfY2xvY2tzX3JhbmdlcykKLQkJcmV0dXJuOwotCiAJZm9yIChpID0gMDsgaSA8IHdtX3dp dGhfY2xvY2tfcmFuZ2VzLm51bV93bV9kbWlmX3NldHM7IGkrKykgewogCQlpZiAocmFuZ2VzLT5y ZWFkZXJfd21fc2V0c1tpXS53bV9pbnN0ID4gMykKIAkJCXdtX2RjZV9jbG9ja3NbaV0ud21fc2V0 X2lkID0gV01fU0VUX0E7CkBAIC01ODMsNyArNTgwLDEzIEBAIHZvaWQgcHBfcnZfc2V0X3dtX3Jh bmdlcyhzdHJ1Y3QgcHBfc211ICpwcCwKIAkJCQlyYW5nZXMtPndyaXRlcl93bV9zZXRzW2ldLm1p bl9kcmFpbl9jbGtfbWh6ICogMTAwMDsKIAl9CiAKLQlwcF9mdW5jcy0+c2V0X3dhdGVybWFya3Nf Zm9yX2Nsb2Nrc19yYW5nZXMocHBfaGFuZGxlLCAmd21fd2l0aF9jbG9ja19yYW5nZXMpOworCWlm IChwcF9mdW5jcyAmJiBwcF9mdW5jcy0+c2V0X3dhdGVybWFya3NfZm9yX2Nsb2Nrc19yYW5nZXMp CisJCXBwX2Z1bmNzLT5zZXRfd2F0ZXJtYXJrc19mb3JfY2xvY2tzX3JhbmdlcyhwcF9oYW5kbGUs CisJCQkJCQkJICAgJndtX3dpdGhfY2xvY2tfcmFuZ2VzKTsKKwllbHNlIGlmIChhZGV2LT5zbXUu ZnVuY3MgJiYKKwkJIGFkZXYtPnNtdS5mdW5jcy0+c2V0X3dhdGVybWFya3NfZm9yX2Nsb2NrX3Jh bmdlcykKKwkJc211X3NldF93YXRlcm1hcmtzX2Zvcl9jbG9ja19yYW5nZXMoJmFkZXYtPnNtdSwK KwkJCQkJCSAgICAmd21fd2l0aF9jbG9ja19yYW5nZXMpOwogfQogCiB2b2lkIHBwX3J2X3NldF9w bWVfd2FfZW5hYmxlKHN0cnVjdCBwcF9zbXUgKnBwKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9wb3dlcnBsYXkvYW1kZ3B1X3NtdS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dl cnBsYXkvYW1kZ3B1X3NtdS5jCmluZGV4IDI2ZjE4MzMuLmQxZWYyNDggMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZGdwdV9zbXUuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL3Bvd2VycGxheS9hbWRncHVfc211LmMKQEAgLTMyMiw2ICszMjIsNyBAQCBzdGF0 aWMgaW50IHNtdV9zd19pbml0KHZvaWQgKmhhbmRsZSkKIAliaXRtYXBfemVybyhzbXUtPnNtdV9m ZWF0dXJlLnN1cHBvcnRlZCwgU01VX0ZFQVRVUkVfTUFYKTsKIAliaXRtYXBfemVybyhzbXUtPnNt dV9mZWF0dXJlLmVuYWJsZWQsIFNNVV9GRUFUVVJFX01BWCk7CiAJYml0bWFwX3plcm8oc211LT5z bXVfZmVhdHVyZS5hbGxvd2VkLCBTTVVfRkVBVFVSRV9NQVgpOworCXNtdS0+d2F0ZXJtYXJrc19i aXRtYXAgPSAwOwogCiAJcmV0ID0gc211X2luaXRfbWljcm9jb2RlKHNtdSk7CiAJaWYgKHJldCkg ewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2FtZGdwdV9z bXUuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9hbWRncHVfc211LmgKaW5k ZXggZmYyMjQ0Ni4uZTU4YjQ5YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dl cnBsYXkvaW5jL2FtZGdwdV9zbXUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxh eS9pbmMvYW1kZ3B1X3NtdS5oCkBAIC0yMzUsNiArMjM1LDExIEBAIHN0cnVjdCBzbXVfY29udGV4 dAogCXVpbnQzMl90IGRlZmF1bHRfcG93ZXJfbGltaXQ7CiAKIAlib29sIHN1cHBvcnRfcG93ZXJf Y29udGFpbm1lbnQ7CisJYm9vbCBkaXNhYmxlX3dhdGVybWFyazsKKworI2RlZmluZSBXQVRFUk1B UktTX0VYSVNUCSgxIDw8IDApCisjZGVmaW5lIFdBVEVSTUFSS1NfTE9BREVECSgxIDw8IDEpCisJ dWludDMyX3Qgd2F0ZXJtYXJrc19iaXRtYXA7CiB9OwogCiBzdHJ1Y3QgcHB0YWJsZV9mdW5jcyB7 CkBAIC0zMjAsNiArMzI1LDggQEAgc3RydWN0IHNtdV9mdW5jcwogCWludCAoKmdldF9jdXJyZW50 X3NoYWxsb3dfc2xlZXBfY2xvY2tzKShzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSwKIAkJCQkJCXN0 cnVjdCBzbXVfY2xvY2tfaW5mbyAqY2xvY2tzKTsKIAlpbnQgKCpub3RpZnlfc211X2VuYWJsZV9w d2UpKHN0cnVjdCBzbXVfY29udGV4dCAqc211KTsKKwlpbnQgKCpzZXRfd2F0ZXJtYXJrc19mb3Jf Y2xvY2tfcmFuZ2VzKShzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSwKKwkJCQkJICAgICAgIHN0cnVj dCBkbV9wcF93bV9zZXRzX3dpdGhfY2xvY2tfcmFuZ2VzX3NvYzE1ICpjbG9ja19yYW5nZXMpOwog fTsKIAogI2RlZmluZSBzbXVfaW5pdF9taWNyb2NvZGUoc211KSBcCkBAIC00MzksNiArNDQ2LDgg QEAgc3RydWN0IHNtdV9mdW5jcwogCSgoc211KS0+ZnVuY3MtPmdldF9jdXJyZW50X3NoYWxsb3df c2xlZXBfY2xvY2tzID8gKHNtdSktPmZ1bmNzLT5nZXRfY3VycmVudF9zaGFsbG93X3NsZWVwX2Ns b2Nrcygoc211KSwgKGNsb2NrcykpIDogMCkKICNkZWZpbmUgc211X25vdGlmeV9zbXVfZW5hYmxl X3B3ZShzbXUpIFwKIAkoKHNtdSktPmZ1bmNzLT5ub3RpZnlfc211X2VuYWJsZV9wd2UgPyAoc211 KS0+ZnVuY3MtPm5vdGlmeV9zbXVfZW5hYmxlX3B3ZSgoc211KSkgOiAwKQorI2RlZmluZSBzbXVf c2V0X3dhdGVybWFya3NfZm9yX2Nsb2NrX3JhbmdlcyhzbXUsIGNsb2NrX3JhbmdlcykgXAorCSgo c211KS0+ZnVuY3MtPnNldF93YXRlcm1hcmtzX2Zvcl9jbG9ja19yYW5nZXMgPyAoc211KS0+ZnVu Y3MtPnNldF93YXRlcm1hcmtzX2Zvcl9jbG9ja19yYW5nZXMoKHNtdSksIChjbG9ja19yYW5nZXMp KSA6IDApCiAKIAogZXh0ZXJuIGludCBzbXVfZ2V0X2F0b21fZGF0YV90YWJsZShzdHJ1Y3Qgc211 X2NvbnRleHQgKnNtdSwgdWludDMyX3QgdGFibGUsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL3Bvd2VycGxheS9zbXVfdjExXzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJw bGF5L3NtdV92MTFfMC5jCmluZGV4IGI1YjI3MmYuLmY1ZTE4YTIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdV92MTFfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvcG93ZXJwbGF5L3NtdV92MTFfMC5jCkBAIC0xMTY2LDYgKzExNjYsODUgQEAgc211X3Yx MV8wX2Rpc3BsYXlfY2xvY2tfdm9sdGFnZV9yZXF1ZXN0KHN0cnVjdCBzbXVfY29udGV4dCAqc211 LAogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRpYyBpbnQgc211X3YxMV8wX3NldF93YXRlcm1hcmtz X3RhYmxlKHN0cnVjdCBzbXVfY29udGV4dCAqc211LAorCQkJCQkgIFdhdGVybWFya3NfdCAqdGFi bGUsIHN0cnVjdAorCQkJCQkgIGRtX3BwX3dtX3NldHNfd2l0aF9jbG9ja19yYW5nZXNfc29jMTUK KwkJCQkJICAqY2xvY2tfcmFuZ2VzKQoreworCWludCBpOworCisJaWYgKCF0YWJsZSB8fCAhY2xv Y2tfcmFuZ2VzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChjbG9ja19yYW5nZXMtPm51bV93 bV9kbWlmX3NldHMgPiA0IHx8CisJICAgIGNsb2NrX3Jhbmdlcy0+bnVtX3dtX21jaWZfc2V0cyA+ IDQpCisgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisKKyAgICAgICAgZm9yIChpID0g MDsgaSA8IGNsb2NrX3Jhbmdlcy0+bnVtX3dtX2RtaWZfc2V0czsgaSsrKSB7CisJCXRhYmxlLT5X YXRlcm1hcmtSb3dbMV1baV0uTWluQ2xvY2sgPQorCQkJY3B1X3RvX2xlMTYoKHVpbnQxNl90KQor CQkJKGNsb2NrX3Jhbmdlcy0+d21fZG1pZl9jbG9ja3NfcmFuZ2VzW2ldLndtX21pbl9kY2ZjbGtf Y2xrX2luX2toeiAvCisJCQkxMDAwKSk7CisJCXRhYmxlLT5XYXRlcm1hcmtSb3dbMV1baV0uTWF4 Q2xvY2sgPQorCQkJY3B1X3RvX2xlMTYoKHVpbnQxNl90KQorCQkJKGNsb2NrX3Jhbmdlcy0+d21f ZG1pZl9jbG9ja3NfcmFuZ2VzW2ldLndtX21heF9kY2ZjbGtfY2xrX2luX2toeiAvCisJCQkxMDAw KSk7CisJCXRhYmxlLT5XYXRlcm1hcmtSb3dbMV1baV0uTWluVWNsayA9CisJCQljcHVfdG9fbGUx NigodWludDE2X3QpCisJCQkoY2xvY2tfcmFuZ2VzLT53bV9kbWlmX2Nsb2Nrc19yYW5nZXNbaV0u d21fbWluX21lbV9jbGtfaW5fa2h6IC8KKwkJCTEwMDApKTsKKwkJdGFibGUtPldhdGVybWFya1Jv d1sxXVtpXS5NYXhVY2xrID0KKwkJCWNwdV90b19sZTE2KCh1aW50MTZfdCkKKwkJCShjbG9ja19y YW5nZXMtPndtX2RtaWZfY2xvY2tzX3Jhbmdlc1tpXS53bV9tYXhfbWVtX2Nsa19pbl9raHogLwor CQkJMTAwMCkpOworCQl0YWJsZS0+V2F0ZXJtYXJrUm93WzFdW2ldLldtU2V0dGluZyA9ICh1aW50 OF90KQorCQkJCWNsb2NrX3Jhbmdlcy0+d21fZG1pZl9jbG9ja3NfcmFuZ2VzW2ldLndtX3NldF9p ZDsKKyAgICAgICAgfQorCisJZm9yIChpID0gMDsgaSA8IGNsb2NrX3Jhbmdlcy0+bnVtX3dtX21j aWZfc2V0czsgaSsrKSB7CisJCXRhYmxlLT5XYXRlcm1hcmtSb3dbMF1baV0uTWluQ2xvY2sgPQor CQkJY3B1X3RvX2xlMTYoKHVpbnQxNl90KQorCQkJKGNsb2NrX3Jhbmdlcy0+d21fbWNpZl9jbG9j a3NfcmFuZ2VzW2ldLndtX21pbl9zb2NjbGtfY2xrX2luX2toeiAvCisJCQkxMDAwKSk7CisJCXRh YmxlLT5XYXRlcm1hcmtSb3dbMF1baV0uTWF4Q2xvY2sgPQorCQkJY3B1X3RvX2xlMTYoKHVpbnQx Nl90KQorCQkJKGNsb2NrX3Jhbmdlcy0+d21fbWNpZl9jbG9ja3NfcmFuZ2VzW2ldLndtX21heF9z b2NjbGtfY2xrX2luX2toeiAvCisJCQkxMDAwKSk7CisJCXRhYmxlLT5XYXRlcm1hcmtSb3dbMF1b aV0uTWluVWNsayA9CisJCQljcHVfdG9fbGUxNigodWludDE2X3QpCisJCQkoY2xvY2tfcmFuZ2Vz LT53bV9tY2lmX2Nsb2Nrc19yYW5nZXNbaV0ud21fbWluX21lbV9jbGtfaW5fa2h6IC8KKwkJCTEw MDApKTsKKwkJdGFibGUtPldhdGVybWFya1Jvd1swXVtpXS5NYXhVY2xrID0KKwkJCWNwdV90b19s ZTE2KCh1aW50MTZfdCkKKwkJCShjbG9ja19yYW5nZXMtPndtX21jaWZfY2xvY2tzX3Jhbmdlc1tp XS53bV9tYXhfbWVtX2Nsa19pbl9raHogLworCQkJMTAwMCkpOworCQl0YWJsZS0+V2F0ZXJtYXJr Um93WzBdW2ldLldtU2V0dGluZyA9ICh1aW50OF90KQorCQkJCWNsb2NrX3Jhbmdlcy0+d21fbWNp Zl9jbG9ja3NfcmFuZ2VzW2ldLndtX3NldF9pZDsKKyAgICAgICAgfQorCisJcmV0dXJuIDA7Cit9 CisKK3N0YXRpYyBpbnQKK3NtdV92MTFfMF9zZXRfd2F0ZXJtYXJrc19mb3JfY2xvY2tfcmFuZ2Vz KHN0cnVjdCBzbXVfY29udGV4dCAqc211LCBzdHJ1Y3QKKwkJCQkJICBkbV9wcF93bV9zZXRzX3dp dGhfY2xvY2tfcmFuZ2VzX3NvYzE1CisJCQkJCSAgKmNsb2NrX3JhbmdlcykKK3sKKwlpbnQgcmV0 ID0gMDsKKwlzdHJ1Y3Qgc211X3RhYmxlICp3YXRlcm1hcmtzID0gJnNtdS0+c211X3RhYmxlLnRh Ymxlc1tUQUJMRV9XQVRFUk1BUktTXTsKKwlXYXRlcm1hcmtzX3QgKnRhYmxlID0gd2F0ZXJtYXJr cy0+Y3B1X2FkZHI7CisKKwlpZiAoIXNtdS0+ZGlzYWJsZV93YXRlcm1hcmsgJiYKKwkgICAgc211 X2ZlYXR1cmVfaXNfZW5hYmxlZChzbXUsIEZFQVRVUkVfRFBNX0RDRUZDTEtfQklUKSAmJgorCSAg ICBzbXVfZmVhdHVyZV9pc19lbmFibGVkKHNtdSwgRkVBVFVSRV9EUE1fU09DQ0xLX0JJVCkpIHsK KwkJc211X3YxMV8wX3NldF93YXRlcm1hcmtzX3RhYmxlKHNtdSwgdGFibGUsIGNsb2NrX3Jhbmdl cyk7CisJCXNtdS0+d2F0ZXJtYXJrc19iaXRtYXAgfD0gV0FURVJNQVJLU19FWElTVDsKKwkJc211 LT53YXRlcm1hcmtzX2JpdG1hcCAmPSB+V0FURVJNQVJLU19MT0FERUQ7CisJfQorCisJcmV0dXJu IHJldDsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBzbXVfZnVuY3Mgc211X3YxMV8wX2Z1bmNz ID0gewogCS5pbml0X21pY3JvY29kZSA9IHNtdV92MTFfMF9pbml0X21pY3JvY29kZSwKIAkubG9h ZF9taWNyb2NvZGUgPSBzbXVfdjExXzBfbG9hZF9taWNyb2NvZGUsCkBAIC0xMjAxLDYgKzEyODAs NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHNtdV9mdW5jcyBzbXVfdjExXzBfZnVuY3MgPSB7CiAJ LnJlYWRfc2Vuc29yID0gc211X3YxMV8wX3JlYWRfc2Vuc29yLAogCS5zZXRfZGVlcF9zbGVlcF9k Y2VmY2xrID0gc211X3YxMV8wX3NldF9kZWVwX3NsZWVwX2RjZWZjbGssCiAJLmRpc3BsYXlfY2xv Y2tfdm9sdGFnZV9yZXF1ZXN0ID0gc211X3YxMV8wX2Rpc3BsYXlfY2xvY2tfdm9sdGFnZV9yZXF1 ZXN0LAorCS5zZXRfd2F0ZXJtYXJrc19mb3JfY2xvY2tfcmFuZ2VzID0gc211X3YxMV8wX3NldF93 YXRlcm1hcmtzX2Zvcl9jbG9ja19yYW5nZXMsCiB9OwogCiB2b2lkIHNtdV92MTFfMF9zZXRfc211 X2Z1bmNzKHN0cnVjdCBzbXVfY29udGV4dCAqc211KQotLSAKMi43LjQKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFt ZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=