From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thierry Reding Subject: [PATCH 25/36] drm/tegra: dc: Store clock setup in atomic state Date: Tue, 20 Jan 2015 11:48:44 +0100 Message-ID: <1421750935-4023-26-git-send-email-thierry.reding@gmail.com> References: <1421750935-4023-1-git-send-email-thierry.reding@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1421750935-4023-1-git-send-email-thierry.reding@gmail.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: linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org List-Id: linux-tegra@vger.kernel.org RnJvbTogVGhpZXJyeSBSZWRpbmcgPHRyZWRpbmdAbnZpZGlhLmNvbT4KClRoaXMgYWxsb3dzIHRo ZSBjbG9jayBzZXR1cCB0byBiZSBzZXBhcmF0ZWQgZnJvbSB0aGUgY2xvY2sgcHJvZ3JhbW1pbmcK YW5kIGJldHRlciBtYXRjaGVzIHRoZSBleHBlY3RhdGlvbnMgb2YgdGhlIGF0b21pYyBtb2Rlc2V0 dGluZyB3aGVyZSBubwpjb2RlIHBhdGhzIG11c3QgZmFpbCBkdXJpbmcgbW9kZXNldC4KClNpZ25l ZC1vZmYtYnk6IFRoaWVycnkgUmVkaW5nIDx0cmVkaW5nQG52aWRpYS5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL3RlZ3JhL2RjLmMgIHwgNzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vdGVncmEvZHJtLmggfCAgNCArKysKIDIg ZmlsZXMgY2hhbmdlZCwgNzcgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9k Yy5jCmluZGV4IDQ2OWJmYTBmZTA5Ni4uMWQ4MDUyYThkNGMzIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vdGVncmEvZGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZGMuYwpAQCAt NDgsNiArNDgsMjIgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgdGVncmFfcGxhbmUgKnRvX3RlZ3Jh X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQogCXJldHVybiBjb250YWluZXJfb2YocGxh bmUsIHN0cnVjdCB0ZWdyYV9wbGFuZSwgYmFzZSk7CiB9CiAKK3N0cnVjdCB0ZWdyYV9kY19zdGF0 ZSB7CisJc3RydWN0IGRybV9jcnRjX3N0YXRlIGJhc2U7CisKKwlzdHJ1Y3QgY2xrICpjbGs7CisJ dW5zaWduZWQgbG9uZyBwY2xrOworCXVuc2lnbmVkIGludCBkaXY7Cit9OworCitzdGF0aWMgaW5s aW5lIHN0cnVjdCB0ZWdyYV9kY19zdGF0ZSAqdG9fZGNfc3RhdGUoc3RydWN0IGRybV9jcnRjX3N0 YXRlICpzdGF0ZSkKK3sKKwlpZiAoc3RhdGUpCisJCXJldHVybiBjb250YWluZXJfb2Yoc3RhdGUs IHN0cnVjdCB0ZWdyYV9kY19zdGF0ZSwgYmFzZSk7CisKKwlyZXR1cm4gTlVMTDsKK30KKwogc3Rh dGljIHZvaWQgdGVncmFfZGNfd2luZG93X2NvbW1pdChzdHJ1Y3QgdGVncmFfZGMgKmRjLCB1bnNp Z25lZCBpbnQgaW5kZXgpCiB7CiAJdTMyIHZhbHVlID0gV0lOX0FfQUNUX1JFUSA8PCBpbmRleDsK QEAgLTEwMTEsMTMgKzEwMjcsNDggQEAgc3RhdGljIHZvaWQgdGVncmFfZGNfZGVzdHJveShzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCiAJZHJtX2NydGNfY2xlYW51cChjcnRjKTsKIH0KIAorc3RhdGlj IHZvaWQgdGVncmFfY3J0Y19yZXNldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCit7CisJc3RydWN0 IHRlZ3JhX2RjX3N0YXRlICpzdGF0ZTsKKworCWtmcmVlKGNydGMtPnN0YXRlKTsKKwljcnRjLT5z dGF0ZSA9IE5VTEw7CisKKwlzdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKCpzdGF0ZSksIEdGUF9LRVJO RUwpOworCWlmIChzdGF0ZSkKKwkJY3J0Yy0+c3RhdGUgPSAmc3RhdGUtPmJhc2U7Cit9CisKK3N0 YXRpYyBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKgordGVncmFfY3J0Y19hdG9taWNfZHVwbGljYXRl X3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKK3sKKwlzdHJ1Y3QgdGVncmFfZGNfc3RhdGUg KnN0YXRlID0gdG9fZGNfc3RhdGUoY3J0Yy0+c3RhdGUpOworCXN0cnVjdCB0ZWdyYV9kY19zdGF0 ZSAqY29weTsKKworCWNvcHkgPSBrbWVtZHVwKHN0YXRlLCBzaXplb2YoKnN0YXRlKSwgR0ZQX0tF Uk5FTCk7CisJaWYgKCFjb3B5KQorCQlyZXR1cm4gTlVMTDsKKworCWNvcHktPmJhc2UubW9kZV9j aGFuZ2VkID0gZmFsc2U7CisJY29weS0+YmFzZS5wbGFuZXNfY2hhbmdlZCA9IGZhbHNlOworCWNv cHktPmJhc2UuZXZlbnQgPSBOVUxMOworCisJcmV0dXJuICZjb3B5LT5iYXNlOworfQorCitzdGF0 aWMgdm9pZCB0ZWdyYV9jcnRjX2F0b21pY19kZXN0cm95X3N0YXRlKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKKwkJCQkJICAgIHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpCit7CisJa2ZyZWUo c3RhdGUpOworfQorCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzIHRlZ3JhX2Ny dGNfZnVuY3MgPSB7CiAJLnBhZ2VfZmxpcCA9IHRlZ3JhX2RjX3BhZ2VfZmxpcCwKIAkuc2V0X2Nv bmZpZyA9IGRybV9jcnRjX2hlbHBlcl9zZXRfY29uZmlnLAogCS5kZXN0cm95ID0gdGVncmFfZGNf ZGVzdHJveSwKLQkucmVzZXQgPSBkcm1fYXRvbWljX2hlbHBlcl9jcnRjX3Jlc2V0LAotCS5hdG9t aWNfZHVwbGljYXRlX3N0YXRlID0gZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kdXBsaWNhdGVfc3Rh dGUsCi0JLmF0b21pY19kZXN0cm95X3N0YXRlID0gZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0 cm95X3N0YXRlLAorCS5yZXNldCA9IHRlZ3JhX2NydGNfcmVzZXQsCisJLmF0b21pY19kdXBsaWNh dGVfc3RhdGUgPSB0ZWdyYV9jcnRjX2F0b21pY19kdXBsaWNhdGVfc3RhdGUsCisJLmF0b21pY19k ZXN0cm95X3N0YXRlID0gdGVncmFfY3J0Y19hdG9taWNfZGVzdHJveV9zdGF0ZSwKIH07CiAKIHN0 YXRpYyB2b2lkIHRlZ3JhX2RjX3N0b3Aoc3RydWN0IHRlZ3JhX2RjICpkYykKQEAgLTExNTUsNiAr MTIwNiwyNSBAQCBpbnQgdGVncmFfZGNfc2V0dXBfY2xvY2soc3RydWN0IHRlZ3JhX2RjICpkYywg c3RydWN0IGNsayAqcGFyZW50LAogCXJldHVybiAwOwogfQogCitpbnQgdGVncmFfZGNfc3RhdGVf c2V0dXBfY2xvY2soc3RydWN0IHRlZ3JhX2RjICpkYywKKwkJCSAgICAgICBzdHJ1Y3QgZHJtX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUsCisJCQkgICAgICAgc3RydWN0IGNsayAqY2xrLCB1bnNpZ25l ZCBsb25nIHBjbGssCisJCQkgICAgICAgdW5zaWduZWQgaW50IGRpdikKK3sKKwlzdHJ1Y3QgdGVn cmFfZGNfc3RhdGUgKnN0YXRlID0gdG9fZGNfc3RhdGUoY3J0Y19zdGF0ZSk7CisJaW50IGVycjsK KworCWVyciA9IGNsa190cnlfcGFyZW50KGRjLT5jbGssIGNsayk7CisJaWYgKGVyciA8IDApCisJ CXJldHVybiBlcnI7CisKKwlzdGF0ZS0+Y2xrID0gY2xrOworCXN0YXRlLT5wY2xrID0gcGNsazsK KwlzdGF0ZS0+ZGl2ID0gZGl2OworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyB2b2lkIHRlZ3Jh X2NydGNfbW9kZV9zZXRfbm9mYihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiB7CiAJc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGUgPSAmY3J0Yy0+c3RhdGUtPmFkanVzdGVkX21vZGU7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZHJtLmggYi9kcml2ZXJzL2dwdS9kcm0vdGVn cmEvZHJtLmgKaW5kZXggYmYxYzQ3ZWM0NmI2Li4zZGI3MTlkZTMxMmYgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS90ZWdyYS9kcm0uaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvZHJt LmgKQEAgLTE4MCw2ICsxODAsMTAgQEAgdm9pZCB0ZWdyYV9kY19jYW5jZWxfcGFnZV9mbGlwKHN0 cnVjdCBkcm1fY3J0YyAqY3J0Yywgc3RydWN0IGRybV9maWxlICpmaWxlKTsKIHZvaWQgdGVncmFf ZGNfY29tbWl0KHN0cnVjdCB0ZWdyYV9kYyAqZGMpOwogaW50IHRlZ3JhX2RjX3NldHVwX2Nsb2Nr KHN0cnVjdCB0ZWdyYV9kYyAqZGMsIHN0cnVjdCBjbGsgKnBhcmVudCwKIAkJCSB1bnNpZ25lZCBs b25nIHBjbGssIHVuc2lnbmVkIGludCBkaXYpOworaW50IHRlZ3JhX2RjX3N0YXRlX3NldHVwX2Ns b2NrKHN0cnVjdCB0ZWdyYV9kYyAqZGMsCisJCQkgICAgICAgc3RydWN0IGRybV9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlLAorCQkJICAgICAgIHN0cnVjdCBjbGsgKmNsaywgdW5zaWduZWQgbG9uZyBw Y2xrLAorCQkJICAgICAgIHVuc2lnbmVkIGludCBkaXYpOwogCiBzdHJ1Y3QgdGVncmFfb3V0cHV0 IHsKIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKm9mX25vZGU7Ci0tIAoyLjEuMwoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK