From patchwork Mon Oct 26 07:19:03 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zidan Wang X-Patchwork-Id: 7485741 Return-Path: X-Original-To: patchwork-alsa-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 0846DBEEA4 for ; Mon, 26 Oct 2015 07:18:32 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 37B7C20774 for ; Mon, 26 Oct 2015 07:18:31 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.kernel.org (Postfix) with ESMTP id 0A9592076C for ; Mon, 26 Oct 2015 07:18:30 +0000 (UTC) Received: by alsa0.perex.cz (Postfix, from userid 1000) id B678B26087F; Mon, 26 Oct 2015 08:18:28 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Spam-Status: No, score=-2.6 required=5.0 tests=BAD_ENC_HEADER,BAYES_00, RCVD_IN_DNSWL_LOW, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id 4D54226057D; Mon, 26 Oct 2015 08:17:30 +0100 (CET) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 72DB5260533; Mon, 26 Oct 2015 08:17:28 +0100 (CET) Received: from na01-bn1-obe.outbound.protection.outlook.com (mail-bn1bon0147.outbound.protection.outlook.com [157.56.111.147]) by alsa0.perex.cz (Postfix) with ESMTP id 935D92604A4 for ; Mon, 26 Oct 2015 08:17:18 +0100 (CET) Received: from BLUPR0301CA0021.namprd03.prod.outlook.com (10.162.113.159) by CY1PR0301MB1258.namprd03.prod.outlook.com (10.161.212.156) with Microsoft SMTP Server (TLS) id 15.1.306.13; Mon, 26 Oct 2015 07:17:16 +0000 Received: from BN1BFFO11FD007.protection.gbl (2a01:111:f400:7c10::1:105) by BLUPR0301CA0021.outlook.office365.com (2a01:111:e400:5259::31) with Microsoft SMTP Server (TLS) id 15.1.306.13 via Frontend Transport; Mon, 26 Oct 2015 07:17:16 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; freescale.mail.onmicrosoft.com; dmarc=none action=none header.from=freescale.com; Received-SPF: Fail (protection.outlook.com: domain of freescale.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1BFFO11FD007.mail.protection.outlook.com (10.58.144.70) with Microsoft SMTP Server (TLS) id 15.1.306.13 via Frontend Transport; Mon, 26 Oct 2015 07:17:16 +0000 Received: from b50113.ap.freescale.net (b50113.ap.freescale.net [10.192.241.29]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id t9Q7H6EK017703; Mon, 26 Oct 2015 00:17:12 -0700 From: Zidan Wang To: Date: Mon, 26 Oct 2015 15:19:03 +0800 Message-ID: <1445843945-13319-2-git-send-email-zidan.wang@freescale.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1445843945-13319-1-git-send-email-zidan.wang@freescale.com> References: <1445843945-13319-1-git-send-email-zidan.wang@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1; BN1BFFO11FD007; 1:QSU74cFeEJykwQjwAQX2flGi0NMn8eea8UgaVFl32mnESs6KE6iPiUXeWm+L3hsJOG7RXgcxPZmP2StzlEnZe2ORQ1vZYYta+/FTVw0JaSDyOju6A8RYExVwtDQ9fCU7PzDs7csuCiT9pt97JzRsukfUG7Fa54gXyJgEcfXff+fmvW3u5kaE/LmclGMVHdGjqBIV4FLmBTx/saqOueoiI0WLmu0eJ8uraM4NekxftWOCexh4lYRp2vp9oEnUoAXpz/Skpp8GfHBXaLqu/ej3Vu8ZYnhmy7EKnBz90VE/SBPe+AYIFEZAD2YC3bYULfCht4AmHyWXtrOzk3PXF/sjY0gj9jmWoiGr459ObNe7C+bQx+LQU3WpXe6UXguBSyBJkabf8z+R56WUquWxBT2ibA== X-Forefront-Antispam-Report: CIP:192.88.168.50; CTRY:US; IPV:NLI; EFV:NLI; SFV:NSPM; SFS:(10019020)(6009001)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(6806005)(5003940100001)(2950100001)(33646002)(92566002)(5007970100001)(77096005)(105606002)(11100500001)(50226001)(81156007)(36756003)(97736004)(189998001)(4001430100002)(106466001)(229853001)(2351001)(50466002)(19580405001)(19580395003)(85426001)(87936001)(48376002)(86362001)(5001960100002)(50986999)(76176999)(5008740100001)(104016004)(110136002)(47776003)(107886002); DIR:OUT; SFP:1102; SCL:1; SRVR:CY1PR0301MB1258; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1258; 2:wXQCZK1r/Ixy4H+xf/ofvkQ2i6O5VMoJDdAxq/ebQf5PIbfqC/VttKo0QyNUQgQCEx032FIjVDHO3lB6aTP8Qji9fF5OZbX068Kwvmkjjx7nIidR7eWkpbOiB8Oaj14nSsyV1hkLPzfPNiUCRismI0OcrdrD2pp1UI0x8GlST4g=; 3:MpIxuaKBA8wTrlroswIHnrn/H8OBaM3+wBx0A6WBb1v2JdWh9BKedEkgywYCYW61dCVWkKICmsdAOmQagwt/AG2kEM3JxzgNSm+CgAEWkBbJyvQzt21Orz2SEj1fVJ5uSrGP36BooSju0dLt0klCeHTvZ9/zM7DTlzzKpdb7pggY1kq7xitsgp0l41RuSMZ9FXNLes4f4fu0QT/wVT0kJyra4G1pmFZVaJ6i6SjKpNs=; 25:XVD99mGw8Be2diIbqIkCfB7S9Xv5tTyhZZc9AOKxjB3dDMVa3S22gCqNjRkdoVchGzOMAF2nZims9/oi7KocBHul0HdcUMJj4xCQHruIOwjLYY6lOszS+Nob+lsXOo4HqfrUFbT1/0RVD+FGx8I5LJ6FGTO45B/z/mtilyC0YOR404it/VBvfFzcIimX43dl7emUJjq0EoP8lVoe/lrxl8p4s0SZW5ros9R1YbVR6MEzxAt/TrmlYEhk8QS1duLiH8vF0E4pAQk1GKdy0Sm7kw== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1258; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1258; 20:prkAy4imF65Hi/u1cG8tm9UAlMR5x2m0Z6DVAcZjtzq0BrG5MJ9ceFLtnM+6PY6CLhO21SWmNbOmwUYU/A04LR8+9rV4DKfu1ZYCT5bIjxRu0pQflu6BIuqH8Ljn9pIXc/wH1v7Refx3C4X0qrPUJwlasZ9X5rfmUHu//1ZSR37AK1WiCYOk6qwcpS1s9VxHJqP03HeKF4u5I3Dj3zgkpMH+ty2+dtlTEyjUdr4rrYONOFsNwDdppRpt2MPqFyVmV74NGpib17KqO3N0Qr2qUAXb/soxzI/HYXWNs9Id5JGZtnLJGZ3YxA1ojEebYoEK0NyuD20rkvZmRo4PRSdOoFC13XVJKHeg+QcBUBeokS0=; 4:smzSkBNxr4m2bMtCucjQa9xZuXVXQu+sIxHbbQH6uOy06WfBikX9wFdbdc5BLm+VQOJh8bEi+eFydlZApAfTRQfOtyNYnEBSFMJ4oT2fj4dv/4wFrpAyuHfBILBQh7qIolMZ0t/pDmNsi+kkGqqdGvPdwa+E5gRaO3wHE7/Up66KK/aNuvDtt0dWXybJh4oO8IEuNvQI7+rk3Ja64ToX3B1yniskLx/ia3AH3phsXxweKxY+NYL3KHeTZeDws1STfto9bRNqRkTeFhA/5yCp5RdHAeO1yHhVxQF1IpRjG772+sWQ1NCgddQPpkMxYj4lbaF9/2FpjvgXwT/vXgxHLb3l5qSgC8TgMPW6OJf6Jhxn9by3+DdmHZVYrTjgskr8 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(8121501046)(520078)(5005006)(3002001)(102215026); SRVR:CY1PR0301MB1258; BCL:0; PCL:0; RULEID:; SRVR:CY1PR0301MB1258; X-Forefront-PRVS: 0741C77572 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB1258; 23:TAabjMIbc4ucs1yn9QhpA5Dm0IC4fBRMwfpspVG?= =?us-ascii?Q?YWXCGtZ6Qtq2SWYD2/PvVoHgh0H4LP0d6r3AMXIxCUyMFMYmT+rJYeT6nZIw?= =?us-ascii?Q?QdqkZReCrd/A83eAAmy1CPkT5NU/afPhwlc0y0t6F+00ywPNYGHLYwgFYevr?= =?us-ascii?Q?GsLsb1A098KM1XQaNL8NG2aZSMCacApfgfYMepIULylV+7vhQ4XoiskPSsBa?= =?us-ascii?Q?ROYUpyEXvZjNtkdwO09XDDc2wKWDsrnMvwozzxr2NQS5vX75DKXyEZs/w+s1?= =?us-ascii?Q?W2Sd1f373WVSGWXbAEX1neC7LYgkxAVfWne6y8q7+JTeNKfYAHX1BHG96PjZ?= =?us-ascii?Q?yTz1u2j8306o+Yhn5xo4GVdQQshzhwpyUccLZ/8T5W++4zcGwJhDMjXAMB18?= =?us-ascii?Q?JcN06WSaoj3i+rvc7cKp8hLiETukWsWzcwyr6h6s7I5NZPJLQNJkjxm+Cmzo?= =?us-ascii?Q?PejGZWYVuESNVZElT4Z8SfgU+qF0phL9qjLdD5SBf304lzuDrwczZ832RHsR?= =?us-ascii?Q?DqupcPYJ1bocITGvGY05slwTusTtkraHM/eqLifrpBW+y4tqYu79raWNbRHK?= =?us-ascii?Q?BFmegKh0HoHXtO9PezRLr7FeIrFpd7Fb5GONP4F+2QApnKTzgBKsTCHSFDZv?= =?us-ascii?Q?K988kELAwTl9WkTnD+u4byU/KP9eSk4dJ90bMblUCnjffzA6INyS0ITcdZPL?= =?us-ascii?Q?bD2RGrJLcGyrCiuJMMZvBLMqhS3/z9daayU3zVowsoXVn/pzG21vrxeYIF8D?= =?us-ascii?Q?1JNAKkbZr3wfFw3hXupLhB4CHYzCcJpPunQJIugRclCGr47BhHhq9mv4EKYr?= =?us-ascii?Q?z5lmslpGAt/0eXZxKTPHZyGLkDEyqNJL7bNMmmpe2mfy3gSL64k3+hKGbi3o?= =?us-ascii?Q?OqEdN297SHcUyOMC6NBZtAU16ZOuLdRMNEh15Zm1W8DTtKi3LTNSCMQUu+He?= =?us-ascii?Q?P+l3xBsiA9/xeDcqbh96DXsOHQuh2VsLRZzrFxAM0soRKnMymcLP6FPM2svt?= =?us-ascii?Q?nBJpjrvxY/mwM2oOsBHOOApyYVb2XL2DSvnLMTsKc0sKk757GvqyR1w7T8Fq?= =?us-ascii?Q?k/15s960mpMWAcUMaVLfoRAK/jZ8poPvkY8zOPLJpQam6hbF50g=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1258; 5:UO2l5u0pNOb2x7hpS/Wo8hqoCP3jqOnxzCpD/3/6OvAx4c0oFmoOqC9AwkHyIHcAacbtt/ULHtD+/bTzbzx73G10fbqMgkh7rnm03iytxlybR+qf4WrPfYCXCcZbTP8/HZaKnXPNp9UKue3sqlzcRA==; 24:wYUMwU/V6XS4zjg7kU1kRFxiXfBORrhpxwDQF7eFQSDmvX3BQfkk5R4SpdLSA91w4s3c4No0WjIf1cHIIScbQHVMvqq3AFXvf/G8PClf2mM=; 20:Nh20JEIrWBPbUIZ1NrshIxxAC1RQjH04ck+zKqbs/5BJcLJ2VYcJOpCe4ywdUnxEw6Nz2KnlQKalx9FgJf6OlQ== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Oct 2015 07:17:16.0148 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0301MB1258 Cc: alsa-devel@alsa-project.org, timur@tabi.org, Zidan Wang , Xiubo.Lee@gmail.com, tiwai@suse.com, nicoleotsuka@gmail.com Subject: [alsa-devel] [PATCH] ASoC: fsl-sai: add default register map for regmap cache X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP FSL_SAI_TDR register is writable and not readable. According to regmap_volatile() function, if FSL_SAI_TDR want to be volatile, it should be readable. So we should remove FSL_SAI_TDR from volatile register list. If the flat cache don't have default register map, when do regcache_sync operation, the non volatile and writable registers will be synchronised to 0. FSL_SAI_TDR reigster will be written a 0 and cause channel swap. So add default register map for flat cache, and such register will not be written. Signed-off-by: Zidan Wang Acked-by: Nicolin Chen --- sound/soc/fsl/fsl_sai.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c index 784725b..18101b9 100644 --- a/sound/soc/fsl/fsl_sai.c +++ b/sound/soc/fsl/fsl_sai.c @@ -608,6 +608,22 @@ static const struct snd_soc_component_driver fsl_component = { .name = "fsl-sai", }; +static struct reg_default fsl_sai_reg_defaults[] = { + {FSL_SAI_TCR1, 0}, + {FSL_SAI_TCR2, 0}, + {FSL_SAI_TCR3, 0}, + {FSL_SAI_TCR4, 0}, + {FSL_SAI_TCR5, 0}, + {FSL_SAI_TDR, 0}, + {FSL_SAI_TMR, 0}, + {FSL_SAI_RCR1, 0}, + {FSL_SAI_RCR2, 0}, + {FSL_SAI_RCR3, 0}, + {FSL_SAI_RCR4, 0}, + {FSL_SAI_RCR5, 0}, + {FSL_SAI_RMR, 0}, +}; + static bool fsl_sai_readable_reg(struct device *dev, unsigned int reg) { switch (reg) { @@ -641,13 +657,11 @@ static bool fsl_sai_volatile_reg(struct device *dev, unsigned int reg) case FSL_SAI_RCSR: case FSL_SAI_TFR: case FSL_SAI_RFR: - case FSL_SAI_TDR: case FSL_SAI_RDR: return true; default: return false; } - } static bool fsl_sai_writeable_reg(struct device *dev, unsigned int reg) @@ -680,6 +694,8 @@ static const struct regmap_config fsl_sai_regmap_config = { .val_bits = 32, .max_register = FSL_SAI_RMR, + .reg_defaults = fsl_sai_reg_defaults, + .num_reg_defaults = ARRAY_SIZE(fsl_sai_reg_defaults), .readable_reg = fsl_sai_readable_reg, .volatile_reg = fsl_sai_volatile_reg, .writeable_reg = fsl_sai_writeable_reg,