From patchwork Mon Jun 15 06:20:54 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 6606251 Return-Path: X-Original-To: patchwork-alsa-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 7C00A9F399 for ; Mon, 15 Jun 2015 06:21:47 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id A11BE20562 for ; Mon, 15 Jun 2015 06:21:46 +0000 (UTC) Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.kernel.org (Postfix) with ESMTP id 5B8F72055D for ; Mon, 15 Jun 2015 06:21:45 +0000 (UTC) Received: by alsa0.perex.cz (Postfix, from userid 1000) id 62C32260824; Mon, 15 Jun 2015 08:21:44 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 Received: from alsa0.perex.cz (localhost [IPv6:::1]) by alsa0.perex.cz (Postfix) with ESMTP id E495F2606D8; Mon, 15 Jun 2015 08:21:33 +0200 (CEST) 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 C72412606D8; Mon, 15 Jun 2015 08:21:32 +0200 (CEST) Received: from relmlie3.idc.renesas.com (relmlor4.renesas.com [210.160.252.174]) by alsa0.perex.cz (Postfix) with ESMTP id 7955F260831 for ; Mon, 15 Jun 2015 08:21:02 +0200 (CEST) Received: from unknown (HELO relmlir2.idc.renesas.com) ([10.200.68.152]) by relmlie3.idc.renesas.com with ESMTP; 15 Jun 2015 15:20:58 +0900 Received: from relmlac3.idc.renesas.com (relmlac3.idc.renesas.com [10.200.69.23]) by relmlir2.idc.renesas.com (Postfix) with ESMTP id 1A19D452A3; Mon, 15 Jun 2015 15:20:58 +0900 (JST) Received: by relmlac3.idc.renesas.com (Postfix, from userid 0) id 13FE71800A; Mon, 15 Jun 2015 15:20:58 +0900 (JST) Received: from relmlac3.idc.renesas.com (localhost [127.0.0.1]) by relmlac3.idc.renesas.com (Postfix) with ESMTP id 02FD01806F; Mon, 15 Jun 2015 15:20:58 +0900 (JST) Received: from relmlii2.idc.renesas.com [10.200.68.66] by relmlac3.idc.renesas.com with ESMTP id RAB16992; Mon, 15 Jun 2015 15:20:57 +0900 X-IronPort-AV: E=Sophos;i="5.13,616,1427727600"; d="scan'";a="189472314" Received: from mail-hk1lp0126.outbound.protection.outlook.com (HELO APAC01-HK1-obe.outbound.protection.outlook.com) ([207.46.51.126]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA; 15 Jun 2015 15:20:57 +0900 Authentication-Results: kernel.org; dkim=none (message not signed) header.d=none; Received: from morimoto-PC.renesas.com (211.11.155.132) by SIXPR06MB319.apcprd06.prod.outlook.com (10.141.125.145) with Microsoft SMTP Server (TLS) id 15.1.190.14; Mon, 15 Jun 2015 06:20:54 +0000 Message-ID: <87si9tv6iv.wl%kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.3 Mule/6.0 To: Mark Brown In-Reply-To: <87twu9v6kn.wl%kuninori.morimoto.gx@renesas.com> References: <87twu9v6kn.wl%kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Mon, 15 Jun 2015 06:20:54 +0000 X-Originating-IP: [211.11.155.132] X-ClientProxiedBy: OS1PR01CA0014.jpnprd01.prod.outlook.com (25.161.225.152) To SIXPR06MB319.apcprd06.prod.outlook.com (10.141.125.145) X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB319; 2:O1kwpEVektMDXyTNeCVEgop9TolXjhSLEZEmasgALJXLEYnnv7BiUQU0uF6qxnNX; 2:Y2r8wVDOsvVgZKCOUYNwMchLqbr3OVjnwj2SogJJQCHXrtTfshhMZ4arpcc5qOZdwZtdlv2lBTfmiSUfWcngME/g4XBdvnmTO2egkNF06bC4GFnzeX9icWlHemFrAnkVnCMPbwoQnIdLKM68TC4joQ==; 6:hgNOHVAipm6XISbkD3JD6Zg5KomiyFfofJfsVpSigdMCsZ6Gy9YPyH9kfTTbF5Eem7imk7ediHP8Yt/om1k9NNwEkObliHbKybUBe+4qqBI29jlUUeF31THh6Jp8nB9dc5/9tpOZBtzh1cyurELI6ukF2krWRnjHknjtimUXXOFpeDPN1ubTvwkJTp1Iz7EcWHb5aOD24C5xlbQZEoy6Hm7rYsc3lQh0pJCoP+aIS4B9h2dHCXBq/irux/hHYMfBY1CvpAbCTf6BY0jtIp1PDu+chNLrOEjtWAQx+k/fdBl3MOdN/YUe0GYXlKzHv5datKAZiS8Y1NjHHvJAN7KLCnZRm1oWs7QmrYFqWy+6gnu/Z89aqSgd868t35Kyd3VP41KxD8rsmLc0IsJSaZLONNzW8zoQBR2pkOTzQG6bzig+JmGS7YtYxdUGq4r6tfD/V1BFGHRX46BWEaNfn7N4nhC7PaiZ+823cTikSXIiAj8/NOGsnNuQhc2OgoRU5/nk X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SIXPR06MB319; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(520003)(5005006)(3002001); SRVR:SIXPR06MB319; BCL:0; PCL:0; RULEID:; SRVR:SIXPR06MB319; X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB319; 3:PEJ814TZYcvez7xHcGOE291FMkKpsKWaemKSYtQmRBjsJnpnW0bMudKOuJqLesZvsbn82o6Smq/fVSebjAJbVSx5Cy7fm1oxPi2ZRh/ZbY2zczMd/iig7HVByDevqnpxM1W6c7KjD6GnvLWvjJd9j98gpDFc5s8j7YvMNdx2TaMLtJEChAKQQSgNDWBb6LsG2XRMRrNK24fHXXMsvfOKFlG3bse7FBLgVdjB91RKmc1POdhDB1ReM1TtTWCKmXT3dnYxmwNAkoY+aZTKFs7MX8h4baZDb82Y0E+ejjXG0YT993js6yLRmzgu2ObvrvHk X-Forefront-PRVS: 0608DEDB67 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(50466002)(83506001)(77156002)(122386002)(62966003)(23726002)(2950100001)(77096005)(54356999)(50986999)(66066001)(47776003)(46102003)(40100003)(86362001)(76176999)(229853001)(87976001)(189998001)(4001350100001)(19580405001)(53416004)(110136002)(92566002)(42186005)(5001960100002)(36756003)(19580395003)(33646002); DIR:OUT; SFP:1102; SCL:1; SRVR:SIXPR06MB319; H:morimoto-PC.renesas.com; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB319; 9:EYkXtEkTd/1qKe7dFl0xJVm2gsQ2GGfRqpBEPmNUqUpTMDLh+bUJ5SD0RO0N0M5/Z40XB/ZN6v44hUqb66nzV4tMyAvnx5BfdGMu06WcOKupmISRQmGYpI46siB/zHagv5SYItYPnmLPxZXjL1yCT0oZMTlGQ9ckZxzPkPj8FpV79Kjecc0Y64H16wf9yFDfHF738HLI/ZnoGeLRnFXWdE1DTkL/3b1f2ASjOQ4HWAHJI3R60XiS8BeU2DUkLiZJPob7iNczfyGHImzzKQdBFpux9XwNaEEI3ndU6nmQJU3+2kvNjiDuSnfBKHWRvYmT4a/g2FTMlH64MLFELDh57YQSDaTO5PNRri2VTlR5znFkAuLSYcCN57sWkll1PK9eymw4uGHPSW0VzSbpE535JaX/YMQKjcGOGjoBk3e62KtUv1K1gvU9SeeQkCbEnsO5nwHfqlGepg3LrXnS2QUbYjmqpk+urtUkohik049Ey4nui1D1f8tF4VBCDJUO54DN/WZ+eEzgBwBg07629ZR7y+s5lHtGNlFYpUBGjy4PqF1ZQrcyzVq+RCWOBFMz4iap4ej3gFriAI4kVcmY4FKxyml/0bKfYyg3TRJDycUwZ9qL3X/z+JCCnhT7wN/iGPR3wQFdFCJzNij/13CrA1lqDEoJix5jGIexdvOMTbGpA5mas2QrM4jrrVBsviuDG7yc1mIIDTFh8ZsOGcrFmRT5oCQF/WQgRi7pBhJB5l5uMg0jsf74FR4E5P/RTyK7YLNIqGAH7CTb6Cn8ehBxpUactneFtAOnl++d2oUOtXaPYHahacXXSXUwppMIfys9sna47/p743B9craD5WLGk1Z7eg== X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB319; 3:PMQFcKW4IChBI57piON4qx8Gc8X4kyt1aqpEwF39W7ibfNF+S/rm3bPr/b/5lVvh4xlLCFDPznOZHtfzYIFe3xvDm83nKbaE9P5P1iNdSmwlGd1Nolxt1mnQysgSGAqgzL3VrCD/ewm/jh72dr84ow==; 10:WjDv0Qiyhif2djiOxCNPeSfNJqhr50WmU0RZJmbH6kqTZKilAWSJSPSBYjUllOuWP6mHMuMJDLnV3NkrdAJoHQxu7mO+4puVP9cP0+dJkUA=; 6:VjAfKOAOQ5PLngjKtFtl62bPgIk7gPfEfh/fXwfjwuemZW85bOzAexN+0JrtDZ4yibcvwhIB6If18A2kiS9lJLDTqRQDj0eu+3NNGug/wQd8ZXoJ93BR6uvm44Hbm7vFNasHeFiYdxo9DP0J41kU6g== X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2015 06:20:54.3093 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SIXPR06MB319 Cc: Linux-ALSA , Simon , Liam Girdwood Subject: [alsa-devel] [PATCH 01/21] ASoC: rsnd: don't care under/over run error when PIO 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 From: Kuninori Morimoto PIO is used only for checking data path / codec settings. And underrun is very normal when PIO mode. Let's don't care about under/over run error when PIO case. Otherwise, 1) too many HW restart happens, 2) some sounds which need much data transfer can't play since it falls into error detection method which was created for DMA transfer Signed-off-by: Kuninori Morimoto Tested-by: Keita Kobayashi --- sound/soc/sh/rcar/ssi.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/sound/soc/sh/rcar/ssi.c b/sound/soc/sh/rcar/ssi.c index 50fa392..8569173 100644 --- a/sound/soc/sh/rcar/ssi.c +++ b/sound/soc/sh/rcar/ssi.c @@ -199,15 +199,17 @@ static void rsnd_ssi_hw_start(struct rsnd_ssi *ssi, } } - cr_mode = rsnd_ssi_is_dma_mode(&ssi->mod) ? - DMEN : /* DMA : enable DMA */ - DIEN; /* PIO : enable Data interrupt */ - + if (rsnd_ssi_is_dma_mode(&ssi->mod)) { + cr_mode = UIEN | OIEN | /* over/under run */ + DMEN; /* DMA : enable DMA */ + } else { + cr_mode = DIEN; /* PIO : enable Data interrupt */ + } cr = ssi->cr_own | ssi->cr_clk | cr_mode | - UIEN | OIEN | EN; + EN; rsnd_mod_write(&ssi->mod, SSICR, cr); @@ -452,8 +454,8 @@ static irqreturn_t rsnd_ssi_interrupt(int irq, void *data) rsnd_dai_pointer_update(io, sizeof(*buf)); } - /* PIO / DMA */ - if (status & (UIRQ | OIRQ)) { + /* DMA only */ + if (is_dma && (status & (UIRQ | OIRQ))) { struct device *dev = rsnd_priv_to_dev(priv); /*