Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp2288237imm; Thu, 11 Oct 2018 08:02:08 -0700 (PDT) X-Google-Smtp-Source: ACcGV639mknHDEsRT4jf02QXY1al0pozHVw7bhhUB38q7sz7rjfJZ8fxD+zA2r0mM9vgLmoFf4Se X-Received: by 2002:a63:d753:: with SMTP id w19-v6mr1704873pgi.415.1539270128361; Thu, 11 Oct 2018 08:02:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539270128; cv=none; d=google.com; s=arc-20160816; b=R3iS1/m/Dq4bUeAWP3KthIrHBNumKKHFXUHvpXl6+ylXCce0doRFQ5cW2pMASPNMKh bEum5daDaHt8LjxLToZ/n4SuaUGZWbinDnS55qJT9r0bB41RAEm4IjqsfQEFBLX7B5Wb RkSgmOTIzXMt2WV0q+R7kEmqCNYdsR1FFC9DKzc2Sb5xYHJ0D9Bu0ETjhd0qcBzdvNu5 IaXntoBFnJrWi85GbANvbOjMwH5jx5hT7nCYATAlEjzp5WEzkv5qTSLGJVH212TGZY6A CeZ9T93utW+m3lSu3gdjlGtNA3xMi+FkXdS0Tiy6vhimchOfIOsTtbM5jWcWRMV7iSP2 kVHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:date:message-id:in-reply-to:subject:cc:to :from:dkim-signature; bh=rAoLtLpCSV1CFbnKAev5V+rc1LH5AVGM3vVRNFBNbb4=; b=VJbx2/OfDVsPmLjbfbzHE3zOfaHuiNtsz0W2fTdQuHkAjinb2uWuhF0StTDXzdSgYj QiPNSwkktp8hP0+e914Drqmgrnh6+cWgZBUKW0dldPeEXdamTs9uaDBmhUkG3g0Ls/qP 46A4G1ozmt+YjgCB8FIws26Gzd1f/dLxFggEXwDaY0Ljy1pUEUxAtPRgOYKImSu7uKB+ N8mHkptKojfTSRwmk0Rc9RTy4FZ5WZon2+RO6RChwn6wRZuIC9LCdZk4qsdnOlh3Hxsv DvlqDoU9e1y5ft7N+VrcJb+y5T01Pl5UYYShMWkxmI8A1cucklMvLBEodAtEpRoEHuye Z1CQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=wEiKX2VK; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o5-v6si28378542pgm.222.2018.10.11.08.01.53; Thu, 11 Oct 2018 08:02:08 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=wEiKX2VK; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728732AbeJKWYF (ORCPT + 99 others); Thu, 11 Oct 2018 18:24:05 -0400 Received: from heliosphere.sirena.org.uk ([172.104.155.198]:47034 "EHLO heliosphere.sirena.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728701AbeJKWYE (ORCPT ); Thu, 11 Oct 2018 18:24:04 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sirena.org.uk; s=20170815-heliosphere; h=Date:Message-Id:In-Reply-To: Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:References: List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner: List-Archive; bh=rAoLtLpCSV1CFbnKAev5V+rc1LH5AVGM3vVRNFBNbb4=; b=wEiKX2VKZ9LM GrBnKtiY3CT7KGlm2iY06e3vfBG5gas8vOTD4C79y+vSy2mGN0YOqFNvWgCROPBGMwbG/G7mzzvRY bgOX2SYBlQs7vdY69CFiO2tBuC4kYVocpA97DNglhe8jPpVufMCGInJk3Wv7BmHKnLd6xXJzJgrT+ hXnjw=; Received: from cpc102320-sgyl38-2-0-cust46.18-2.cable.virginm.net ([82.37.168.47] helo=debutante.sirena.org.uk) by heliosphere.sirena.org.uk with esmtpa (Exim 4.89) (envelope-from ) id 1gAcNk-0001tA-BL; Thu, 11 Oct 2018 14:56:08 +0000 Received: by debutante.sirena.org.uk (Postfix, from userid 1000) id 1C92911223ED; Thu, 11 Oct 2018 15:56:08 +0100 (BST) From: Mark Brown To: Huibin Hong Cc: Emil Renner Berthing , Mark Brown , linux-rockchip@lists.infradead.org, Emil Renner Berthing , Rob Herring , Mark Rutland , Heiko Stuebner , Mark Brown , Enric Balletbo i Serra , Brian Norris , Douglas Anderson , Shunqian Zheng , Nickey Yang , Klaus Goger , Randy Li , Chris Zhong , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-spi@vger.kernel.org, linux-spi@vger.kernel.org Subject: Applied "spi: rockchip: adjust dma watermark and burstlen" to the spi tree In-Reply-To: <20181010090038.20834-3-kernel@esmil.dk> Message-Id: <20181011145608.1C92911223ED@debutante.sirena.org.uk> Date: Thu, 11 Oct 2018 15:56:08 +0100 (BST) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The patch spi: rockchip: adjust dma watermark and burstlen has been applied to the spi tree at https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark From dcfc861d24ec19f0d0d3d55bb016646794571fbb Mon Sep 17 00:00:00 2001 From: Huibin Hong Date: Wed, 10 Oct 2018 11:00:33 +0200 Subject: [PATCH] spi: rockchip: adjust dma watermark and burstlen Signal tx dma when spi fifo is less than half full, and limit tx bursts to half the fifo length. Clamp rx burst length to 1 to avoid alignment issues. Signed-off-by: Huibin Hong Signed-off-by: Emil Renner Berthing Signed-off-by: Mark Brown --- drivers/spi/spi-rockchip.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/drivers/spi/spi-rockchip.c b/drivers/spi/spi-rockchip.c index fdcf3076681b..2f825702cd90 100644 --- a/drivers/spi/spi-rockchip.c +++ b/drivers/spi/spi-rockchip.c @@ -455,10 +455,7 @@ static int rockchip_spi_prepare_dma(struct rockchip_spi *rs) rxconf.direction = rs->dma_rx.direction; rxconf.src_addr = rs->dma_rx.addr; rxconf.src_addr_width = rs->n_bytes; - if (rs->dma_caps.max_burst > 4) - rxconf.src_maxburst = 4; - else - rxconf.src_maxburst = 1; + rxconf.src_maxburst = 1; dmaengine_slave_config(rs->dma_rx.ch, &rxconf); rxdesc = dmaengine_prep_slave_sg( @@ -477,10 +474,7 @@ static int rockchip_spi_prepare_dma(struct rockchip_spi *rs) txconf.direction = rs->dma_tx.direction; txconf.dst_addr = rs->dma_tx.addr; txconf.dst_addr_width = rs->n_bytes; - if (rs->dma_caps.max_burst > 4) - txconf.dst_maxburst = 4; - else - txconf.dst_maxburst = 1; + txconf.dst_maxburst = rs->fifo_len / 2; dmaengine_slave_config(rs->dma_tx.ch, &txconf); txdesc = dmaengine_prep_slave_sg( @@ -578,7 +572,7 @@ static void rockchip_spi_config(struct rockchip_spi *rs) writel_relaxed(rs->fifo_len / 2 - 1, rs->regs + ROCKCHIP_SPI_TXFTLR); writel_relaxed(rs->fifo_len / 2 - 1, rs->regs + ROCKCHIP_SPI_RXFTLR); - writel_relaxed(0, rs->regs + ROCKCHIP_SPI_DMATDLR); + writel_relaxed(rs->fifo_len / 2 - 1, rs->regs + ROCKCHIP_SPI_DMATDLR); writel_relaxed(0, rs->regs + ROCKCHIP_SPI_DMARDLR); writel_relaxed(dmacr, rs->regs + ROCKCHIP_SPI_DMACR); -- 2.19.0.rc2