From patchwork Fri Jun 2 11:52:00 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthias Schiffer X-Patchwork-Id: 13265196 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id F0F97C7EE29 for ; Fri, 2 Jun 2023 11:53:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=BJ2B0/ssqAmKd+b2NGpfIYkgaXIfeCkdmJxIKK+cdkw=; b=Njo9SXDNXTe9DV +P1yT8JeMv92iSbj/rRWzqq64VLxK65tznOM8zeSQXpSr2zNQ5K3SE5QfZHBEIvM1ZSkmXd1VIDTc jOzf7x8t1FjIwZIhFyLcgNSuFrmZb1Uc4CfjdR2FPjxFtYF6cDBoF+rKKe/KrmV4tAY/2vICKbrv0 yvg2kR0hdVOu85ro/bQNGrizVjYgG/1awjKI1tTsfR9zJ0TUwcNzSgG8HpuhF8Q5RZ6nrZ8wgGRrF Md7wMK1dgToDxdRKrjdpvNqm6wEmzqCgyq4AQNqRZXc2xoBlGxppUeHep3jhN9NsCAs40aZaPZTqA +qgUKZz0wsUr7qij8shw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q53Kq-006oTq-0A; Fri, 02 Jun 2023 11:52:48 +0000 Received: from mx1.tq-group.com ([93.104.207.81]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q53Kn-006oSa-0Y for linux-arm-kernel@lists.infradead.org; Fri, 02 Jun 2023 11:52:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1685706765; x=1717242765; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=LABoMO8CCV2HXsLiDgIjvxsb0uweZP5XENgJqsudm+M=; b=FCH3dsV/jrxjozsvgpcJ4zQ5Rpr/jHGWucz+UfimEBEVxe7S3Eoy4/Lz Rppuhjbw3HRzkWhqDBAg+OqZWU0wXtUq1kLLZaPYKH1iutTtzr8xfVBpd +qTEbTjDQhPFljs85hyxXE5p2Bgq4NnV5MDF7CVew78fkWrUYfGUIZL5M mq1VSXPpnnkmI4FwD+2fKdhttXVdz2hzFrUV16eIXsc5cBmaV4N0HVLzD JKNE58wmrOMAcryvbZkd2Y8+vQLajFtV6CFaeEhjWm/Wl9q4PnWU3k+cE UoUifvhvzr7NPuwAdJ+/uDWybxdvPXkQ4QRNbwN7j9nmTeqVPCeWGy7tk Q==; X-IronPort-AV: E=Sophos;i="6.00,212,1681164000"; d="scan'208";a="31246992" Received: from unknown (HELO tq-pgp-pr1.tq-net.de) ([192.168.6.15]) by mx1-pgp.tq-group.com with ESMTP; 02 Jun 2023 13:52:40 +0200 Received: from mx1.tq-group.com ([192.168.6.7]) by tq-pgp-pr1.tq-net.de (PGP Universal service); Fri, 02 Jun 2023 13:52:40 +0200 X-PGP-Universal: processed; by tq-pgp-pr1.tq-net.de on Fri, 02 Jun 2023 13:52:40 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1685706760; x=1717242760; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=LABoMO8CCV2HXsLiDgIjvxsb0uweZP5XENgJqsudm+M=; b=aTqFSHMRk3De/cHHxAvUPin7+/VybecWvYZ4dpNbElfpKMxbfpFWLyT6 130G6ZGi+hgqKgacfp8pka2AL8UsqyJJiJgEJSfjh+5kNdgirut8/rohF v9iS43h1/Lo3XZNgw1hOFTZiy1+JJKYWVKkRn74f+mJABPm+ujG84sxHE yoDVAy2M1GrSPP1uKydl1O39GqVKb0k4Xtpf/aaAIIjS7w7XfxgcdzMLx qoHipIotnKeCYqNL1qjxp1420RrQpKXJKGu+p5S/eG3W7zNBvE62P0ko1 mDcLBzMum9nwBgKUmXzqtUW0eLIJEK9zHFrLelmwa/fnaYY3Bcg2W+Y1X A==; X-IronPort-AV: E=Sophos;i="6.00,212,1681164000"; d="scan'208";a="31246991" Received: from vtuxmail01.tq-net.de ([10.115.0.20]) by mx1.tq-group.com with ESMTP; 02 Jun 2023 13:52:40 +0200 Received: from localhost.localdomain (unknown [192.168.66.223]) by vtuxmail01.tq-net.de (Postfix) with ESMTPA id DA2F4280087; Fri, 2 Jun 2023 13:52:39 +0200 (CEST) X-CheckPoint: {6479D7FA-2C-AA2CB662-E129E996} X-MAIL-CPID: AA5DA1E75EDCD4A6141B319D63173EDC_3 X-Control-Analysis: str=0001.0A782F1E.6479D808.0020,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0 From: Matthias Schiffer To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Linus Walleij Cc: linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux@ew.tq-group.com, Matthias Schiffer Subject: [PATCH 1/2] spi: dt-bindings: introduce linux,use-rt-queue flag Date: Fri, 2 Jun 2023 13:52:00 +0200 Message-Id: <20230602115201.415718-1-matthias.schiffer@ew.tq-group.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230602_045245_607090_A6368455 X-CRM114-Status: GOOD ( 14.74 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org We have seen a number of downstream patches that allow enabling the realtime feature of the SPI subsystem to reduce latency. These were usually implemented for a specific SPI driver, even though the actual handling of the rt flag is happening in the generic SPI controller code. Introduce a generic linux,use-rt-queue flag that can be used with any controller driver. The now redundant driver-specific pl022,rt flag is marked as deprecated. Signed-off-by: Matthias Schiffer --- Documentation/devicetree/bindings/spi/spi-controller.yaml | 6 ++++++ Documentation/devicetree/bindings/spi/spi-pl022.yaml | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/spi/spi-controller.yaml b/Documentation/devicetree/bindings/spi/spi-controller.yaml index 524f6fe8c27b4..a24b4ea87443b 100644 --- a/Documentation/devicetree/bindings/spi/spi-controller.yaml +++ b/Documentation/devicetree/bindings/spi/spi-controller.yaml @@ -79,6 +79,12 @@ properties: description: The SPI controller acts as a slave, instead of a master. + linux,use-rt-queue: + $ref: /schemas/types.yaml#/definitions/flag + description: + Indicates that the controller should run the message pump with realtime + priority to minimise the transfer latency on the bus. + slave: type: object diff --git a/Documentation/devicetree/bindings/spi/spi-pl022.yaml b/Documentation/devicetree/bindings/spi/spi-pl022.yaml index 91e540a92fafe..3c43fcc007e1f 100644 --- a/Documentation/devicetree/bindings/spi/spi-pl022.yaml +++ b/Documentation/devicetree/bindings/spi/spi-pl022.yaml @@ -49,8 +49,10 @@ properties: pl022,rt: description: indicates the controller should run the message pump with realtime - priority to minimise the transfer latency on the bus (boolean) + priority to minimise the transfer latency on the bus (deprecated, use the + generic linux,use-rt-queue property) type: boolean + deprecated: true dmas: description: From patchwork Fri Jun 2 11:52:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthias Schiffer X-Patchwork-Id: 13265197 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BF68EC7EE2E for ; Fri, 2 Jun 2023 11:53:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=zM1JIOoIIo9IaDn2GOeV/ddzYTzcSI9w86fGAzM+yoU=; b=zQHnbcHrtlyROg cPIY4SmKpIBuwHEKbUUcIjP6TWh4veqBbM6sDZ0jANQTsnjLVk0ZSpsnX5ZYp9dFfMIA3aRkoO+Gn ZT50/R1MGnyoFlO9MHkGiVB0sU+FPqUpxwy5VUU1G1iDpHtHixhJuQ3oZcf57ZAVOi+D4NC1EKFST ZmQooOcrpqOZBHccty9dH7XC+ySAQ2QGDdSKEmZuSRn+vK7VpDAaoXgWryQk1L9uJEw5HaDeaJHYb DKOYRQ+ftWM07qV8wJP6PyDw6a1wbdU951L4bdYp39LOoF3fD+njuoxjU1TGGBQra5iGeACXYMuNs iFo7Olpjrm+JHgj6V/7g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q53Ks-006oUd-26; Fri, 02 Jun 2023 11:52:50 +0000 Received: from mx1.tq-group.com ([93.104.207.81]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q53Kp-006oSa-20 for linux-arm-kernel@lists.infradead.org; Fri, 02 Jun 2023 11:52:49 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1685706767; x=1717242767; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=0NfMqRU9yhxmvM+iGSJczBKuYku1/L+ddjdiE0oaavY=; b=YTr0CLUQXjuBi/etdbEEnM1hAppJGHy7Y4C7AHG/bcv/Y4ffGU6DBF7B rvOxDNl2jKwOeiANZiKidVkQmN7+jqC5H+2AilZpke+VHLH9bdAzQfDBU jTD109QacgrV7hIwVOHSq+5guKkHsXnAsR3WdFuYxctncNKOcZXhIJCqa nDb0pC2wNgISq3a/2quD4lnNnSg8RN39Uutikmxgt21m0e8d5kkcHkZyu nLfxEqofPDNbn6zLGMvT4cO1VYVP2CmBVt3yspQADCzK6G8exAUxCxKdu 1yd6/CoN67mO9oDqKSVEyUgsUTJffvVQO6XMl/MqrO+cc6VYU3mTm2gJ2 Q==; X-IronPort-AV: E=Sophos;i="6.00,212,1681164000"; d="scan'208";a="31246994" Received: from unknown (HELO tq-pgp-pr1.tq-net.de) ([192.168.6.15]) by mx1-pgp.tq-group.com with ESMTP; 02 Jun 2023 13:52:41 +0200 Received: from mx1.tq-group.com ([192.168.6.7]) by tq-pgp-pr1.tq-net.de (PGP Universal service); Fri, 02 Jun 2023 13:52:41 +0200 X-PGP-Universal: processed; by tq-pgp-pr1.tq-net.de on Fri, 02 Jun 2023 13:52:41 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tq-group.com; i=@tq-group.com; q=dns/txt; s=key1; t=1685706761; x=1717242761; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=0NfMqRU9yhxmvM+iGSJczBKuYku1/L+ddjdiE0oaavY=; b=RY2yUqKp7kCCBJXzxw8QUxLDnUU1bcO6HELiHEcoOMFLf0/t6jeLJ1Zd o4G+30SJgbUQc4hPI0D2izEMvl92qbeEDhtKgEtMIufZnE5QNXPHxwTXA GSCxx+0YGXOzKNudMXcZq8X0VaEBbJ/1QhF7roMipDSaRtV6cUwSuq5gX GlhU+I4zy6In0fRKS/HhUvH3UL6wO2lnDNGQsF3nXBwn+KkJzb4BQedem qwAceopcXaVAIwd0wUTKm/aKHiFRCOKyk8eUgqQKM7wlvzqOUJDm+s4+p Uq3siTP5slXDcmDo08JqZSau3tkoxhfxUa5SBBYa9qjDi5x+tovX5nKyC A==; X-IronPort-AV: E=Sophos;i="6.00,212,1681164000"; d="scan'208";a="31246993" Received: from vtuxmail01.tq-net.de ([10.115.0.20]) by mx1.tq-group.com with ESMTP; 02 Jun 2023 13:52:41 +0200 Received: from localhost.localdomain (unknown [192.168.66.223]) by vtuxmail01.tq-net.de (Postfix) with ESMTPA id 8B52F280088; Fri, 2 Jun 2023 13:52:40 +0200 (CEST) X-CheckPoint: {6479D7FA-2C-AA2CB662-E129E996} X-MAIL-CPID: 2E05E409D839B4ED1AB3D8DA2C10A9CF_3 X-Control-Analysis: str=0001.0A782F1E.6479D809.0001,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0 From: Matthias Schiffer To: Mark Brown , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Linus Walleij Cc: linux-spi@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux@ew.tq-group.com, Matthias Schiffer Subject: [PATCH 2/2] spi: add support for generic linux,use-rt-queue flag Date: Fri, 2 Jun 2023 13:52:01 +0200 Message-Id: <20230602115201.415718-2-matthias.schiffer@ew.tq-group.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230602115201.415718-1-matthias.schiffer@ew.tq-group.com> References: <20230602115201.415718-1-matthias.schiffer@ew.tq-group.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230602_045247_959805_C818ABC5 X-CRM114-Status: GOOD ( 12.67 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Instead of requiring per-driver support to handle the message queue with realtime priority, add handling for a linux,use-rt-queue DT flag to the generic SPI controller initialization. Signed-off-by: Matthias Schiffer --- drivers/spi/spi.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c index 9291b2a0e8871..f069f1aef5378 100644 --- a/drivers/spi/spi.c +++ b/drivers/spi/spi.c @@ -3185,6 +3185,11 @@ int spi_register_controller(struct spi_controller *ctlr) ctlr->mode_bits |= SPI_CS_HIGH; } + /* Run message pump with realtime priority */ + if (ctlr->dev.of_node && + of_property_read_bool(ctlr->dev.of_node, "linux,use-rt-queue")) + ctlr->rt = true; + /* * Even if it's just one always-selected device, there must * be at least one chipselect.