From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH 04/10] drm/radeon: add radeon_atom_get_clock_dividers helper Date: Wed, 3 Apr 2013 01:18:33 +0200 Message-ID: <1364944719-5175-5-git-send-email-deathsimple@vodafone.de> References: <1364944719-5175-1-git-send-email-deathsimple@vodafone.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from outgoing.email.vodafone.de (outgoing.email.vodafone.de [139.7.28.128]) by gabe.freedesktop.org (Postfix) with ESMTP id 0FAB5E5CE4 for ; Tue, 2 Apr 2013 16:18:48 -0700 (PDT) In-Reply-To: <1364944719-5175-1-git-send-email-deathsimple@vodafone.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org U2lnbmVkLW9mZi1ieTogQ2hyaXN0aWFuIEvDtm5pZyA8ZGVhdGhzaW1wbGVAdm9kYWZvbmUuZGU+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb24uaCAgICAgICAgICB8ICAgIDUgKysK IGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F0b21iaW9zLmMgfCAgMTA3ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbW9k ZS5oICAgICB8ICAgMjMgKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAxMzUgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uLmggYi9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCmluZGV4IGVhZmI2NmE2Li5jMWEzYzFmIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbi5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uLmgKQEAgLTIwNSw2ICsyMDUsMTEgQEAgdm9pZCByYWRlb25fcG1fc3Vz cGVuZChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7CiB2b2lkIHJhZGVvbl9wbV9yZXN1bWUo c3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwogdm9pZCByYWRlb25fY29tYmlvc19nZXRfcG93 ZXJfbW9kZXMoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwogdm9pZCByYWRlb25fYXRvbWJp b3NfZ2V0X3Bvd2VyX21vZGVzKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KTsKK2ludCByYWRl b25fYXRvbV9nZXRfY2xvY2tfZGl2aWRlcnMoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYsCisJ CQkJICAgdTggY2xvY2tfdHlwZSwKKwkJCQkgICB1MzIgY2xvY2ssCisJCQkJICAgYm9vbCBzdHJv YmVfbW9kZSwKKwkJCQkgICBzdHJ1Y3QgYXRvbV9jbG9ja19kaXZpZGVycyAqZGl2aWRlcnMpOwog dm9pZCByYWRlb25fYXRvbV9zZXRfdm9sdGFnZShzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwg dTE2IHZvbHRhZ2VfbGV2ZWwsIHU4IHZvbHRhZ2VfdHlwZSk7CiB2b2lkIHJzNjkwX3BtX2luZm8o c3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwogZXh0ZXJuIGludCBydjZ4eF9nZXRfdGVtcChz dHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cmFkZW9uL3JhZGVvbl9hdG9tYmlvcy5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25f YXRvbWJpb3MuYwppbmRleCBmMjJlYjU3Li44YzE3NzljIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vcmFkZW9uL3JhZGVvbl9hdG9tYmlvcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRl b24vcmFkZW9uX2F0b21iaW9zLmMKQEAgLTI2NTQsNiArMjY1NCwxMTMgQEAgdm9pZCByYWRlb25f YXRvbWJpb3NfZ2V0X3Bvd2VyX21vZGVzKHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogCQly ZGV2LT5wbS5jdXJyZW50X3ZkZGMgPSAwOwogfQogCit1bmlvbiBnZXRfY2xvY2tfZGl2aWRlcnMg eworCXN0cnVjdCBfQ09NUFVURV9NRU1PUllfRU5HSU5FX1BMTF9QQVJBTUVURVJTIHYxOworCXN0 cnVjdCBfQ09NUFVURV9NRU1PUllfRU5HSU5FX1BMTF9QQVJBTUVURVJTX1YyIHYyOworCXN0cnVj dCBfQ09NUFVURV9NRU1PUllfRU5HSU5FX1BMTF9QQVJBTUVURVJTX1YzIHYzOworCXN0cnVjdCBf Q09NUFVURV9NRU1PUllfRU5HSU5FX1BMTF9QQVJBTUVURVJTX1Y0IHY0OworCXN0cnVjdCBfQ09N UFVURV9NRU1PUllfRU5HSU5FX1BMTF9QQVJBTUVURVJTX1Y1IHY1OworfTsKKworaW50IHJhZGVv bl9hdG9tX2dldF9jbG9ja19kaXZpZGVycyhzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldiwKKwkJ CQkgICB1OCBjbG9ja190eXBlLAorCQkJCSAgIHUzMiBjbG9jaywKKwkJCQkgICBib29sIHN0cm9i ZV9tb2RlLAorCQkJCSAgIHN0cnVjdCBhdG9tX2Nsb2NrX2RpdmlkZXJzICpkaXZpZGVycykKK3sK Kwl1bmlvbiBnZXRfY2xvY2tfZGl2aWRlcnMgYXJnczsKKwlpbnQgaW5kZXggPSBHZXRJbmRleElu dG9NYXN0ZXJUYWJsZShDT01NQU5ELCBDb21wdXRlTWVtb3J5RW5naW5lUExMKTsKKwl1OCBmcmV2 LCBjcmV2OworCisJbWVtc2V0KCZhcmdzLCAwLCBzaXplb2YoYXJncykpOworCW1lbXNldChkaXZp ZGVycywgMCwgc2l6ZW9mKHN0cnVjdCBhdG9tX2Nsb2NrX2RpdmlkZXJzKSk7CisKKwlpZiAoIWF0 b21fcGFyc2VfY21kX2hlYWRlcihyZGV2LT5tb2RlX2luZm8uYXRvbV9jb250ZXh0LCBpbmRleCwg JmZyZXYsICZjcmV2KSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzd2l0Y2ggKGNyZXYpIHsKKwlj YXNlIDE6CisJCS8qIHI0eHgsIHI1eHggKi8KKwkJYXJncy52MS51Y0FjdGlvbiA9IGNsb2NrX3R5 cGU7CisJCWFyZ3MudjEudWxDbG9jayA9IGNwdV90b19sZTMyKGNsb2NrKTsJLyogMTAga2h6ICov CisKKwkJYXRvbV9leGVjdXRlX3RhYmxlKHJkZXYtPm1vZGVfaW5mby5hdG9tX2NvbnRleHQsIGlu ZGV4LCAodWludDMyX3QgKikmYXJncyk7CisKKwkJZGl2aWRlcnMtPnBvc3RfZGl2ID0gYXJncy52 MS51Y1Bvc3REaXY7CisJCWRpdmlkZXJzLT5mYl9kaXYgPSBhcmdzLnYxLnVjRmJEaXY7CisJCWRp dmlkZXJzLT5lbmFibGVfcG9zdF9kaXYgPSB0cnVlOworCQlicmVhazsKKwljYXNlIDI6CisJY2Fz ZSAzOgorCQkvKiByNnh4LCByN3h4LCBldmVyZ3JlZW4sIG5pICovCisJCWlmIChyZGV2LT5mYW1p bHkgPD0gQ0hJUF9SVjc3MCkgeworCQkJYXJncy52Mi51Y0FjdGlvbiA9IGNsb2NrX3R5cGU7CisJ CQlhcmdzLnYyLnVsQ2xvY2sgPSBjcHVfdG9fbGUzMihjbG9jayk7CS8qIDEwIGtoeiAqLworCisJ CQlhdG9tX2V4ZWN1dGVfdGFibGUocmRldi0+bW9kZV9pbmZvLmF0b21fY29udGV4dCwgaW5kZXgs ICh1aW50MzJfdCAqKSZhcmdzKTsKKworCQkJZGl2aWRlcnMtPnBvc3RfZGl2ID0gYXJncy52Mi51 Y1Bvc3REaXY7CisJCQlkaXZpZGVycy0+ZmJfZGl2ID0gbGUxNl90b19jcHUoYXJncy52Mi51c0Zi RGl2KTsKKwkJCWRpdmlkZXJzLT5yZWZfZGl2ID0gYXJncy52Mi51Y0FjdGlvbjsKKwkJCWlmIChy ZGV2LT5mYW1pbHkgPT0gQ0hJUF9SVjc3MCkgeworCQkJCWRpdmlkZXJzLT5lbmFibGVfcG9zdF9k aXYgPSAobGUzMl90b19jcHUoYXJncy52Mi51bENsb2NrKSAmICgxIDw8IDI0KSkgPworCQkJCQl0 cnVlIDogZmFsc2U7CisJCQkJZGl2aWRlcnMtPnZjb19tb2RlID0gKGxlMzJfdG9fY3B1KGFyZ3Mu djIudWxDbG9jaykgJiAoMSA8PCAyNSkpID8gMSA6IDA7CisJCQl9IGVsc2UKKwkJCQlkaXZpZGVy cy0+ZW5hYmxlX3Bvc3RfZGl2ID0gKGRpdmlkZXJzLT5mYl9kaXYgJiAxKSA/IHRydWUgOiBmYWxz ZTsKKwkJfSBlbHNlIHsKKwkJCWlmIChjbG9ja190eXBlID09IENPTVBVVEVfRU5HSU5FX1BMTF9Q QVJBTSkgeworCQkJCWFyZ3MudjMudWxDbG9jay51bENvbXB1dGVDbG9ja0ZsYWcgPSBjbG9ja190 eXBlOworCQkJCWFyZ3MudjMudWxDbG9jay51bENsb2NrRnJlcSA9IGNwdV90b19sZTMyKGNsb2Nr KTsJLyogMTAga2h6ICovCisKKwkJCQlhdG9tX2V4ZWN1dGVfdGFibGUocmRldi0+bW9kZV9pbmZv LmF0b21fY29udGV4dCwgaW5kZXgsICh1aW50MzJfdCAqKSZhcmdzKTsKKworCQkJCWRpdmlkZXJz LT5wb3N0X2RpdiA9IGFyZ3MudjMudWNQb3N0RGl2OworCQkJCWRpdmlkZXJzLT5lbmFibGVfcG9z dF9kaXYgPSAoYXJncy52My51Y0NudGxGbGFnICYKKwkJCQkJCQkgICAgIEFUT01fUExMX0NOVExf RkxBR19QTExfUE9TVF9ESVZfRU4pID8gdHJ1ZSA6IGZhbHNlOworCQkJCWRpdmlkZXJzLT5lbmFi bGVfZGl0aGVuID0gKGFyZ3MudjMudWNDbnRsRmxhZyAmCisJCQkJCQkJICAgQVRPTV9QTExfQ05U TF9GTEFHX0ZSQUNUSU9OX0RJU0FCTEUpID8gZmFsc2UgOiB0cnVlOworCQkJCWRpdmlkZXJzLT5m Yl9kaXYgPSBsZTE2X3RvX2NwdShhcmdzLnYzLnVsRmJEaXYudXNGYkRpdik7CisJCQkJZGl2aWRl cnMtPmZyYWNfZmJfZGl2ID0gbGUxNl90b19jcHUoYXJncy52My51bEZiRGl2LnVzRmJEaXZGcmFj KTsKKwkJCQlkaXZpZGVycy0+cmVmX2RpdiA9IGFyZ3MudjMudWNSZWZEaXY7CisJCQkJZGl2aWRl cnMtPnZjb19tb2RlID0gKGFyZ3MudjMudWNDbnRsRmxhZyAmCisJCQkJCQkgICAgICBBVE9NX1BM TF9DTlRMX0ZMQUdfTVBMTF9WQ09fTU9ERSkgPyAxIDogMDsKKwkJCX0gZWxzZSB7CisJCQkJYXJn cy52NS51bENsb2NrLnVsQ29tcHV0ZUNsb2NrRmxhZyA9IGNsb2NrX3R5cGU7CisJCQkJYXJncy52 NS51bENsb2NrLnVsQ2xvY2tGcmVxID0gY3B1X3RvX2xlMzIoY2xvY2spOwkvKiAxMCBraHogKi8K KwkJCQlpZiAoc3Ryb2JlX21vZGUpCisJCQkJCWFyZ3MudjUudWNJbnB1dEZsYWcgPSBBVE9NX1BM TF9JTlBVVF9GTEFHX1BMTF9TVFJPQkVfTU9ERV9FTjsKKworCQkJCWF0b21fZXhlY3V0ZV90YWJs ZShyZGV2LT5tb2RlX2luZm8uYXRvbV9jb250ZXh0LCBpbmRleCwgKHVpbnQzMl90ICopJmFyZ3Mp OworCisJCQkJZGl2aWRlcnMtPnBvc3RfZGl2ID0gYXJncy52NS51Y1Bvc3REaXY7CisJCQkJZGl2 aWRlcnMtPmVuYWJsZV9wb3N0X2RpdiA9IChhcmdzLnY1LnVjQ250bEZsYWcgJgorCQkJCQkJCSAg ICAgQVRPTV9QTExfQ05UTF9GTEFHX1BMTF9QT1NUX0RJVl9FTikgPyB0cnVlIDogZmFsc2U7CisJ CQkJZGl2aWRlcnMtPmVuYWJsZV9kaXRoZW4gPSAoYXJncy52NS51Y0NudGxGbGFnICYKKwkJCQkJ CQkgICBBVE9NX1BMTF9DTlRMX0ZMQUdfRlJBQ1RJT05fRElTQUJMRSkgPyBmYWxzZSA6IHRydWU7 CisJCQkJZGl2aWRlcnMtPndob2xlX2ZiX2RpdiA9IGxlMTZfdG9fY3B1KGFyZ3MudjUudWxGYkRp di51c0ZiRGl2KTsKKwkJCQlkaXZpZGVycy0+ZnJhY19mYl9kaXYgPSBsZTE2X3RvX2NwdShhcmdz LnY1LnVsRmJEaXYudXNGYkRpdkZyYWMpOworCQkJCWRpdmlkZXJzLT5yZWZfZGl2ID0gYXJncy52 NS51Y1JlZkRpdjsKKwkJCQlkaXZpZGVycy0+dmNvX21vZGUgPSAoYXJncy52NS51Y0NudGxGbGFn ICYKKwkJCQkJCSAgICAgIEFUT01fUExMX0NOVExfRkxBR19NUExMX1ZDT19NT0RFKSA/IDEgOiAw OworCQkJfQorCQl9CisJCWJyZWFrOworCWNhc2UgNDoKKwkJLyogZnVzaW9uICovCisJCWFyZ3Mu djQudWxDbG9jayA9IGNwdV90b19sZTMyKGNsb2NrKTsJLyogMTAga2h6ICovCisKKwkJYXRvbV9l eGVjdXRlX3RhYmxlKHJkZXYtPm1vZGVfaW5mby5hdG9tX2NvbnRleHQsIGluZGV4LCAodWludDMy X3QgKikmYXJncyk7CisKKwkJZGl2aWRlcnMtPnBvc3RfZGl2ID0gYXJncy52NC51Y1Bvc3REaXY7 CisJCWRpdmlkZXJzLT5yZWFsX2Nsb2NrID0gbGUzMl90b19jcHUoYXJncy52NC51bENsb2NrKTsK KwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCXJldHVybiAwOwor fQorCiB2b2lkIHJhZGVvbl9hdG9tX3NldF9jbG9ja19nYXRpbmcoc3RydWN0IHJhZGVvbl9kZXZp Y2UgKnJkZXYsIGludCBlbmFibGUpCiB7CiAJRFlOQU1JQ19DTE9DS19HQVRJTkdfUFNfQUxMT0NB VElPTiBhcmdzOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbW9k ZS5oIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fbW9kZS5oCmluZGV4IDQwMDNmNWEu LjQ0ZTU3OWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX21vZGUu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9tb2RlLmgKQEAgLTQ5Miw2ICs0 OTIsMjkgQEAgc3RydWN0IHJhZGVvbl9mcmFtZWJ1ZmZlciB7CiAjZGVmaW5lIEVOQ09ERVJfTU9E RV9JU19EUChlbSkgKCgoZW0pID09IEFUT01fRU5DT0RFUl9NT0RFX0RQKSB8fCBcCiAJCQkJKChl bSkgPT0gQVRPTV9FTkNPREVSX01PREVfRFBfTVNUKSkKIAorc3RydWN0IGF0b21fY2xvY2tfZGl2 aWRlcnMgeworCXUzMiBwb3N0X2RpdjsKKwl1bmlvbiB7CisJCXN0cnVjdCB7CisjaWZkZWYgX19C SUdfRU5ESUFOCisJCQl1MzIgcmVzZXJ2ZWQgOiA2OworCQkJdTMyIHdob2xlX2ZiX2RpdiA6IDEy OworCQkJdTMyIGZyYWNfZmJfZGl2IDogMTQ7CisjZWxzZQorCQkJdTMyIGZyYWNfZmJfZGl2IDog MTQ7CisJCQl1MzIgd2hvbGVfZmJfZGl2IDogMTI7CisJCQl1MzIgcmVzZXJ2ZWQgOiA2OworI2Vu ZGlmCisJCX07CisJCXUzMiBmYl9kaXY7CisJfTsKKwl1MzIgcmVmX2RpdjsKKwlib29sIGVuYWJs ZV9wb3N0X2RpdjsKKwlib29sIGVuYWJsZV9kaXRoZW47CisJdTMyIHZjb19tb2RlOworCXUzMiBy ZWFsX2Nsb2NrOworfTsKKwogZXh0ZXJuIGVudW0gcmFkZW9uX3R2X3N0ZAogcmFkZW9uX2NvbWJp b3NfZ2V0X3R2X2luZm8oc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpOwogZXh0ZXJuIGVudW0g cmFkZW9uX3R2X3N0ZAotLSAKMS43LjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9kcmktZGV2ZWwK