From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 12/12] ASoC: AMD: add ACP PCM driver runtime PM Date: Thu, 6 Aug 2015 10:25:12 -0400 Message-ID: <1438871112-25946-12-git-send-email-alexander.deucher@amd.com> References: <1438871112-25946-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-yk0-f180.google.com (mail-yk0-f180.google.com [209.85.160.180]) by gabe.freedesktop.org (Postfix) with ESMTPS id 64E216EBD9 for ; Thu, 6 Aug 2015 07:25:30 -0700 (PDT) Received: by ykoo205 with SMTP id o205so63595169yko.0 for ; Thu, 06 Aug 2015 07:25:29 -0700 (PDT) In-Reply-To: <1438871112-25946-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: broonie@kernel.org, airlied@gmail.com, dri-devel@lists.freedesktop.org, alsa-devel@alsa-project.org Cc: Maruthi Srinivas Bayyavarapu , lgirdwood@gmail.com, perex@perex.cz List-Id: dri-devel@lists.freedesktop.org RnJvbTogTWFydXRoaSBTcmluaXZhcyBCYXl5YXZhcmFwdSA8TWFydXRoaS5CYXl5YXZhcmFwdUBh bWQuY29tPgoKQWRkZWQgcnVudGltZSBQTSBmdW5jdGlvbmFsaXR5IHRvIEFNRCBJMlMgZHJpdmVy LiBUaGlzIHVzZXMKZnVuY3Rpb25hbGl0eSBmcm9tIEFDUCBJUCBtZXRob2RzLgoKU2lnbmVkLW9m Zi1ieTogTWFydXRoaSBCYXl5YXZhcmFwdSA8bWFydXRoaS5iYXl5YXZhcmFwdUBhbWQuY29tPgpS ZXZpZXdlZC1ieTogQWxleCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgpSZXZp ZXdlZC1ieTogTXVyYWxpIEtyaXNobmEgVmVtdXJpIDxtdXJhbGkta3Jpc2huYS52ZW11cmlAYW1k LmNvbT4KLS0tCiBzb3VuZC9zb2MvYW1kL2FjcC1wY20tZG1hLmMgfCA4NyArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA3NyBpbnNl cnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvYW1kL2Fj cC1wY20tZG1hLmMgYi9zb3VuZC9zb2MvYW1kL2FjcC1wY20tZG1hLmMKaW5kZXggZGIwOWI3Ny4u N2UwZTVjYiAxMDA2NDQKLS0tIGEvc291bmQvc29jL2FtZC9hY3AtcGNtLWRtYS5jCisrKyBiL3Nv dW5kL3NvYy9hbWQvYWNwLXBjbS1kbWEuYwpAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPGxp bnV4L2Vyci5oPgogI2luY2x1ZGUgPGxpbnV4L2lvLmg+CiAjaW5jbHVkZSA8bGludXgvcGNpLmg+ CisjaW5jbHVkZSA8bGludXgvcG1fcnVudGltZS5oPgogCiAjaW5jbHVkZSA8c291bmQvcGNtLmg+ CiAjaW5jbHVkZSA8c291bmQvcGNtX3BhcmFtcy5oPgpAQCAtMzc5LDEwICszODAsMTIgQEAgc3Rh dGljIGludCBhY3BfZG1hX2Nsb3NlKHN0cnVjdCBzbmRfcGNtX3N1YnN0cmVhbSAqc3Vic3RyZWFt KQogCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnJ1bnRpbWUgPSBzdWJzdHJlYW0tPnJ1bnRpbWU7 CiAJc3RydWN0IGF1ZGlvX3N1YnN0cmVhbV9kYXRhICpydGQgPSBydW50aW1lLT5wcml2YXRlX2Rh dGE7CiAKKwlzdHJ1Y3Qgc25kX3NvY19wY21fcnVudGltZSAqcHJ0ZCA9IHN1YnN0cmVhbS0+cHJp dmF0ZV9kYXRhOwogCWtmcmVlKHJ0ZC0+ZG1hX2NvbmZpZyk7CiAJa2ZyZWUocnRkLT5pMnNfY29u ZmlnKTsKIAlrZnJlZShydGQpOwogCisJcG1fcnVudGltZV9tYXJrX2xhc3RfYnVzeShwcnRkLT5w bGF0Zm9ybS0+ZGV2KTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNjEwLDYgKzYxMywxMCBAQCBzdGF0 aWMgaW50IGFjcF9hbWRzb2NfcHJvYmUoc3RydWN0IGFtZF9nbmJfYnVzX2RldiAqYWRldikKIAll bHNlCiAJCXByX2VycigiQUNQIGluaXRpYWxpemF0aW9uIEZhaWxlZFxuIik7CiAKKwlwbV9ydW50 aW1lX3NldF9hdXRvc3VzcGVuZF9kZWxheSgmYWRldi0+ZGV2LCAxMDAwMCk7CisJcG1fcnVudGlt ZV91c2VfYXV0b3N1c3BlbmQoJmFkZXYtPmRldik7CisJcG1fcnVudGltZV9lbmFibGUoJmFkZXYt PmRldik7CisKIAlyZXR1cm4gc3RhdHVzOwogfQogCkBAIC02MjEsMzYgKzYyOCw5NiBAQCBzdGF0 aWMgaW50IGFjcF9hbWRzb2NfcmVtb3ZlKHN0cnVjdCBhbWRfZ25iX2J1c19kZXYgKmFkZXYpCiAJ c25kX3NvY191bnJlZ2lzdGVyX3BsYXRmb3JtKCZhZGV2LT5kZXYpOwogCiAJYWNwX2Rldi0+Zmlu aShhY3BfZGV2KTsKLQorCXBtX3J1bnRpbWVfZGlzYWJsZSgmYWRldi0+ZGV2KTsKIAlyZXR1cm4g MDsKIH0KIAogc3RhdGljIGludCBhY3BfcGNtX3N1c3BlbmQoc3RydWN0IGRldmljZSAqZGV2KQog eworCWJvb2wgcG1fcnRzOworCXN0cnVjdCBhdWRpb19kcnZfZGF0YSAqYWRhdGEgPQorCSAgICAo c3RydWN0IGF1ZGlvX2Rydl9kYXRhICopZGV2X2dldF9kcnZkYXRhKGRldik7CisKKwlwbV9ydHMg PSBwbV9ydW50aW1lX3N0YXR1c19zdXNwZW5kZWQoZGV2KTsKKwlpZiAocG1fcnRzID09IGZhbHNl KQorCQlhZGF0YS0+YWNwX2Rldi0+ZmluaShhZGF0YS0+YWNwX2Rldik7CisKIAlyZXR1cm4gMDsK IH0KIAogc3RhdGljIGludCBhY3BfcGNtX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7Ci0J c3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW07Ci0Jc3RydWN0IHNuZF9wY21fcnVu dGltZSAqcnVudGltZTsKKwlib29sIHBtX3J0czsKKwlzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0g KnBzdHJlYW0sICpjc3RyZWFtOworCXN0cnVjdCBzbmRfcGNtX3J1bnRpbWUgKnBydGQsICpjcnRk OwogCXN0cnVjdCBhdWRpb19zdWJzdHJlYW1fZGF0YSAqcnRkOwogCi0Jc3RydWN0IGF1ZGlvX2Ry dl9kYXRhICppcnFfZGF0YSA9CisJc3RydWN0IGF1ZGlvX2Rydl9kYXRhICphZGF0YSA9CiAJICAg IChzdHJ1Y3QgYXVkaW9fZHJ2X2RhdGEgKilkZXZfZ2V0X2RydmRhdGEoZGV2KTsKIAotCXN1YnN0 cmVhbSA9IGlycV9kYXRhLT5wbGF5X3N0cmVhbTsKLQlydW50aW1lID0gc3Vic3RyZWFtLT5ydW50 aW1lOwotCXJ0ZCA9IHJ1bnRpbWUtPnByaXZhdGVfZGF0YTsKKwlwbV9ydHMgPSBwbV9ydW50aW1l X3N0YXR1c19zdXNwZW5kZWQoZGV2KTsKKwlpZiAocG1fcnRzID09IHRydWUpIHsKKwkJLyogUmVz dW1lZCBmcm9tIHN5c3RlbSB3aWRlIHN1c3BlbmQgYW5kIHRoZXJlIGlzCisJCSAqIG5vIHBlbmRp bmcgYXVkaW8gYWN0aXZpdHkgdG8gcmVzdW1lLiAqLworCQlwbV9ydW50aW1lX2Rpc2FibGUoZGV2 KTsKKwkJcG1fcnVudGltZV9zZXRfYWN0aXZlKGRldik7CisJCXBtX3J1bnRpbWVfZW5hYmxlKGRl dik7CisKKwkJZ290byBvdXQ7CisJfQogCi0JaXJxX2RhdGEtPmFjcF9kZXYtPmNvbmZpZ19pMnMo aXJxX2RhdGEtPmFjcF9kZXYsIHJ0ZC0+aTJzX2NvbmZpZyk7Ci0JaXJxX2RhdGEtPmFjcF9kZXYt PmNvbmZpZ19kbWEoaXJxX2RhdGEtPmFjcF9kZXYsIHJ0ZC0+ZG1hX2NvbmZpZyk7CisJcHN0cmVh bSA9IGFkYXRhLT5wbGF5X3N0cmVhbTsKKwlwcnRkID0gcHN0cmVhbSA/IHBzdHJlYW0tPnJ1bnRp bWUgOiBOVUxMOworCWlmIChwcnRkICE9IE5VTEwpIHsKKwkJLyogUmVzdW1lIHBsYXliYWNrIHN0 cmVhbSBmcm9tIGEgc3VzcGVuZGVkIHN0YXRlICovCisJCXJ0ZCA9IHBydGQtPnByaXZhdGVfZGF0 YTsKIAorCQlhZGF0YS0+YWNwX2Rldi0+Y29uZmlnX2RtYShhZGF0YS0+YWNwX2RldiwgcnRkLT5k bWFfY29uZmlnKTsKKwkJYWRhdGEtPmFjcF9kZXYtPmNvbmZpZ19pMnMoYWRhdGEtPmFjcF9kZXYs IHJ0ZC0+aTJzX2NvbmZpZyk7CisJfQorCisJY3N0cmVhbSA9IGFkYXRhLT5jYXB0dXJlX3N0cmVh bTsKKwljcnRkID0gIGNzdHJlYW0gPyBjc3RyZWFtLT5ydW50aW1lIDogTlVMTDsKKwlpZiAoY3J0 ZCAhPSBOVUxMKSB7CisJCS8qIFJlc3VtZSBjYXB0dXJlIHN0cmVhbSBmcm9tIGEgc3VzcGVuZGVk IHN0YXRlICovCisJCXJ0ZCA9IGNydGQtPnByaXZhdGVfZGF0YTsKKworCQlhZGF0YS0+YWNwX2Rl di0+Y29uZmlnX2RtYShhZGF0YS0+YWNwX2RldiwgcnRkLT5kbWFfY29uZmlnKTsKKwkJYWRhdGEt PmFjcF9kZXYtPmNvbmZpZ19pMnMoYWRhdGEtPmFjcF9kZXYsIHJ0ZC0+aTJzX2NvbmZpZyk7CisJ fQorb3V0OgorCXJldHVybiAwOworfQorCitpbnQgYWNwX3BjbV9ydW50aW1lX3N1c3BlbmQoc3Ry dWN0IGRldmljZSAqZGV2KQoreworCXN0cnVjdCBhdWRpb19kcnZfZGF0YSAqYWRhdGEgPQorCSAg ICAoc3RydWN0IGF1ZGlvX2Rydl9kYXRhICopZGV2X2dldF9kcnZkYXRhKGRldik7CisKKwlhZGF0 YS0+YWNwX2Rldi0+YWNwX3N1c3BlbmQoYWRhdGEtPmFjcF9kZXYpOworCXJldHVybiAwOworfQor CitpbnQgYWNwX3BjbV9ydW50aW1lX3Jlc3VtZShzdHJ1Y3QgZGV2aWNlICpkZXYpCit7CisJc3Ry dWN0IGF1ZGlvX2Rydl9kYXRhICphZGF0YSA9CisJICAgIChzdHJ1Y3QgYXVkaW9fZHJ2X2RhdGEg KilkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKworCWFkYXRhLT5hY3BfZGV2LT5hY3BfcmVzdW1lKGFk YXRhLT5hY3BfZGV2KTsKKwlyZXR1cm4gMDsKK30KKworaW50IGFjcF9wY21fcnVudGltZV9pZGxl KHN0cnVjdCBkZXZpY2UgKmRldikKK3sKIAlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGNvbnN0IHN0 cnVjdCBkZXZfcG1fb3BzIGFjcF9wbV9vcHMgPSB7Ci0JU0VUX1NZU1RFTV9TTEVFUF9QTV9PUFMo YWNwX3BjbV9zdXNwZW5kLCBhY3BfcGNtX3Jlc3VtZSkKKwkuc3VzcGVuZCA9IGFjcF9wY21fc3Vz cGVuZCwKKwkucmVzdW1lID0gYWNwX3BjbV9yZXN1bWUsCisJLnJ1bnRpbWVfc3VzcGVuZCA9IGFj cF9wY21fcnVudGltZV9zdXNwZW5kLAorCS5ydW50aW1lX3Jlc3VtZSA9IGFjcF9wY21fcnVudGlt ZV9yZXN1bWUsCisJLnJ1bnRpbWVfaWRsZSA9IGFjcF9wY21fcnVudGltZV9pZGxlCiB9OwogCiBz dGF0aWMgc3RydWN0IGFtZF9nbmJfYnVzX2RyaXZlciBhY3BfZG1hX2RyaXZlciA9IHsKLS0gCjEu OC4zLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==