From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 6/6 v4] ASoC: AMD: Add machine driver for cz rt5650 Date: Wed, 13 Sep 2017 13:57:55 -0400 Message-ID: <1505325475-22602-7-git-send-email-alexander.deucher@amd.com> References: <1505325475-22602-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: In-Reply-To: <1505325475-22602-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: amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, airlied@gmail.com, alsa-devel@alsa-project.org, broonie@kernel.org, Vijendar.Mukunda@amd.com, rajeevkumar.linux@gmail.com, perex@perex.cz Cc: Alex Deucher , Dylan Reid , lgirdwood@gmail.com, Akshu Agrawal List-Id: alsa-devel@alsa-project.org RnJvbTogQWtzaHUgQWdyYXdhbCA8YWtzaHUuYWdyYXdhbEBhbWQuY29tPgoKVGhlIGRyaXZlciBp cyB1c2VkIGZvciBBTUQgYm9hcmQgdXNpbmcgcnQ1NjUwIGNvZGVjLgoKUmV2aWV3ZWQtYnk6IEFs ZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KU2lnbmVkLW9mZi1ieTogQWtz aHUgQWdyYXdhbCA8YWtzaHUuYWdyYXdhbEBhbWQuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbGV4IERl dWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+ClNpZ25lZC1vZmYtYnk6IER5bGFuIFJl aWQgPGRncmVpZEBjaHJvbWl1bS5vcmc+Ci0tLQoKdjI6IENoYW5nZSBBQ1BJIElEIHRvIEFNREkx MDAyCnYzOiBhZGQgUi1iLCByZXNlbmQKdjQ6IEZpeCBhdWRpbyBqYWNrIGlzc3VlIChEeWxhbiBS ZWlkKQogICAgRml4IEtjb25maWcKICAgIFVzZSBkZXZtX3NuZF9zb2NfcmVnaXN0ZXJfY2FyZAog ICAgQWRkIE1PRFVMRV9ERVZJQ0VfVEFCTEUKCiBzb3VuZC9zb2MvYW1kL0tjb25maWcgICAgICB8 ICAgNyArKwogc291bmQvc29jL2FtZC9NYWtlZmlsZSAgICAgfCAgIDIgKwogc291bmQvc29jL2Ft ZC9hY3AtcnQ1NjQ1LmMgfCAxOTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDIwOCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc291bmQvc29jL2FtZC9hY3AtcnQ1NjQ1LmMKCmRpZmYgLS1naXQgYS9zb3VuZC9z b2MvYW1kL0tjb25maWcgYi9zb3VuZC9zb2MvYW1kL0tjb25maWcKaW5kZXggNzgxODdlYi4uZDU4 Mzg0MCAxMDA2NDQKLS0tIGEvc291bmQvc29jL2FtZC9LY29uZmlnCisrKyBiL3NvdW5kL3NvYy9h bWQvS2NvbmZpZwpAQCAtMiwzICsyLDEwIEBAIGNvbmZpZyBTTkRfU09DX0FNRF9BQ1AKIAl0cmlz dGF0ZSAiQU1EIEF1ZGlvIENvcHJvY2Vzc29yIHN1cHBvcnQiCiAJaGVscAogCSBUaGlzIG9wdGlv biBlbmFibGVzIEFDUCBETUEgc3VwcG9ydCBvbiBBTUQgcGxhdGZvcm0uCisKK2NvbmZpZyBTTkRf U09DX0FNRF9DWl9SVDU2NDVfTUFDSAorCXRyaXN0YXRlICJBTUQgQ1ogc3VwcG9ydCBmb3IgUlQ1 NjQ1IgorCXNlbGVjdCBTTkRfU09DX1JUNTY0NQorCWRlcGVuZHMgb24gU05EX1NPQ19BTURfQUNQ ICYmIEkyQworCWhlbHAKKwkgVGhpcyBvcHRpb24gZW5hYmxlcyBtYWNoaW5lIGRyaXZlciBmb3Ig cnQ1NjQ1LgpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2FtZC9NYWtlZmlsZSBiL3NvdW5kL3NvYy9h bWQvTWFrZWZpbGUKaW5kZXggMWE2NmVjMC4uZWVkNjRmZiAxMDA2NDQKLS0tIGEvc291bmQvc29j L2FtZC9NYWtlZmlsZQorKysgYi9zb3VuZC9zb2MvYW1kL01ha2VmaWxlCkBAIC0xLDMgKzEsNSBA QAogc25kLXNvYy1hY3AtcGNtLW9ianMJOj0gYWNwLXBjbS1kbWEubworc25kLXNvYy1hY3AtcnQ1 NjQ1LW1hY2gtb2JqcyA6PSBhY3AtcnQ1NjQ1Lm8KIAogb2JqLSQoQ09ORklHX1NORF9TT0NfQU1E X0FDUCkgKz0gc25kLXNvYy1hY3AtcGNtLm8KK29iai0kKENPTkZJR19TTkRfU09DX0FNRF9DWl9S VDU2NDVfTUFDSCkgKz0gc25kLXNvYy1hY3AtcnQ1NjQ1LW1hY2gubwpkaWZmIC0tZ2l0IGEvc291 bmQvc29jL2FtZC9hY3AtcnQ1NjQ1LmMgYi9zb3VuZC9zb2MvYW1kL2FjcC1ydDU2NDUuYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDFhZWQ2Ci0tLSAvZGV2L251bGwKKysr IGIvc291bmQvc29jL2FtZC9hY3AtcnQ1NjQ1LmMKQEAgLTAsMCArMSwxOTkgQEAKKy8qCisgKiBN YWNoaW5lIGRyaXZlciBmb3IgQU1EIEFDUCBBdWRpbyBlbmdpbmUgdXNpbmcgUmVhbHRlayBSVDU2 NDUgY29kZWMKKyAqCisgKiBDb3B5cmlnaHQgMjAxNyBBZHZhbmNlZCBNaWNybyBEZXZpY2VzLCBJ bmMuCisgKgorICogVGhpcyBmaWxlIGlzIG1vZGlmaWVkIGZyb20gcnQyODggbWFjaGluZSBkcml2 ZXIKKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBh c3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKKyAqIHRvIGRl YWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0 IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBw dWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAorICogYW5kL29yIHNlbGwgY29waWVzIG9m IHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCisgKiBTb2Z0 d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25k aXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p c3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisgKiBhbGwgY29waWVzIG9yIHN1YnN0 YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMg UFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBP UgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElF UyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBDT1BZUklH SFQgSE9MREVSKFMpIE9SIEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdF UyBPUgorICogT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFD VCwgVE9SVCBPUiBPVEhFUldJU0UsCisgKiBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05O RUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IKKyAqIE9USEVSIERFQUxJTkdT IElOIFRIRSBTT0ZUV0FSRS4KKyAqCisgKgorICovCisKKyNpbmNsdWRlIDxzb3VuZC9jb3JlLmg+ CisjaW5jbHVkZSA8c291bmQvc29jLmg+CisjaW5jbHVkZSA8c291bmQvcGNtLmg+CisjaW5jbHVk ZSA8c291bmQvcGNtX3BhcmFtcy5oPgorI2luY2x1ZGUgPHNvdW5kL3NvYy1kYXBtLmg+CisjaW5j bHVkZSA8c291bmQvamFjay5oPgorI2luY2x1ZGUgPGxpbnV4L2dwaW8uaD4KKyNpbmNsdWRlIDxs aW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4KKyNpbmNsdWRlIDxsaW51eC9h Y3BpLmg+CisKKyNpbmNsdWRlICIuLi9jb2RlY3MvcnQ1NjQ1LmgiCisKKyNkZWZpbmUgQ1pfUExB VF9DTEsgMjQwMDAwMDAKKworc3RhdGljIHN0cnVjdCBzbmRfc29jX2phY2sgY3pfamFjazsKKwor c3RhdGljIGludCBjel9haWYxX2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1 YnN0cmVhbSwKKwkJCSAgICAgc3RydWN0IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMpCit7CisJ aW50IHJldCA9IDA7CisJc3RydWN0IHNuZF9zb2NfcGNtX3J1bnRpbWUgKnJ0ZCA9IHN1YnN0cmVh bS0+cHJpdmF0ZV9kYXRhOworCXN0cnVjdCBzbmRfc29jX2RhaSAqY29kZWNfZGFpID0gcnRkLT5j b2RlY19kYWk7CisKKwlyZXQgPSBzbmRfc29jX2RhaV9zZXRfcGxsKGNvZGVjX2RhaSwgMCwgUlQ1 NjQ1X1BMTDFfU19NQ0xLLAorCQkJCSAgQ1pfUExBVF9DTEssIHBhcmFtc19yYXRlKHBhcmFtcykg KiA1MTIpOworCWlmIChyZXQgPCAwKSB7CisJCWRldl9lcnIocnRkLT5kZXYsICJjYW4ndCBzZXQg Y29kZWMgcGxsOiAlZFxuIiwgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwlyZXQgPSBzbmRf c29jX2RhaV9zZXRfc3lzY2xrKGNvZGVjX2RhaSwgUlQ1NjQ1X1NDTEtfU19QTEwxLAorCQkJCXBh cmFtc19yYXRlKHBhcmFtcykgKiA1MTIsIFNORF9TT0NfQ0xPQ0tfT1VUKTsKKwlpZiAocmV0IDwg MCkgeworCQlkZXZfZXJyKHJ0ZC0+ZGV2LCAiY2FuJ3Qgc2V0IGNvZGVjIHN5c2NsazogJWRcbiIs IHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGlu dCBjel9pbml0KHN0cnVjdCBzbmRfc29jX3BjbV9ydW50aW1lICpydGQpCit7CisJaW50IHJldDsK KwlzdHJ1Y3Qgc25kX3NvY19jYXJkICpjYXJkOworCXN0cnVjdCBzbmRfc29jX2NvZGVjICpjb2Rl YzsKKworCWNvZGVjID0gcnRkLT5jb2RlYzsKKwljYXJkID0gcnRkLT5jYXJkOworCisJcmV0ID0g c25kX3NvY19jYXJkX2phY2tfbmV3KGNhcmQsICJIZWFkc2V0IEphY2siLAorCQkJCVNORF9KQUNL X0hFQURQSE9ORSB8IFNORF9KQUNLX01JQ1JPUEhPTkUgfAorCQkJCVNORF9KQUNLX0JUTl8wIHwg U05EX0pBQ0tfQlROXzEgfAorCQkJCVNORF9KQUNLX0JUTl8yIHwgU05EX0pBQ0tfQlROXzMsCisJ CQkJJmN6X2phY2ssIE5VTEwsIDApOworCWlmIChyZXQpIHsKKwkJZGV2X2VycihjYXJkLT5kZXYs ICJIUCBqYWNrIGNyZWF0aW9uIGZhaWxlZCAlZFxuIiwgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9 CisKKwlydDU2NDVfc2V0X2phY2tfZGV0ZWN0KGNvZGVjLCAmY3pfamFjaywgJmN6X2phY2ssICZj el9qYWNrKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHNuZF9zb2Nfb3BzIGN6 X2FpZjFfb3BzID0geworCS5od19wYXJhbXMgPSBjel9haWYxX2h3X3BhcmFtcywKK307CisKK3N0 YXRpYyBzdHJ1Y3Qgc25kX3NvY19kYWlfbGluayBjel9kYWlfcnQ1NjUwW10gPSB7CisJeworCQku bmFtZSA9ICJhbWQtcnQ1NjQ1LXBsYXkiLAorCQkuc3RyZWFtX25hbWUgPSAiUlQ1NjQ1X0FJRjEi LAorCQkucGxhdGZvcm1fbmFtZSA9ICJhY3BfYXVkaW9fZG1hLjAuYXV0byIsCisJCS5jcHVfZGFp X25hbWUgPSAiZGVzaWdud2FyZS1pMnMuMS5hdXRvIiwKKwkJLmNvZGVjX2RhaV9uYW1lID0gInJ0 NTY0NS1haWYxIiwKKwkJLmNvZGVjX25hbWUgPSAiaTJjLTEwRUM1NjUwOjAwIiwKKwkJLmRhaV9m bXQgPSBTTkRfU09DX0RBSUZNVF9JMlMgfCBTTkRfU09DX0RBSUZNVF9OQl9ORgorCQkJCXwgU05E X1NPQ19EQUlGTVRfQ0JNX0NGTSwKKwkJLmluaXQgPSBjel9pbml0LAorCQkub3BzID0gJmN6X2Fp ZjFfb3BzLAorCX0sCisJeworCQkubmFtZSA9ICJhbWQtcnQ1NjQ1LWNhcCIsCisJCS5zdHJlYW1f bmFtZSA9ICJSVDU2NDVfQUlGMSIsCisJCS5wbGF0Zm9ybV9uYW1lID0gImFjcF9hdWRpb19kbWEu MC5hdXRvIiwKKwkJLmNwdV9kYWlfbmFtZSA9ICJkZXNpZ253YXJlLWkycy4yLmF1dG8iLAorCQku Y29kZWNfZGFpX25hbWUgPSAicnQ1NjQ1LWFpZjEiLAorCQkuY29kZWNfbmFtZSA9ICJpMmMtMTBF QzU2NTA6MDAiLAorCQkuZGFpX2ZtdCA9IFNORF9TT0NfREFJRk1UX0kyUyB8IFNORF9TT0NfREFJ Rk1UX05CX05GCisJCQkJfCBTTkRfU09DX0RBSUZNVF9DQk1fQ0ZNLAorCQkub3BzID0gJmN6X2Fp ZjFfb3BzLAorCX0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRn ZXQgY3pfd2lkZ2V0c1tdID0geworCVNORF9TT0NfREFQTV9IUCgiSGVhZHBob25lcyIsIE5VTEwp LAorCVNORF9TT0NfREFQTV9TUEsoIlNwZWFrZXJzIiwgTlVMTCksCisJU05EX1NPQ19EQVBNX01J QygiSGVhZHNldCBNaWMiLCBOVUxMKSwKKwlTTkRfU09DX0RBUE1fTUlDKCJJbnQgTWljIiwgTlVM TCksCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBjel9hdWRp b19yb3V0ZVtdID0geworCXsiSGVhZHBob25lcyIsIE5VTEwsICJIUE9MIn0sCisJeyJIZWFkcGhv bmVzIiwgTlVMTCwgIkhQT1IifSwKKwl7IlJFQ01JWEwiLCBOVUxMLCAiSGVhZHNldCBNaWMifSwK Kwl7IlJFQ01JWFIiLCBOVUxMLCAiSGVhZHNldCBNaWMifSwKKwl7IlNwZWFrZXJzIiwgTlVMTCwg IlNQT0wifSwKKwl7IlNwZWFrZXJzIiwgTlVMTCwgIlNQT1IifSwKKwl7IkRNSUMgTDIiLCBOVUxM LCAiSW50IE1pYyJ9LAorCXsiRE1JQyBSMiIsIE5VTEwsICJJbnQgTWljIn0sCit9OworCitzdGF0 aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgY3pfbWNfY29udHJvbHNbXSA9IHsKKwlT T0NfREFQTV9QSU5fU1dJVENIKCJIZWFkcGhvbmVzIiksCisJU09DX0RBUE1fUElOX1NXSVRDSCgi U3BlYWtlcnMiKSwKKwlTT0NfREFQTV9QSU5fU1dJVENIKCJIZWFkc2V0IE1pYyIpLAorCVNPQ19E QVBNX1BJTl9TV0lUQ0goIkludCBNaWMiKSwKK307CisKK3N0YXRpYyBzdHJ1Y3Qgc25kX3NvY19j YXJkIGN6X2NhcmQgPSB7CisJLm5hbWUgPSAiYWNwcnQ1NjUwIiwKKwkub3duZXIgPSBUSElTX01P RFVMRSwKKwkuZGFpX2xpbmsgPSBjel9kYWlfcnQ1NjUwLAorCS5udW1fbGlua3MgPSBBUlJBWV9T SVpFKGN6X2RhaV9ydDU2NTApLAorCS5kYXBtX3dpZGdldHMgPSBjel93aWRnZXRzLAorCS5udW1f ZGFwbV93aWRnZXRzID0gQVJSQVlfU0laRShjel93aWRnZXRzKSwKKwkuZGFwbV9yb3V0ZXMgPSBj el9hdWRpb19yb3V0ZSwKKwkubnVtX2RhcG1fcm91dGVzID0gQVJSQVlfU0laRShjel9hdWRpb19y b3V0ZSksCisJLmNvbnRyb2xzID0gY3pfbWNfY29udHJvbHMsCisJLm51bV9jb250cm9scyA9IEFS UkFZX1NJWkUoY3pfbWNfY29udHJvbHMpLAorfTsKKworc3RhdGljIGludCBjel9wcm9iZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQoreworCWludCByZXQ7CisJc3RydWN0IHNuZF9zb2Nf Y2FyZCAqY2FyZDsKKworCWNhcmQgPSAmY3pfY2FyZDsKKwljel9jYXJkLmRldiA9ICZwZGV2LT5k ZXY7CisJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgY2FyZCk7CisJcmV0ID0gZGV2bV9zbmRf c29jX3JlZ2lzdGVyX2NhcmQoJnBkZXYtPmRldiwgJmN6X2NhcmQpOworCWlmIChyZXQpIHsKKwkJ ZGV2X2VycigmcGRldi0+ZGV2LAorCQkJCSJkZXZtX3NuZF9zb2NfcmVnaXN0ZXJfY2FyZCglcykg ZmFpbGVkOiAlZFxuIiwKKwkJCQljel9jYXJkLm5hbWUsIHJldCk7CisJCXJldHVybiByZXQ7CisJ fQorCXJldHVybiAwOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGFjcGlfZGV2aWNlX2lkIGN6 X2F1ZGlvX2FjcGlfbWF0Y2hbXSA9IHsKKwl7ICJBTURJMTAwMiIsIDAgfSwKKwl7fSwKK307CitN T0RVTEVfREVWSUNFX1RBQkxFKGFjcGksIGN6X2F1ZGlvX2FjcGlfbWF0Y2gpOworCitzdGF0aWMg c3RydWN0IHBsYXRmb3JtX2RyaXZlciBjel9wY21fZHJpdmVyID0geworCS5kcml2ZXIgPSB7CisJ CS5uYW1lID0gImN6LXJ0NTY0NSIsCisJCS5hY3BpX21hdGNoX3RhYmxlID0gQUNQSV9QVFIoY3pf YXVkaW9fYWNwaV9tYXRjaCksCisJCS5wbSA9ICZzbmRfc29jX3BtX29wcywKKwl9LAorCS5wcm9i ZSA9IGN6X3Byb2JlLAorfTsKKworbW9kdWxlX3BsYXRmb3JtX2RyaXZlcihjel9wY21fZHJpdmVy KTsKKworTU9EVUxFX0FVVEhPUigiYWtzaHUuYWdyYXdhbEBhbWQuY29tIik7CitNT0RVTEVfREVT Q1JJUFRJT04oImN6LXJ0NTY0NSBhdWRpbyBzdXBwb3J0Iik7CitNT0RVTEVfTElDRU5TRSgiR1BM IHYyIik7Ci0tIAoyLjUuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJp LWRldmVsCg==