From patchwork Wed Nov 13 08:31:16 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Juergen Borleis X-Patchwork-Id: 3177491 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 555DFC045B for ; Wed, 13 Nov 2013 08:30:13 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id A755D205E4 for ; Wed, 13 Nov 2013 08:30:08 +0000 (UTC) Received: from casper.infradead.org (casper.infradead.org [85.118.1.10]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 51204205DF for ; Wed, 13 Nov 2013 08:30:07 +0000 (UTC) Received: from merlin.infradead.org ([2001:4978:20e::2]) by casper.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1VgVpp-000690-6z; Wed, 13 Nov 2013 08:30:01 +0000 Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1VgVpm-0008A7-SR; Wed, 13 Nov 2013 08:29:58 +0000 Received: from metis.ext.pengutronix.de ([2001:6f8:1178:4:290:27ff:fe1d:cc33]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1VgVpi-00088R-Uu for linux-arm-kernel@lists.infradead.org; Wed, 13 Nov 2013 08:29:56 +0000 Received: from thebe.hi.pengutronix.de ([2001:6f8:1178:2:5e26:aff:fe2b:7cc4]) by metis.ext.pengutronix.de with esmtp (Exim 4.72) (envelope-from ) id 1VgVpE-0006g8-5M; Wed, 13 Nov 2013 09:29:24 +0100 From: =?iso-8859-1?q?J=FCrgen_Beisert?= Organization: Pengutronix e.K. To: Timur Tabi Subject: Re: [alsa-devel] [PATCH] ASoC: fsl-ssi: fix SDMA starvation Date: Wed, 13 Nov 2013 09:31:16 +0100 User-Agent: KMail/1.9.10 (enterprise35 0.20100827.1168748) References: <1384255056-25673-1-git-send-email-mpa@pengutronix.de> <20131112132441.GG30263@pengutronix.de> In-Reply-To: X-KMail-QuotePrefix: > MIME-Version: 1.0 Content-Disposition: inline Message-Id: <201311130931.16238.jbe@pengutronix.de> X-SA-Exim-Connect-IP: 2001:6f8:1178:2:5e26:aff:fe2b:7cc4 X-SA-Exim-Mail-From: jbe@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-arm-kernel@lists.infradead.org X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20131113_032955_564372_9DBA8748 X-CRM114-Status: GOOD ( 16.10 ) X-Spam-Score: -1.9 (-) Cc: alsa-devel mailing list , Liam Girdwood , stable@vger.kernel.org, Mark Brown , Sascha Hauer , Markus Pargmann , "linux-arm-kernel@lists.infradead.org" X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hi Timur, On Tuesday 12 November 2013 21:17:34 Timur Tabi wrote: > On Tue, Nov 12, 2013 at 7:24 AM, Markus Pargmann wrote: > > No, I don't have access on PowerPC hardware, so I didn't test it on > > PowerPC. > > Can you change the code so that the interrupts are enabled only on > i.MX? On PowerPC, the interrupts are used only for debugging. Hmm, you are right. My patch is partially bogus. It enables the CCSR_SSI_SIER_TDMAE and CCSR_SSI_SIER_RDMAE bits on demand, but this setting will be overwritten by the "write_ssi(sier_bits, &ssi->sier);" just a few lines below. :( But this patch works, because it removes the CCSR_SSI_SIER_TDMAE and CCSR_SSI_SIER_RDMAE from the SIER_FLAGS macro. Its content is set _unconditionally_ in lines 570 and 575 and is written to the register in line 607. This should hit PowerPC as well. So, the real (and small) fix is to remove these bits from the SIER_FLAGS macro: @Markus: can you please test it on your hardware? Thanks jbe diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c index c6b7439..f176e34 100644 --- a/sound/soc/fsl/fsl_ssi.c +++ b/sound/soc/fsl/fsl_ssi.c @@ -107,10 +107,10 @@ static inline void write_ssi_mask(u32 __iomem *addr, u32 clear, u32 set) #endif /* SIER bitflag of interrupts to enable */ -#define SIER_FLAGS (CCSR_SSI_SIER_TFRC_EN | CCSR_SSI_SIER_TDMAE | \ +#define SIER_FLAGS (CCSR_SSI_SIER_TFRC_EN | \ CCSR_SSI_SIER_TIE | CCSR_SSI_SIER_TUE0_EN | \ CCSR_SSI_SIER_TUE1_EN | CCSR_SSI_SIER_RFRC_EN | \ - CCSR_SSI_SIER_RDMAE | CCSR_SSI_SIER_RIE | \ + CCSR_SSI_SIER_RIE | \ CCSR_SSI_SIER_ROE0_EN | CCSR_SSI_SIER_ROE1_EN) /**