From patchwork Fri Jul 18 11:30:59 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Markus Niebel X-Patchwork-Id: 4582611 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 98986C0514 for ; Fri, 18 Jul 2014 11:21:39 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id D5B012011E for ; Fri, 18 Jul 2014 11:21:38 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B11BA2011D for ; Fri, 18 Jul 2014 11:21:37 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1X86CI-0007mv-5B; Fri, 18 Jul 2014 11:19:30 +0000 Received: from smtprelay01.ispgateway.de ([80.67.31.28]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1X86CE-0007cz-8a for linux-arm-kernel@lists.infradead.org; Fri, 18 Jul 2014 11:19:26 +0000 Received: from [89.246.71.91] (helo=mail6.tqsc.de) by smtprelay01.ispgateway.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.68) (envelope-from ) id 1X86Br-0003pI-3Z; Fri, 18 Jul 2014 13:19:03 +0200 Received: from sc1006092vm.tqsc.de ([192.168.169.50] helo=ubuntu.tqsc.de) by mail6.tqsc.de with esmtpsa (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.69) (envelope-from ) id 1X86Bq-0007Y4-NL; Fri, 18 Jul 2014 13:19:02 +0200 From: Markus Niebel To: linux-arm-kernel@lists.infradead.org Subject: [PATCH] SPI: spi-imx: enable realtime master workqueue Date: Fri, 18 Jul 2014 13:30:59 +0200 Message-Id: <1405683059-23316-1-git-send-email-list-09_linux_arm@tqsc.de> X-Mailer: git-send-email 1.7.9.5 X-Df-Sender: MTQ1NzgzNQ== X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20140718_041926_484510_E9CE20F2 X-CRM114-Status: UNSURE ( 8.33 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -0.0 (/) Cc: shawn.guo@linaro.org, Markus Niebel X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,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 From: Markus Niebel SPI master provides an option to run the SPI workqueue with realtime prio. This feature is currently used only by spi-pl022. Support this feature for spi-imx by parsing an optional bool value from device tree. Note: maybe useful for all SPI controllers. Signed-off-by: Markus Niebel --- .../devicetree/bindings/spi/fsl-imx-cspi.txt | 4 ++++ drivers/spi/spi-imx.c | 1 + 2 files changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/spi/fsl-imx-cspi.txt b/Documentation/devicetree/bindings/spi/fsl-imx-cspi.txt index 4256a6d..6b908c7 100644 --- a/Documentation/devicetree/bindings/spi/fsl-imx-cspi.txt +++ b/Documentation/devicetree/bindings/spi/fsl-imx-cspi.txt @@ -8,6 +8,10 @@ Required properties: - fsl,spi-num-chipselects : Contains the number of the chipselect - cs-gpios : Specifies the gpio pins to be used for chipselects. +Optional properties: +- fsl,rt : indicates the controller should run the message pump with realtime + priority to minimise the transfer latency on the bus (boolean) + Example: ecspi@70010000 { diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c index 5daff20..3a9c373 100644 --- a/drivers/spi/spi-imx.c +++ b/drivers/spi/spi-imx.c @@ -835,6 +835,7 @@ static int spi_imx_probe(struct platform_device *pdev) master->bits_per_word_mask = SPI_BPW_RANGE_MASK(1, 32); master->bus_num = pdev->id; master->num_chipselect = num_cs; + master->rt = of_property_read_bool(np, "fsl,rt"); spi_imx = spi_master_get_devdata(master); spi_imx->bitbang.master = master;