From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: [PATCH 5/8] drm/msm/adreno: Move clock parsing to adreno_gpu_init() Date: Tue, 21 Nov 2017 12:40:55 -0700 Message-ID: <1511293258-12415-6-git-send-email-jcrouse@codeaurora.org> References: <1511293258-12415-1-git-send-email-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1511293258-12415-1-git-send-email-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org TW92ZSB0aGUgY2xvY2sgcGFyc2luZyB0byBhZHJlbm9fZ3B1X2luaXQoKSB0byBhbGxvdyBmb3Ig dGFyZ2V0CnNwZWNpZmljIHByb2JpbmcgYW5kIG1hbmlwdWxhdGlvbiBvZiB0aGUgY2xvY2sgdGFi bGVzLgoKU2lnbmVkLW9mZi1ieTogSm9yZGFuIENyb3VzZSA8amNyb3VzZUBjb2RlYXVyb3JhLm9y Zz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZGV2aWNlLmMgfCA3MiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9h ZHJlbm9fZ3B1LmMgICAgfCA3NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIGRyaXZl cnMvZ3B1L2RybS9tc20vYWRyZW5vL2FkcmVub19ncHUuaCAgICB8ICAxIC0KIDMgZmlsZXMgY2hh bmdlZCwgNzMgaW5zZXJ0aW9ucygrKSwgNzcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRyZW5vX2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJt L21zbS9hZHJlbm8vYWRyZW5vX2RldmljZS5jCmluZGV4IDgwZDI2YjkuLjI1MGZhMWUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2FkcmVub19kZXZpY2UuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZGV2aWNlLmMKQEAgLTE3LDcgKzE3LDYg QEAKICAqIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGlj ZW5zZXMvPi4KICAqLwogCi0jaW5jbHVkZSA8bGludXgvcG1fb3BwLmg+CiAjaW5jbHVkZSAiYWRy ZW5vX2dwdS5oIgogCiAjZGVmaW5lIEFOWV9JRCAweGZmCkBAIC0xOTYsNzAgKzE5NSw2IEBAIHN0 YXRpYyBpbnQgZmluZF9jaGlwaWQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgYWRyZW5vX3Jl diAqcmV2KQogCXJldHVybiAwOwogfQogCi0vKiBHZXQgbGVnYWN5IHBvd2VybGV2ZWxzIGZyb20g cWNvbSxncHUtcHdybGV2ZWxzIGFuZCBwb3B1bGF0ZSB0aGUgb3BwIHRhYmxlICovCi1zdGF0aWMg aW50IGFkcmVub19nZXRfbGVnYWN5X3B3cmxldmVscyhzdHJ1Y3QgZGV2aWNlICpkZXYpCi17Ci0J c3RydWN0IGRldmljZV9ub2RlICpjaGlsZCwgKm5vZGU7Ci0JaW50IHJldDsKLQotCW5vZGUgPSBv Zl9maW5kX2NvbXBhdGlibGVfbm9kZShkZXYtPm9mX25vZGUsIE5VTEwsCi0JCSJxY29tLGdwdS1w d3JsZXZlbHMiKTsKLQlpZiAoIW5vZGUpIHsKLQkJZGV2X2VycihkZXYsICJDb3VsZCBub3QgZmlu ZCB0aGUgR1BVIHBvd2VybGV2ZWxzXG4iKTsKLQkJcmV0dXJuIC1FTlhJTzsKLQl9Ci0KLQlmb3Jf ZWFjaF9jaGlsZF9vZl9ub2RlKG5vZGUsIGNoaWxkKSB7Ci0JCXVuc2lnbmVkIGludCB2YWw7Ci0K LQkJcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIoY2hpbGQsICJxY29tLGdwdS1mcmVxIiwgJnZh bCk7Ci0JCWlmIChyZXQpCi0JCQljb250aW51ZTsKLQotCQkvKgotCQkgKiBTa2lwIHRoZSBpbnRl bnRpb25hbGx5IGJvZ3VzIGNsb2NrIHZhbHVlIGZvdW5kIGF0IHRoZSBib3R0b20KLQkJICogb2Yg bW9zdCBsZWdhY3kgZnJlcXVlbmN5IHRhYmxlcwotCQkgKi8KLQkJaWYgKHZhbCAhPSAyNzAwMDAw MCkKLQkJCWRldl9wbV9vcHBfYWRkKGRldiwgdmFsLCAwKTsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0K LQotc3RhdGljIGludCBhZHJlbm9fZ2V0X3B3cmxldmVscyhzdHJ1Y3QgZGV2aWNlICpkZXYsCi0J CXN0cnVjdCBhZHJlbm9fcGxhdGZvcm1fY29uZmlnICpjb25maWcpCi17Ci0JdW5zaWduZWQgbG9u ZyBmcmVxID0gVUxPTkdfTUFYOwotCXN0cnVjdCBkZXZfcG1fb3BwICpvcHA7Ci0JaW50IHJldDsK LQotCS8qIFlvdSBkb3duIHdpdGggT1BQPyAqLwotCWlmICghb2ZfZmluZF9wcm9wZXJ0eShkZXYt Pm9mX25vZGUsICJvcGVyYXRpbmctcG9pbnRzLXYyIiwgTlVMTCkpCi0JCXJldCA9IGFkcmVub19n ZXRfbGVnYWN5X3B3cmxldmVscyhkZXYpOwotCWVsc2UKLQkJcmV0ID0gZGV2X3BtX29wcF9vZl9h ZGRfdGFibGUoZGV2KTsKLQotCWlmIChyZXQpCi0JCXJldHVybiByZXQ7Ci0KLQkvKiBGaW5kIHRo ZSBmYXN0ZXN0IGRlZmluZWQgcmF0ZSAqLwotCW9wcCA9IGRldl9wbV9vcHBfZmluZF9mcmVxX2Zs b29yKGRldiwgJmZyZXEpOwotCWlmICghSVNfRVJSKG9wcCkpIHsKLQkJY29uZmlnLT5mYXN0X3Jh dGUgPSBmcmVxOwotCQlkZXZfcG1fb3BwX3B1dChvcHApOwotCX0KLQotCWlmICghY29uZmlnLT5m YXN0X3JhdGUpIHsKLQkJRFJNX0RFVl9JTkZPKGRldiwKLQkJCSJDb3VsZCBub3QgZmluZCBjbG9j ayByYXRlLiBVc2luZyBkZWZhdWx0XG4iKTsKLQkJLyogUGljayBhIHN1aXRhYmx5IHNhZmUgY2xv Y2sgc3BlZWQgZm9yIGFueSB0YXJnZXQgKi8KLQkJY29uZmlnLT5mYXN0X3JhdGUgPSAyMDAwMDAw MDA7Ci0JfQotCi0JcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQgYWRyZW5vX2JpbmQoc3RydWN0 IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsIHZvaWQgKmRhdGEpCiB7CiAJc3Rh dGljIHN0cnVjdCBhZHJlbm9fcGxhdGZvcm1fY29uZmlnIGNvbmZpZyA9IHt9OwpAQCAtMjcyLDEz ICsyMDcsNiBAQCBzdGF0aWMgaW50IGFkcmVub19iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3Ry dWN0IGRldmljZSAqbWFzdGVyLCB2b2lkICpkYXRhKQogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7 CiAKLQkvKiBmaW5kIGNsb2NrIHJhdGVzOiAqLwotCWNvbmZpZy5mYXN0X3JhdGUgPSAwOwotCi0J cmV0ID0gYWRyZW5vX2dldF9wd3JsZXZlbHMoZGV2LCAmY29uZmlnKTsKLQlpZiAocmV0KQotCQly ZXR1cm4gcmV0OwotCiAJZGV2LT5wbGF0Zm9ybV9kYXRhID0gJmNvbmZpZzsKIAlzZXRfZ3B1X3Bk ZXYoZHJtLCB0b19wbGF0Zm9ybV9kZXZpY2UoZGV2KSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9tc20vYWRyZW5vL2FkcmVub19ncHUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRy ZW5vL2FkcmVub19ncHUuYwppbmRleCA2MWUzMDkxLi5iNGJhYzg0IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZ3B1LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L21zbS9hZHJlbm8vYWRyZW5vX2dwdS5jCkBAIC0xNyw2ICsxNyw3IEBACiAgKiB0aGlzIHByb2dy YW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAgKi8KIAor I2luY2x1ZGUgPGxpbnV4L3BtX29wcC5oPgogI2luY2x1ZGUgImFkcmVub19ncHUuaCIKICNpbmNs dWRlICJtc21fZ2VtLmgiCiAjaW5jbHVkZSAibXNtX21tdS5oIgpAQCAtNDY1LDYgKzQ2Niw3NiBA QCB2b2lkIGFkcmVub193YWl0X3Jpbmcoc3RydWN0IG1zbV9yaW5nYnVmZmVyICpyaW5nLCB1aW50 MzJfdCBuZHdvcmRzKQogCQkJcmluZy0+aWQpOwogfQogCisvKiBHZXQgbGVnYWN5IHBvd2VybGV2 ZWxzIGZyb20gcWNvbSxncHUtcHdybGV2ZWxzIGFuZCBwb3B1bGF0ZSB0aGUgb3BwIHRhYmxlICov CitzdGF0aWMgaW50IGFkcmVub19nZXRfbGVnYWN5X3B3cmxldmVscyhzdHJ1Y3QgZGV2aWNlICpk ZXYpCit7CisJc3RydWN0IGRldmljZV9ub2RlICpjaGlsZCwgKm5vZGU7CisJaW50IHJldDsKKwor CW5vZGUgPSBvZl9maW5kX2NvbXBhdGlibGVfbm9kZShkZXYtPm9mX25vZGUsIE5VTEwsCisJCSJx Y29tLGdwdS1wd3JsZXZlbHMiKTsKKwlpZiAoIW5vZGUpIHsKKwkJZGV2X2VycihkZXYsICJDb3Vs ZCBub3QgZmluZCB0aGUgR1BVIHBvd2VybGV2ZWxzXG4iKTsKKwkJcmV0dXJuIC1FTlhJTzsKKwl9 CisKKwlmb3JfZWFjaF9jaGlsZF9vZl9ub2RlKG5vZGUsIGNoaWxkKSB7CisJCXVuc2lnbmVkIGlu dCB2YWw7CisKKwkJcmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIoY2hpbGQsICJxY29tLGdwdS1m cmVxIiwgJnZhbCk7CisJCWlmIChyZXQpCisJCQljb250aW51ZTsKKworCQkvKgorCQkgKiBTa2lw IHRoZSBpbnRlbnRpb25hbGx5IGJvZ3VzIGNsb2NrIHZhbHVlIGZvdW5kIGF0IHRoZSBib3R0b20K KwkJICogb2YgbW9zdCBsZWdhY3kgZnJlcXVlbmN5IHRhYmxlcworCQkgKi8KKwkJaWYgKHZhbCAh PSAyNzAwMDAwMCkKKwkJCWRldl9wbV9vcHBfYWRkKGRldiwgdmFsLCAwKTsKKwl9CisKKwlyZXR1 cm4gMDsKK30KKworc3RhdGljIGludCBhZHJlbm9fZ2V0X3B3cmxldmVscyhzdHJ1Y3QgZGV2aWNl ICpkZXYsCisJCXN0cnVjdCBtc21fZ3B1ICpncHUpCit7CisJdW5zaWduZWQgbG9uZyBmcmVxID0g VUxPTkdfTUFYOworCXN0cnVjdCBkZXZfcG1fb3BwICpvcHA7CisJaW50IHJldDsKKworCWdwdS0+ ZmFzdF9yYXRlID0gMDsKKworCS8qIFlvdSBkb3duIHdpdGggT1BQPyAqLworCWlmICghb2ZfZmlu ZF9wcm9wZXJ0eShkZXYtPm9mX25vZGUsICJvcGVyYXRpbmctcG9pbnRzLXYyIiwgTlVMTCkpCisJ CXJldCA9IGFkcmVub19nZXRfbGVnYWN5X3B3cmxldmVscyhkZXYpOworCWVsc2UgeworCQlyZXQg PSBkZXZfcG1fb3BwX29mX2FkZF90YWJsZShkZXYpOworCQlpZiAocmV0KQorCQkJZGV2X2Vycihk ZXYsICJVbmFibGUgdG8gc2V0IHRoZSBPUFAgdGFibGVcbiIpOworCX0KKworCWlmICghcmV0KSB7 CisJCS8qIEZpbmQgdGhlIGZhc3Rlc3QgZGVmaW5lZCByYXRlICovCisJCW9wcCA9IGRldl9wbV9v cHBfZmluZF9mcmVxX2Zsb29yKGRldiwgJmZyZXEpOworCQlpZiAoIUlTX0VSUihvcHApKSB7CisJ CQlncHUtPmZhc3RfcmF0ZSA9IGZyZXE7CisJCQlkZXZfcG1fb3BwX3B1dChvcHApOworCQl9CisJ fQorCisJaWYgKCFncHUtPmZhc3RfcmF0ZSkgeworCQlkZXZfd2FybihkZXYsCisJCQkiQ291bGQg bm90IGZpbmQgYSBjbG9jayByYXRlLiBVc2luZyBhIHJlYXNvbmFibGUgZGVmYXVsdFxuIik7CisJ CS8qIFBpY2sgYSBzdWl0YWJseSBzYWZlIGNsb2NrIHNwZWVkIGZvciBhbnkgdGFyZ2V0ICovCisJ CWdwdS0+ZmFzdF9yYXRlID0gMjAwMDAwMDAwOworCX0KKworCURCRygiZmFzdF9yYXRlPSV1LCBz bG93X3JhdGU9MjcwMDAwMDAiLCBncHUtPmZhc3RfcmF0ZSk7CisKKwlyZXR1cm4gMDsKK30KKwog aW50IGFkcmVub19ncHVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLCBzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2LAogCQlzdHJ1Y3QgYWRyZW5vX2dwdSAqYWRyZW5vX2dwdSwKIAkJY29u c3Qgc3RydWN0IGFkcmVub19ncHVfZnVuY3MgKmZ1bmNzLCBpbnQgbnJfcmluZ3MpCkBAIC00Nzks MTAgKzU1MCw2IEBAIGludCBhZHJlbm9fZ3B1X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwg c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKIAlhZHJlbm9fZ3B1LT5yZXZuID0gYWRyZW5v X2dwdS0+aW5mby0+cmV2bjsKIAlhZHJlbm9fZ3B1LT5yZXYgPSBjb25maWctPnJldjsKIAotCWdw dS0+ZmFzdF9yYXRlID0gY29uZmlnLT5mYXN0X3JhdGU7Ci0KLQlEQkcoImZhc3RfcmF0ZT0ldSwg c2xvd19yYXRlPTI3MDAwMDAwIiwgZ3B1LT5mYXN0X3JhdGUpOwotCiAJYWRyZW5vX2dwdV9jb25m aWcuaW9uYW1lID0gImtnc2xfM2QwX3JlZ19tZW1vcnkiOwogCWFkcmVub19ncHVfY29uZmlnLmly cW5hbWUgPSAia2dzbF8zZDBfaXJxIjsKIApAQCAtNDkxLDYgKzU1OCw4IEBAIGludCBhZHJlbm9f Z3B1X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwgc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldiwKIAogCWFkcmVub19ncHVfY29uZmlnLm5yX3JpbmdzID0gbnJfcmluZ3M7CiAKKwlhZHJl bm9fZ2V0X3B3cmxldmVscygmcGRldi0+ZGV2LCBncHUpOworCiAJcG1fcnVudGltZV9zZXRfYXV0 b3N1c3BlbmRfZGVsYXkoJnBkZXYtPmRldiwgRFJNX01TTV9JTkFDVElWRV9QRVJJT0QpOwogCXBt X3J1bnRpbWVfdXNlX2F1dG9zdXNwZW5kKCZwZGV2LT5kZXYpOwogCXBtX3J1bnRpbWVfZW5hYmxl KCZwZGV2LT5kZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRy ZW5vX2dwdS5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRyZW5vX2dwdS5oCmluZGV4 IDg4ZDFiZGYuLjhkM2QwYTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5v L2FkcmVub19ncHUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZ3B1 LmgKQEAgLTEyOSw3ICsxMjksNiBAQCBzdHJ1Y3QgYWRyZW5vX2dwdSB7CiAvKiBwbGF0Zm9ybSBj b25maWcgZGF0YSAoaWUuIGZyb20gRFQsIG9yIHBkYXRhKSAqLwogc3RydWN0IGFkcmVub19wbGF0 Zm9ybV9jb25maWcgewogCXN0cnVjdCBhZHJlbm9fcmV2IHJldjsKLQl1aW50MzJfdCBmYXN0X3Jh dGU7CiB9OwogCiAjZGVmaW5lIEFEUkVOT19JRExFX1RJTUVPVVQgbXNlY3NfdG9famlmZmllcygx MDAwKQotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVk cmVubwo=