From patchwork Tue Oct 29 06:52:34 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 3106411 Return-Path: X-Original-To: patchwork-linux-sh@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 85368BF924 for ; Tue, 29 Oct 2013 06:52:41 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id C87442034E for ; Tue, 29 Oct 2013 06:52:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 0097920240 for ; Tue, 29 Oct 2013 06:52:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752197Ab3J2Gwj (ORCPT ); Tue, 29 Oct 2013 02:52:39 -0400 Received: from mail-pb0-f42.google.com ([209.85.160.42]:41279 "EHLO mail-pb0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751604Ab3J2Gwi (ORCPT ); Tue, 29 Oct 2013 02:52:38 -0400 Received: by mail-pb0-f42.google.com with SMTP id jt11so7564599pbb.1 for ; Mon, 28 Oct 2013 23:52:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:sender:message-id:to:cc:in-reply-to:references:from:subject :mime-version:content-type; bh=OMyG27uw6bA2X3ilNmDwxBVzZTgD6TxuJg4E3qGPKHk=; b=LNaIXHsGgPh9unQxcudg49M03I7HH/9VskbwIquT4TB2ddL5LqtdVilzgXVK/pFRyC KyZPWuZTv1nvMFDPJKRg6P8Nf/nlsKwclaNTbaXtJku97auoE82G5wIqpMbP/1VuRp1e HU2oWSen3Z7Zl4l3VOyNl42RQees/tw+A1iRSlHL3jdwHufW5D1ZsGjNZuhcqcWCa0I1 YIcGCbIvhNXzsAja03rxam1ny7Il5qWYalUgxfZ8KX+iLeVg5dETWlRjDMpf0zOwLa7/ /xJBtu/WMsiIBxzfpQH4AJCM8sxjyCSwhxETxj2UHeo0wNdTxvbsaBZwBB/p32WCcBSy 4W0g== X-Received: by 10.66.102.66 with SMTP id fm2mr42776pab.94.1383029555190; Mon, 28 Oct 2013 23:52:35 -0700 (PDT) Received: from morimoto-Dell-XPS420.gmail.com (49.14.32.202.bf.2iij.net. [202.32.14.49]) by mx.google.com with ESMTPSA id hi5sm10809004pbb.43.2013.10.28.23.52.32 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Mon, 28 Oct 2013 23:52:34 -0700 (PDT) Date: Mon, 28 Oct 2013 23:52:34 -0700 (PDT) Message-ID: <87a9hs7emp.wl%kuninori.morimoto.gx@renesas.com> To: "Koul, Vinod" Cc: Simon , Max Filippov , Magnus , linux-sh@vger.kernel.org, Kuninori Morimoto , linux-kernel@vger.kernel.org In-Reply-To: <87eh747eoj.wl%kuninori.morimoto.gx@renesas.com> References: <87k3hc189h.wl%kuninori.morimoto.gx@renesas.com> <87eh747eoj.wl%kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto Subject: [PATCH 3/3] rcar-hpbdma: fixup channel busy check for double plane MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org X-Spam-Status: No, score=-7.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=ham 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 The device busy check method is different between single and double planes. It will always return "busy" without this patch if channel used as double plane. Reviewed-by: Max Filippov Signed-off-by: Kuninori Morimoto --- drivers/dma/sh/rcar-hpbdma.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/dma/sh/rcar-hpbdma.c b/drivers/dma/sh/rcar-hpbdma.c index 19af32d..3083d90 100644 --- a/drivers/dma/sh/rcar-hpbdma.c +++ b/drivers/dma/sh/rcar-hpbdma.c @@ -60,6 +60,7 @@ #define HPB_DMAE_DSTPR_DMSTP BIT(0) /* DMA status register (DSTSR) bits */ +#define HPB_DMAE_DSTSR_DQSTS BIT(2) #define HPB_DMAE_DSTSR_DMSTS BIT(0) /* DMA common registers */ @@ -388,7 +389,10 @@ static bool hpb_dmae_channel_busy(struct shdma_chan *schan) struct hpb_dmae_chan *chan = to_chan(schan); u32 dstsr = ch_reg_read(chan, HPB_DMAE_DSTSR); - return (dstsr & HPB_DMAE_DSTSR_DMSTS) == HPB_DMAE_DSTSR_DMSTS; + if (chan->xfer_mode == XFER_DOUBLE) + return dstsr & HPB_DMAE_DSTSR_DQSTS; + else + return dstsr & HPB_DMAE_DSTSR_DMSTS; } static int