From patchwork Wed Dec 12 09:37:17 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabio Baltieri X-Patchwork-Id: 1865311 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) by patchwork1.kernel.org (Postfix) with ESMTP id 18B313FC81 for ; Wed, 12 Dec 2012 09:41:51 +0000 (UTC) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1Tiim7-0006g8-3y; Wed, 12 Dec 2012 09:38:47 +0000 Received: from mail-ea0-f177.google.com ([209.85.215.177]) by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1Tiilg-0006VG-LU for linux-arm-kernel@lists.infradead.org; Wed, 12 Dec 2012 09:38:21 +0000 Received: by mail-ea0-f177.google.com with SMTP id c10so149381eaa.36 for ; Wed, 12 Dec 2012 01:38:19 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references :x-gm-message-state; bh=7a+RptyfaznGX7t93FOUyo3wdIfj/hgBuUnpYElIJpc=; b=IZ6bPt9uCuhqjj9CePiqscUFL/l8Hcox9i4cn62LoIjbOmbvHr6lu1qFM2m1gYz/pH 0ztcWf1CrCCc+9KHuQtwi6pBIEh/PXGBIqe4qAgb0gHVUgCkqC2tfRfwHLOpHoUM6saO Tv4nr6vTqgtyqZ3UNC5qDu/E1mzjwoRvYo72GxQBDnchdXpzT9rAIZ/5MqH/bYZrWU0p kWOzX42A6JqC9AA/VM4Eene6lropxJMRdKDZFFQ7EY8YNjIk0ZaeKsb4wMXDZU7T5t+5 ZPdzbi3hweDlhFscgVO2mRbjw8i8v+tF2s5y6eSVyYAyqAxcKubVr+mo7qqhv43jeFxl BvOQ== Received: by 10.14.174.132 with SMTP id x4mr651941eel.39.1355305099457; Wed, 12 Dec 2012 01:38:19 -0800 (PST) Received: from localhost ([2a01:2003:1:1d66:8e70:5aff:feac:ad8]) by mx.google.com with ESMTPS id f49sm54815863eep.12.2012.12.12.01.38.17 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 12 Dec 2012 01:38:19 -0800 (PST) From: Fabio Baltieri To: Linus Walleij , Srinidhi Kasagar Subject: [PATCH 3/7] dmaengine: ste_dma40: set dma max seg size Date: Wed, 12 Dec 2012 10:37:17 +0100 Message-Id: <1355305041-2338-4-git-send-email-fabio.baltieri@linaro.org> X-Mailer: git-send-email 1.7.12.1 In-Reply-To: <1355305041-2338-1-git-send-email-fabio.baltieri@linaro.org> References: <1355305041-2338-1-git-send-email-fabio.baltieri@linaro.org> X-Gm-Message-State: ALoCoQlck5ZLDQ8CTyMBR00I6mGpuX1gKgRvG+qm+jAT3E/5++LzJgFVMC4tZaa+tw3iSdTF9UmD X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20121212_043820_899580_4DAE22A4 X-CRM114-Status: GOOD ( 11.90 ) X-Spam-Score: -2.6 (--) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-2.6 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [209.85.215.177 listed in list.dnswl.org] -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: Per Forlin , Fabio Baltieri , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org From: Per Forlin Maximum DMA seg size is (0xffff x data_width). If max seg size is not set it deafults to 64k. This results in failure if transferring 64k in byte mode. Large seg sizes may be supported by splitting large transfer. Signed-off-by: Per Forlin Acked-by: Linus Walleij Signed-off-by: Fabio Baltieri --- drivers/dma/ste_dma40.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c index ae55091..16c96f5 100644 --- a/drivers/dma/ste_dma40.c +++ b/drivers/dma/ste_dma40.c @@ -345,6 +345,7 @@ struct d40_base { int irq; int num_phy_chans; int num_log_chans; + struct device_dma_parameters dma_parms; struct dma_device dma_both; struct dma_device dma_slave; struct dma_device dma_memcpy; @@ -3363,6 +3364,13 @@ static int __init d40_probe(struct platform_device *pdev) if (err) goto failure; + base->dev->dma_parms = &base->dma_parms; + err = dma_set_max_seg_size(base->dev, STEDMA40_MAX_SEG_SIZE); + if (err) { + d40_err(&pdev->dev, "Failed to set dma max seg size\n"); + goto failure; + } + d40_hw_init(base); dev_info(base->dev, "initialized\n");