From patchwork Wed May 23 09:56:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Esben Haabendal X-Patchwork-Id: 918916 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-i2c-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ZEBNru2s"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40rSb40TThz9s0y for ; Wed, 23 May 2018 19:56:32 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932221AbeEWJ4b (ORCPT ); Wed, 23 May 2018 05:56:31 -0400 Received: from mail-wr0-f193.google.com ([209.85.128.193]:35735 "EHLO mail-wr0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932180AbeEWJ43 (ORCPT ); Wed, 23 May 2018 05:56:29 -0400 Received: by mail-wr0-f193.google.com with SMTP id i14-v6so25337104wre.2; Wed, 23 May 2018 02:56:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=15mYISuX5dOSefC6jChGApaI0uyBbxBWCwb15ZuQDLE=; b=ZEBNru2sFjNhXzAIUkvZyDaEyhT1HYr/oGNMq9SGAjq9Qr/ikTZjURwKurz7ajLpbQ zWmF8GHGFn7GPG6GA5qIvBBkVGQh9VDO2Rvimd30kb+AtLhHACe3s5FYTSJrUKOBhCrq nut4DqejzC8w3W1XxyH+2h3kN23CWSBEHWtXxMpDe/KQWSlLiuMuK9bLl+l7XdoQ/Qvs +BvZLWfPgx8BhPhgC7TMe7RwusF+C9isENRSlmtaCwD1YuqkehwCNjrt/7/tW7Hd11KQ Bd+BOZYDIEV38gJT9bVoyHyV5kRK0N/xwywwBn6UOf8IIf7kjnDbAcbzqInLXis8AdHt LaBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=15mYISuX5dOSefC6jChGApaI0uyBbxBWCwb15ZuQDLE=; b=bvQR5rnTCU7uSmKzw82L6M/CZZO/6fgrgJ7AlgIvgHo3S66UJ52D+FpT3GmQdlrlm0 /lUE5V5DYBoN5OMyv7WW2aQ7RCzKZt46G6eFaVqiAaszRYi5q6z+6lWdzj3GZBW2CfQR 21qZzlQVoKu6zqhS6+tW4TjoxiEAgTOqcgKiquWx+NlOgSy3NYeQju4oC6x9UO/a4TvC CZJgDlth/Li+GdCGueK4P12AKCd/kBHiEFFzzO/tyOT/060d4ASMas6AzJVieGdezUyc OO04TXcoJ23Co0sj6uoFvsJj/8S3oe9/T3xgV4pS4B9q0z7gkXrPX59ss4xxTc3w/WGJ 7tHw== X-Gm-Message-State: ALKqPwfObeuhG7gTkufHbW8Fku0KO8yogULUTLQYYBjn3qAOAmq3n686 NyFPBY5NpX9qFNXfeIcsD/x/dSCLhN0= X-Google-Smtp-Source: AB8JxZpUGvK3SvZ0A4m9iq3IihYe5oCwPXE7PYCvaSk5n5dad0EOJIHskM9i/oAxvNgZVVmjCkHcXA== X-Received: by 2002:a19:a692:: with SMTP id p140-v6mr1240749lfe.121.1527069388188; Wed, 23 May 2018 02:56:28 -0700 (PDT) Received: from localhost ([87.54.42.112]) by smtp.gmail.com with ESMTPSA id i9-v6sm3326204ljb.87.2018.05.23.02.56.27 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 23 May 2018 02:56:27 -0700 (PDT) From: Esben Haabendal To: linux-i2c@vger.kernel.org Cc: Esben Haabendal , Wolfram Sang , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Phil Reid , Philipp Zabel , Lucas Stach , Clemens Gruber , Michail Georgios Etairidis , linux-kernel@vger.kernel.org Subject: [PATCH 1/4] i2c: imx: Fix reinit_completion() use Date: Wed, 23 May 2018 11:56:20 +0200 Message-Id: <20180523095623.3347-2-esben.haabendal@gmail.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180523095623.3347-1-esben.haabendal@gmail.com> References: <20180523095623.3347-1-esben.haabendal@gmail.com> Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org From: Esben Haabendal Make sure to call reinit_completion() before dma is started to avoid race condition where reinit_compleition() is called after complete() and before wait_for_completion_timeout(). Signed-off-by: Esben Haabendal Reviewed-by: Uwe Kleine-König --- drivers/i2c/busses/i2c-imx.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c index d7267dd9c7bf..6fca5e64cffb 100644 --- a/drivers/i2c/busses/i2c-imx.c +++ b/drivers/i2c/busses/i2c-imx.c @@ -377,6 +377,7 @@ static int i2c_imx_dma_xfer(struct imx_i2c_struct *i2c_imx, goto err_desc; } + reinit_completion(&dma->cmd_complete); txdesc->callback = i2c_imx_dma_callback; txdesc->callback_param = i2c_imx; if (dma_submit_error(dmaengine_submit(txdesc))) { @@ -631,7 +632,6 @@ static int i2c_imx_dma_write(struct imx_i2c_struct *i2c_imx, * The first byte must be transmitted by the CPU. */ imx_i2c_write_reg(msgs->addr << 1, i2c_imx, IMX_I2C_I2DR); - reinit_completion(&i2c_imx->dma->cmd_complete); time_left = wait_for_completion_timeout( &i2c_imx->dma->cmd_complete, msecs_to_jiffies(DMA_TIMEOUT)); @@ -690,7 +690,6 @@ static int i2c_imx_dma_read(struct imx_i2c_struct *i2c_imx, if (result) return result; - reinit_completion(&i2c_imx->dma->cmd_complete); time_left = wait_for_completion_timeout( &i2c_imx->dma->cmd_complete, msecs_to_jiffies(DMA_TIMEOUT)); From patchwork Wed May 23 09:56:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Esben Haabendal X-Patchwork-Id: 918926 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-i2c-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="FB3xXFe/"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40rSct3rskz9s0y for ; Wed, 23 May 2018 19:58:06 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932264AbeEWJ6E (ORCPT ); Wed, 23 May 2018 05:58:04 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:35007 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932291AbeEWJ4c (ORCPT ); Wed, 23 May 2018 05:56:32 -0400 Received: by mail-wm0-f67.google.com with SMTP id o78-v6so7530355wmg.0; Wed, 23 May 2018 02:56:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=m5atjfdioKpL9uRdAJ0UDf7EcIvoU736qRqVqPZ+w/8=; b=FB3xXFe/SXrvnM49koGqdOSfienhw+gjl0PR6hvvIUT/kxdwhLLXIUTSPFkotsvWQt oZ+ySQdU4PZQyxWSEtkIknWS4MJWIJ81dmZUUhbi8RgvDVSF/YVwMPMep8Swddg1w6So +svn5BIVfSckJWuRT33wOgykZboh8hClCckLw2l2O79YfYknN+A1q1MHRUkvHcazfD8s +M/xlpdZfcP67Zy0IV+DEorAfGcXw6Tz6XHLV97fv8m6A5MN1B21UH9whc5jRNucFTQ1 KwDc2uqmjB6q5jXP775PRTNWPtHpoPQp8A75eMftRplkB5Dvx58e1j39ooWCUIX+myO7 I/pw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=m5atjfdioKpL9uRdAJ0UDf7EcIvoU736qRqVqPZ+w/8=; b=WTqoj04IFDkoKcag4mW/VeHSXRE6ucqOoqKihFX0y2d8Xgl4yVAityAWp0XE2m4EmR gAYl/snucFnVxo+4Z4Xj+VeIcLoGX9gBBICnu1Qld0zNkWi5oA30QwAGoWp9vuthzkzN AszDkD6+esAy599gZZfYJk2XUhAdTCMvZ3Oo1ZxPUQNV4EWZ4KRS6m+8tfIipKROInz9 RWNG3fnjDbkfnc+klgjMImsWptypR3xXUQAI4O3bIkPPqW4WPuFu930xVCl6xGiLxWVz e4uB2uYUd/JuorU6DH+Kv4DGahybRaV7bSycsKU06fTBreF+54PBKYobDX3pUwshsm0E 317w== X-Gm-Message-State: ALKqPwf+AVGXg3mueeiUbBEMsFWMyZE/bvEOm6fVLpKQWVCLM2OBYD1I 2oc/jZOBUvo5VMIU9fwaE5VutFHvHdU= X-Google-Smtp-Source: AB8JxZqXi1VWW9H4zbb1DXxmMgCv+9hlrqqoHJL4//jcT6xL1oOLhuNcfz+E6RIBWPtHFMvsKz2abQ== X-Received: by 2002:a2e:86d9:: with SMTP id n25-v6mr1346975ljj.18.1527069391082; Wed, 23 May 2018 02:56:31 -0700 (PDT) Received: from localhost ([87.54.42.112]) by smtp.gmail.com with ESMTPSA id e9-v6sm3415417ljg.90.2018.05.23.02.56.30 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 23 May 2018 02:56:30 -0700 (PDT) From: Esben Haabendal To: linux-i2c@vger.kernel.org Cc: Esben Haabendal , Wolfram Sang , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Lucas Stach , Phil Reid , Linus Walleij , Clemens Gruber , Wei Jinhua , Michail Georgios Etairidis , linux-kernel@vger.kernel.org Subject: [PATCH 2/4] i2c: imx: Fix race condition in dma read Date: Wed, 23 May 2018 11:56:21 +0200 Message-Id: <20180523095623.3347-3-esben.haabendal@gmail.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180523095623.3347-1-esben.haabendal@gmail.com> References: <20180523095623.3347-1-esben.haabendal@gmail.com> Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org From: Esben Haabendal This fixes a race condition, where the DMAEN bit ends up being set after I2C slave has transmitted a byte following the dummy read. When that happens, an interrupt is generated instead, and no DMA request is generated to kickstart the DMA read, and a timeout happens after DMA_TIMEOUT (1 sec). Fixed by setting the DMAEN bit before the dummy read. Signed-off-by: Esben Haabendal --- drivers/i2c/busses/i2c-imx.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c index 6fca5e64cffb..742b548437af 100644 --- a/drivers/i2c/busses/i2c-imx.c +++ b/drivers/i2c/busses/i2c-imx.c @@ -677,9 +677,6 @@ static int i2c_imx_dma_read(struct imx_i2c_struct *i2c_imx, struct imx_i2c_dma *dma = i2c_imx->dma; struct device *dev = &i2c_imx->adapter.dev; - temp = imx_i2c_read_reg(i2c_imx, IMX_I2C_I2CR); - temp |= I2CR_DMAEN; - imx_i2c_write_reg(temp, i2c_imx, IMX_I2C_I2CR); dma->chan_using = dma->chan_rx; dma->dma_transfer_dir = DMA_DEV_TO_MEM; @@ -819,6 +816,11 @@ static int i2c_imx_read(struct imx_i2c_struct *i2c_imx, struct i2c_msg *msgs, bo if ((msgs->len - 1) || block_data) temp &= ~I2CR_TXAK; imx_i2c_write_reg(temp, i2c_imx, IMX_I2C_I2CR); + if (i2c_imx->dma && msgs->len >= DMA_THRESHOLD && !block_data) { + temp = imx_i2c_read_reg(i2c_imx, IMX_I2C_I2CR); + temp |= I2CR_DMAEN; + imx_i2c_write_reg(temp, i2c_imx, IMX_I2C_I2CR); + } imx_i2c_read_reg(i2c_imx, IMX_I2C_I2DR); /* dummy read */ dev_dbg(&i2c_imx->adapter.dev, "<%s> read data\n", __func__); From patchwork Wed May 23 09:56:22 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Esben Haabendal X-Patchwork-Id: 918925 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-i2c-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="uKUuSrd+"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40rScr3gWhz9s0y for ; Wed, 23 May 2018 19:58:04 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932317AbeEWJ4m (ORCPT ); Wed, 23 May 2018 05:56:42 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:38981 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932180AbeEWJ4f (ORCPT ); Wed, 23 May 2018 05:56:35 -0400 Received: by mail-wm0-f68.google.com with SMTP id f8-v6so7443237wmc.4; Wed, 23 May 2018 02:56:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=9FmV4vdjqqeW1PPYZnwpm8QzQHNpH4eDYP4EzpaP/FE=; b=uKUuSrd+Ffish92oXCQZkDKqE9d4z8m+TXwbYowDQtVJMqChtlZhoskxdl0c+sngNU yx9yRtdkgkSnK75Mi1OyAG1IxYDmiHGWXGj5M0ykOwQSe+pFcv10Moa5Od13dKt+UF+F HB+iw/HSUapK0v6Lng6fy6uDU9b2jC4soQcJKV+cIcVdP90a2ZsGI8Z67QXny34lPKYK BQ+Thsn68T27AKraVjU5ZER25VFhxmQ8S2A3cpfS0LWtt72EO0ieWJZTiCbQhYPrg+Rw 1ks6PC87opOJYt36sWhH530r0V/PclnQX8+hyaiPFYvPx+G1WCtgQScS2C7mFM9Xt2p3 CCZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=9FmV4vdjqqeW1PPYZnwpm8QzQHNpH4eDYP4EzpaP/FE=; b=tLrkHGY4kHZJw9Y4aVd0cODk3cqANYakaOdGxAEBfWmLVuk1VelAQpUttZ++BAUwib kEbJ0bAhOU+ALG01hkp7QrwKYciAhvhHHTqHaaxGoKmWSt4wSsfD3NAJEpxI+UJqEuqI qQgG93nT5bMUrHEQyMSZsAX1MIMQT4eY/IH1XrhNFDQElFRvEsVGbpHxTCiTdiJrx5zm 3sw5o7rHEXNkDKNjLu9AgJWvVvQcdHGURbJjks5EjaXwo2025vFF+1DNk+NJqjJ6MEO+ M5ePNwRiKwQaAw7RO+MP5H8FZ1FeWrRM1/vfni4/OoIdpHYrIleMIE7mN865SymGywd0 puDA== X-Gm-Message-State: ALKqPwcKKt5orWmwT28aMWODUJV3LeIxbNCFnduT8W+UE/Mr00hwiNpE AMazTqz6yXuAql43HnAZ5fkQhmhwmbY= X-Google-Smtp-Source: AB8JxZo+X6SqLzZFZNTXs19ABCP1z2TLAgFp/6vpDUoBPg6Jq1K2Pbd0Nzur6dECuz9QZqx4jescvw== X-Received: by 2002:a2e:9158:: with SMTP id q24-v6mr1312068ljg.73.1527069394248; Wed, 23 May 2018 02:56:34 -0700 (PDT) Received: from localhost ([87.54.42.112]) by smtp.gmail.com with ESMTPSA id n5-v6sm3373662ljh.84.2018.05.23.02.56.33 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 23 May 2018 02:56:33 -0700 (PDT) From: Esben Haabendal To: linux-i2c@vger.kernel.org Cc: Esben Haabendal , Wolfram Sang , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Lucas Stach , Philipp Zabel , Michail Georgios Etairidis , Wei Jinhua , Phil Reid , linux-kernel@vger.kernel.org Subject: [PATCH 3/4] i2c: imx: Simplify stopped state tracking Date: Wed, 23 May 2018 11:56:22 +0200 Message-Id: <20180523095623.3347-4-esben.haabendal@gmail.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180523095623.3347-1-esben.haabendal@gmail.com> References: <20180523095623.3347-1-esben.haabendal@gmail.com> Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org From: Esben Haabendal Always update the stopped state when busy status have been checked. This is identical to what was done before, with the exception of error handling. Without this change, some errors cause the stopped state to be left in incorrect state in i2c_imx_stop(), i2c_imx_dma_read(), i2c_imx_read() and i2c_imx_xfer(). Signed-off-by: Esben Haabendal --- drivers/i2c/busses/i2c-imx.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/i2c/busses/i2c-imx.c b/drivers/i2c/busses/i2c-imx.c index 742b548437af..f9c99b123188 100644 --- a/drivers/i2c/busses/i2c-imx.c +++ b/drivers/i2c/busses/i2c-imx.c @@ -430,10 +430,14 @@ static int i2c_imx_bus_busy(struct imx_i2c_struct *i2c_imx, int for_busy) return -EAGAIN; } - if (for_busy && (temp & I2SR_IBB)) + if (for_busy && (temp & I2SR_IBB)) { + i2c_imx->stopped = 0; break; - if (!for_busy && !(temp & I2SR_IBB)) + } + if (!for_busy && !(temp & I2SR_IBB)) { + i2c_imx->stopped = 1; break; + } if (time_after(jiffies, orig_jiffies + msecs_to_jiffies(500))) { dev_dbg(&i2c_imx->adapter.dev, "<%s> I2C bus is busy\n", __func__); @@ -547,7 +551,6 @@ static int i2c_imx_start(struct imx_i2c_struct *i2c_imx) result = i2c_imx_bus_busy(i2c_imx, 1); if (result) return result; - i2c_imx->stopped = 0; temp |= I2CR_IIEN | I2CR_MTX | I2CR_TXAK; temp &= ~I2CR_DMAEN; @@ -578,7 +581,6 @@ static void i2c_imx_stop(struct imx_i2c_struct *i2c_imx) if (!i2c_imx->stopped) { i2c_imx_bus_busy(i2c_imx, 0); - i2c_imx->stopped = 1; } /* Disable I2C controller */ @@ -733,7 +735,6 @@ static int i2c_imx_dma_read(struct imx_i2c_struct *i2c_imx, temp &= ~(I2CR_MSTA | I2CR_MTX); imx_i2c_write_reg(temp, i2c_imx, IMX_I2C_I2CR); i2c_imx_bus_busy(i2c_imx, 0); - i2c_imx->stopped = 1; } else { /* * For i2c master receiver repeat restart operation like: @@ -861,7 +862,6 @@ static int i2c_imx_read(struct imx_i2c_struct *i2c_imx, struct i2c_msg *msgs, bo temp &= ~(I2CR_MSTA | I2CR_MTX); imx_i2c_write_reg(temp, i2c_imx, IMX_I2C_I2CR); i2c_imx_bus_busy(i2c_imx, 0); - i2c_imx->stopped = 1; } else { /* * For i2c master receiver repeat restart operation like: From patchwork Wed May 23 09:56:23 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Esben Haabendal X-Patchwork-Id: 918918 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-i2c-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="kWejAFa8"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40rSbL72WGz9s16 for ; Wed, 23 May 2018 19:56:46 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932180AbeEWJ4o (ORCPT ); Wed, 23 May 2018 05:56:44 -0400 Received: from mail-wr0-f194.google.com ([209.85.128.194]:36615 "EHLO mail-wr0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932315AbeEWJ4h (ORCPT ); Wed, 23 May 2018 05:56:37 -0400 Received: by mail-wr0-f194.google.com with SMTP id k5-v6so13236172wrn.3; Wed, 23 May 2018 02:56:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=Ra2OYN6MSerXmY+5i4HQLMDJSyYuDcCi4MDX2iD+mnI=; b=kWejAFa8tMIveqMycOJTAiJZUcl8WVeGKtZ36fX5nuCFEvdq91ReKtjjhEcPTSE2Cy xmBJjGnXKwj252uT7Ka6/MuzAAziX5sLsNuFcT+s/ygWKUqcFUtRrL+CByqLIuidffpM LRo3RY0JJ83ahxJdkZzbHzE9mcabGZjUZHPXhefjQkTUNnNzLpgBhRTEvQwgY0vs77Eq bBHTW3Y4BwCCmrwHcannsFwyP8TTLHanOY1zXnLSQKEyStgtxGuq3SpIeB6MVWuIL0Ir 1CK+3POMZEn6AVwWa0ASIyNmJ9keaXFZgdXmjkH0jxzm3HDeNDKfxfmMCWmHah1wVVyJ +iGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=Ra2OYN6MSerXmY+5i4HQLMDJSyYuDcCi4MDX2iD+mnI=; b=PphgIXrpDGc0Y31kTRl7KTyRWlU24JEFHR5icHrG9vhkPZ/KXjNQGfxWpKjErCIHmZ hqqb2vCuqly8OQZyBqNB76d+KxG7rRoGvRl2ZUa+Ke4hkMcQpIcHTmkLJpjquBCmklVc YTSbW9b2x4Y+359jDHd4ITEXoossBnrbb4cyAJ+8ovN4EiowrKFM7x2KxzqsMantK2Tf BJDXUC1b1G6Y3zqW23v3nY5mubAEHEjnzyybQ6oZIrgrjqdd9iY+/IiKUOiy3LelWeby gkkehJzxJBnCP77oG/GhsyMT3YvT5kYW9FdNl8/F3xKR6Vh/f5ZXCS06iB6xx8aof2m1 5rIw== X-Gm-Message-State: ALKqPweGBphieC1wMbFFTVCXvhzf/hJFeVH9LIuAbOVwhW9QQ42hZOJ/ 1fd22ZDb1jD85uXWkA5Y+F6IQqdULsk= X-Google-Smtp-Source: AB8JxZr9UMFZ5vyadxrsxjxE941czDTYtpSicvEIS4hZx08aaOt295qEu8dsZgoqKByl1o8U15UExw== X-Received: by 2002:a19:c48f:: with SMTP id u137-v6mr1228729lff.2.1527069395684; Wed, 23 May 2018 02:56:35 -0700 (PDT) Received: from localhost ([87.54.42.112]) by smtp.gmail.com with ESMTPSA id f22-v6sm3333475ljc.50.2018.05.23.02.56.34 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 23 May 2018 02:56:35 -0700 (PDT) From: Esben Haabendal To: linux-i2c@vger.kernel.org Cc: Esben Haabendal , Rob Herring , Mark Rutland , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/4] arm: dts: ls1021a: Enable I2C DMA support Date: Wed, 23 May 2018 11:56:23 +0200 Message-Id: <20180523095623.3347-5-esben.haabendal@gmail.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180523095623.3347-1-esben.haabendal@gmail.com> References: <20180523095623.3347-1-esben.haabendal@gmail.com> Sender: linux-i2c-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-i2c@vger.kernel.org From: Esben Haabendal Gives substantial performance improvement for transfers larger than 16 bytes (DMA_THRESHOLD). Smaller transfers are unaffected. Signed-off-by: Esben Haabendal --- arch/arm/boot/dts/ls1021a.dtsi | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/arm/boot/dts/ls1021a.dtsi b/arch/arm/boot/dts/ls1021a.dtsi index c55d479971cc..1e5640701c65 100644 --- a/arch/arm/boot/dts/ls1021a.dtsi +++ b/arch/arm/boot/dts/ls1021a.dtsi @@ -363,6 +363,8 @@ interrupts = ; clock-names = "i2c"; clocks = <&clockgen 4 1>; + dma-names = "tx", "rx"; + dmas = <&edma0 1 39>, <&edma0 1 38>; status = "disabled"; }; @@ -374,6 +376,8 @@ interrupts = ; clock-names = "i2c"; clocks = <&clockgen 4 1>; + dma-names = "tx", "rx"; + dmas = <&edma0 1 37>, <&edma0 1 36>; status = "disabled"; }; @@ -385,6 +389,8 @@ interrupts = ; clock-names = "i2c"; clocks = <&clockgen 4 1>; + dma-names = "tx", "rx"; + dmas = <&edma0 1 35>, <&edma0 1 34>; status = "disabled"; };