From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 3/4] drm/amdgpu: add the CI code to enable clock level selection Date: Fri, 20 May 2016 18:02:46 -0400 Message-ID: <1463781767-28124-4-git-send-email-alexander.deucher@amd.com> References: <1463781767-28124-1-git-send-email-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-it0-x241.google.com (mail-it0-x241.google.com [IPv6:2607:f8b0:4001:c0b::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id B9B056E194 for ; Fri, 20 May 2016 22:02:56 +0000 (UTC) Received: by mail-it0-x241.google.com with SMTP id k76so94458ita.1 for ; Fri, 20 May 2016 15:02:56 -0700 (PDT) In-Reply-To: <1463781767-28124-1-git-send-email-alexander.deucher@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Eric Huang , Alex Deucher List-Id: dri-devel@lists.freedesktop.org RnJvbTogRXJpYyBIdWFuZyA8SmluSHVpRXJpYy5IdWFuZ0BhbWQuY29tPgoKUmV2aWV3ZWQtYnk6 IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KU2lnbmVkLW9mZi1ieTog RXJpYyBIdWFuZyA8SmluSHVpRXJpYy5IdWFuZ0BhbWQuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbGV4 IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvY2lfZHBtLmMgfCAxMTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTE0IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9jaV9kcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2NpX2RwbS5jCmluZGV4IGVhNDA3ZGIuLmQ5ZmM3MDAgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2NpX2RwbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2NpX2RwbS5jCkBAIC02NDAxLDYgKzY0MDEsMTE4IEBAIHN0YXRpYyBpbnQgY2lfZHBt X3NldF9wb3dlcmdhdGluZ19zdGF0ZSh2b2lkICpoYW5kbGUsCiAJcmV0dXJuIDA7CiB9CiAKK3N0 YXRpYyBpbnQgY2lfZHBtX3ByaW50X2Nsb2NrX2xldmVscyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldiwKKwkJZW51bSBwcF9jbG9ja190eXBlIHR5cGUsIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3Qg Y2lfcG93ZXJfaW5mbyAqcGkgPSBjaV9nZXRfcGkoYWRldik7CisJc3RydWN0IGNpX3NpbmdsZV9k cG1fdGFibGUgKnNjbGtfdGFibGUgPSAmcGktPmRwbV90YWJsZS5zY2xrX3RhYmxlOworCXN0cnVj dCBjaV9zaW5nbGVfZHBtX3RhYmxlICptY2xrX3RhYmxlID0gJnBpLT5kcG1fdGFibGUubWNsa190 YWJsZTsKKwlzdHJ1Y3QgY2lfc2luZ2xlX2RwbV90YWJsZSAqcGNpZV90YWJsZSA9ICZwaS0+ZHBt X3RhYmxlLnBjaWVfc3BlZWRfdGFibGU7CisKKwlpbnQgaSwgbm93LCBzaXplID0gMDsKKwl1aW50 MzJfdCBjbG9jaywgcGNpZV9zcGVlZDsKKworCXN3aXRjaCAodHlwZSkgeworCWNhc2UgUFBfU0NM SzoKKwkJYW1kZ3B1X2NpX3NlbmRfbXNnX3RvX3NtYyhhZGV2LCBQUFNNQ19NU0dfQVBJX0dldFNj bGtGcmVxdWVuY3kpOworCQljbG9jayA9IFJSRUczMihtbVNNQ19NU0dfQVJHXzApOworCisJCWZv ciAoaSA9IDA7IGkgPCBzY2xrX3RhYmxlLT5jb3VudDsgaSsrKSB7CisJCQlpZiAoY2xvY2sgPiBz Y2xrX3RhYmxlLT5kcG1fbGV2ZWxzW2ldLnZhbHVlKQorCQkJCWNvbnRpbnVlOworCQkJYnJlYWs7 CisJCX0KKwkJbm93ID0gaTsKKworCQlmb3IgKGkgPSAwOyBpIDwgc2Nsa190YWJsZS0+Y291bnQ7 IGkrKykKKwkJCXNpemUgKz0gc3ByaW50ZihidWYgKyBzaXplLCAiJWQ6ICV1TWh6ICVzXG4iLAor CQkJCQlpLCBzY2xrX3RhYmxlLT5kcG1fbGV2ZWxzW2ldLnZhbHVlIC8gMTAwLAorCQkJCQkoaSA9 PSBub3cpID8gIioiIDogIiIpOworCQlicmVhazsKKwljYXNlIFBQX01DTEs6CisJCWFtZGdwdV9j aV9zZW5kX21zZ190b19zbWMoYWRldiwgUFBTTUNfTVNHX0FQSV9HZXRNY2xrRnJlcXVlbmN5KTsK KwkJY2xvY2sgPSBSUkVHMzIobW1TTUNfTVNHX0FSR18wKTsKKworCQlmb3IgKGkgPSAwOyBpIDwg bWNsa190YWJsZS0+Y291bnQ7IGkrKykgeworCQkJaWYgKGNsb2NrID4gbWNsa190YWJsZS0+ZHBt X2xldmVsc1tpXS52YWx1ZSkKKwkJCQljb250aW51ZTsKKwkJCWJyZWFrOworCQl9CisJCW5vdyA9 IGk7CisKKwkJZm9yIChpID0gMDsgaSA8IG1jbGtfdGFibGUtPmNvdW50OyBpKyspCisJCQlzaXpl ICs9IHNwcmludGYoYnVmICsgc2l6ZSwgIiVkOiAldU1oeiAlc1xuIiwKKwkJCQkJaSwgbWNsa190 YWJsZS0+ZHBtX2xldmVsc1tpXS52YWx1ZSAvIDEwMCwKKwkJCQkJKGkgPT0gbm93KSA/ICIqIiA6 ICIiKTsKKwkJYnJlYWs7CisJY2FzZSBQUF9QQ0lFOgorCQlwY2llX3NwZWVkID0gY2lfZ2V0X2N1 cnJlbnRfcGNpZV9zcGVlZChhZGV2KTsKKwkJZm9yIChpID0gMDsgaSA8IHBjaWVfdGFibGUtPmNv dW50OyBpKyspIHsKKwkJCWlmIChwY2llX3NwZWVkICE9IHBjaWVfdGFibGUtPmRwbV9sZXZlbHNb aV0udmFsdWUpCisJCQkJY29udGludWU7CisJCQlicmVhazsKKwkJfQorCQlub3cgPSBpOworCisJ CWZvciAoaSA9IDA7IGkgPCBwY2llX3RhYmxlLT5jb3VudDsgaSsrKQorCQkJc2l6ZSArPSBzcHJp bnRmKGJ1ZiArIHNpemUsICIlZDogJXMgJXNcbiIsIGksCisJCQkJCShwY2llX3RhYmxlLT5kcG1f bGV2ZWxzW2ldLnZhbHVlID09IDApID8gIjIuNUdCLCB4MSIgOgorCQkJCQkocGNpZV90YWJsZS0+ ZHBtX2xldmVsc1tpXS52YWx1ZSA9PSAxKSA/ICI1LjBHQiwgeDE2IiA6CisJCQkJCShwY2llX3Rh YmxlLT5kcG1fbGV2ZWxzW2ldLnZhbHVlID09IDIpID8gIjguMEdCLCB4MTYiIDogIiIsCisJCQkJ CShpID09IG5vdykgPyAiKiIgOiAiIik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOwor CX0KKworCXJldHVybiBzaXplOworfQorCitzdGF0aWMgaW50IGNpX2RwbV9mb3JjZV9jbG9ja19s ZXZlbChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKKwkJZW51bSBwcF9jbG9ja190eXBlIHR5 cGUsIHVpbnQzMl90IG1hc2spCit7CisJc3RydWN0IGNpX3Bvd2VyX2luZm8gKnBpID0gY2lfZ2V0 X3BpKGFkZXYpOworCisJaWYgKGFkZXYtPnBtLmRwbS5mb3JjZWRfbGV2ZWwKKwkJCSE9IEFNREdQ VV9EUE1fRk9SQ0VEX0xFVkVMX01BTlVBTCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzd2l0Y2gg KHR5cGUpIHsKKwljYXNlIFBQX1NDTEs6CisJCWlmICghcGktPnNjbGtfZHBtX2tleV9kaXNhYmxl ZCkKKwkJCWFtZGdwdV9jaV9zZW5kX21zZ190b19zbWNfd2l0aF9wYXJhbWV0ZXIoYWRldiwKKwkJ CQkJUFBTTUNfTVNHX1NDTEtEUE1fU2V0RW5hYmxlZE1hc2ssCisJCQkJCXBpLT5kcG1fbGV2ZWxf ZW5hYmxlX21hc2suc2Nsa19kcG1fZW5hYmxlX21hc2sgJiBtYXNrKTsKKwkJYnJlYWs7CisKKwlj YXNlIFBQX01DTEs6CisJCWlmICghcGktPm1jbGtfZHBtX2tleV9kaXNhYmxlZCkKKwkJCWFtZGdw dV9jaV9zZW5kX21zZ190b19zbWNfd2l0aF9wYXJhbWV0ZXIoYWRldiwKKwkJCQkJUFBTTUNfTVNH X01DTEtEUE1fU2V0RW5hYmxlZE1hc2ssCisJCQkJCXBpLT5kcG1fbGV2ZWxfZW5hYmxlX21hc2su bWNsa19kcG1fZW5hYmxlX21hc2sgJiBtYXNrKTsKKwkJYnJlYWs7CisKKwljYXNlIFBQX1BDSUU6 CisJeworCQl1aW50MzJfdCB0bXAgPSBtYXNrICYgcGktPmRwbV9sZXZlbF9lbmFibGVfbWFzay5w Y2llX2RwbV9lbmFibGVfbWFzazsKKwkJdWludDMyX3QgbGV2ZWwgPSAwOworCisJCXdoaWxlICh0 bXAgPj49IDEpCisJCQlsZXZlbCsrOworCisJCWlmICghcGktPnBjaWVfZHBtX2tleV9kaXNhYmxl ZCkKKwkJCWFtZGdwdV9jaV9zZW5kX21zZ190b19zbWNfd2l0aF9wYXJhbWV0ZXIoYWRldiwKKwkJ CQkJUFBTTUNfTVNHX1BDSWVEUE1fRm9yY2VMZXZlbCwKKwkJCQkJbGV2ZWwpOworCQlicmVhazsK Kwl9CisJZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIDA7Cit9CisKIGNvbnN0IHN0 cnVjdCBhbWRfaXBfZnVuY3MgY2lfZHBtX2lwX2Z1bmNzID0gewogCS5uYW1lID0gImNpX2RwbSIs CiAJLmVhcmx5X2luaXQgPSBjaV9kcG1fZWFybHlfaW5pdCwKQEAgLTY0MzUsNiArNjU0Nyw4IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgYW1kZ3B1X2RwbV9mdW5jcyBjaV9kcG1fZnVuY3MgPSB7CiAJ LmdldF9mYW5fY29udHJvbF9tb2RlID0gJmNpX2RwbV9nZXRfZmFuX2NvbnRyb2xfbW9kZSwKIAku c2V0X2Zhbl9zcGVlZF9wZXJjZW50ID0gJmNpX2RwbV9zZXRfZmFuX3NwZWVkX3BlcmNlbnQsCiAJ LmdldF9mYW5fc3BlZWRfcGVyY2VudCA9ICZjaV9kcG1fZ2V0X2Zhbl9zcGVlZF9wZXJjZW50LAor CS5wcmludF9jbG9ja19sZXZlbHMgPSBjaV9kcG1fcHJpbnRfY2xvY2tfbGV2ZWxzLAorCS5mb3Jj ZV9jbG9ja19sZXZlbCA9IGNpX2RwbV9mb3JjZV9jbG9ja19sZXZlbCwKIH07CiAKIHN0YXRpYyB2 b2lkIGNpX2RwbV9zZXRfZHBtX2Z1bmNzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQotLSAK Mi41LjUKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=