Received: by 2002:a05:6a10:2785:0:0:0:0 with SMTP id ia5csp2986244pxb; Tue, 12 Jan 2021 03:38:30 -0800 (PST) X-Google-Smtp-Source: ABdhPJyW079ByTQNIi02BiIuMwvQlL0/hTr+gpeqh62q6EkhgjSlaKNt6RrzxXhJwBn1Qg4cAV/+ X-Received: by 2002:a05:6402:1696:: with SMTP id a22mr3073968edv.385.1610451510554; Tue, 12 Jan 2021 03:38:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1610451510; cv=none; d=google.com; s=arc-20160816; b=SuEB/yDzn/1NiJXsSKDi6QTlB4YkAIZeTPZZ/4VjglYj+4YO0eIvbDyoLHRqkJ+dIN BDVMZKkS38iYWE8iffNZgdd2UrcmdeQaSbk5i38P5Lon6720yGpA62/B8MWNc1cbcZCM 0+80OD7Iv+uyHJ/CiUvupPEsZN2Vr8dH7c5GXocEK+5PJh91qvzH/G6XQqBKW2BRt+VD XpgXNtsTrs2qkRU8Oidl1BDiRGTYHFFZyUbcW+oh5eSliyUpjd+Ba57r7erJnJMG7pil Zvr/sWWhopMKH+jSbOUGgzQ7E+uEh5ablRMjlZQPkGgZ/HY276LinHyCE//vs0/z253B Rw/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=Pfzz7l17zO3erl7HnZ14MU6A8piqpvlZfarO4jWZYJ4=; b=uiISJlrTrhdwvSfz+48Wty5SDVCRWpjGNZ6vO1Eo0Kr4Cn0TRyGGYz3iK/Tq6GPWUI kv41tvbrWCD9dxJcT/TwxPtenK3Xrn5EVn/xc4UezNFD3xm1mKVrM2tDEzMdqLKFB2bK LkTI+o/rwwKximGGtQb6wfkFBDvcF2GeimK3aara1q3e/F2CZT7gx/9IOJoQimwo9XbJ 309bxkCZ00WfopdZmW5Tj9bl8Db9QOzR7jC+qM+AxeaT2t5/oCL8GluXiD1suBbHXxZj 4dF5O4Hjp4J67CI/Eat8ykti7UsqUTwGtK9CUip6ZtaCKm7gdG/ewTIqhk+J3DTdhXXr 0FIw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j27si274067ejf.1.2021.01.12.03.38.06; Tue, 12 Jan 2021 03:38:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2392012AbhALHcf (ORCPT + 99 others); Tue, 12 Jan 2021 02:32:35 -0500 Received: from bmailout1.hostsharing.net ([83.223.95.100]:43139 "EHLO bmailout1.hostsharing.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2391921AbhALHcf (ORCPT ); Tue, 12 Jan 2021 02:32:35 -0500 Received: from h08.hostsharing.net (h08.hostsharing.net [83.223.95.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.hostsharing.net", Issuer "RapidSSL TLS DV RSA Mixed SHA256 2020 CA-1" (verified OK)) by bmailout1.hostsharing.net (Postfix) with ESMTPS id 77F5E300002AA; Tue, 12 Jan 2021 08:31:52 +0100 (CET) Received: by h08.hostsharing.net (Postfix, from userid 100393) id 68CA219B9; Tue, 12 Jan 2021 08:31:52 +0100 (CET) Date: Tue, 12 Jan 2021 08:31:52 +0100 From: Lukas Wunner To: Vinod Koul Cc: Bjorn Andersson , Mark Brown , Wolfram Sang , linux-arm-msm@vger.kernel.org, Andy Gross , Matthias Kaehlcke , Douglas Anderson , Sumit Semwal , Amit Pundir , linux-spi@vger.kernel.org, linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 4/7] spi: spi-geni-qcom: Add support for GPI dma Message-ID: <20210112073152.GA11056@wunner.de> References: <20210111151651.1616813-1-vkoul@kernel.org> <20210111151651.1616813-5-vkoul@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20210111151651.1616813-5-vkoul@kernel.org> User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jan 11, 2021 at 08:46:48PM +0530, Vinod Koul wrote: > @@ -328,8 +609,34 @@ static int spi_geni_init(struct spi_geni_master *mas) > spi_tx_cfg &= ~CS_TOGGLE; > writel(spi_tx_cfg, se->base + SE_SPI_TRANS_CFG); > > + mas->tx = dma_request_slave_channel(mas->dev, "tx"); > + if (IS_ERR_OR_NULL(mas->tx)) { > + dev_err(mas->dev, "Failed to get tx DMA ch %ld", PTR_ERR(mas->tx)); > + ret = PTR_ERR(mas->tx); > + goto out_pm; > + } else { > + mas->rx = dma_request_slave_channel(mas->dev, "rx"); > + if (IS_ERR_OR_NULL(mas->rx)) { > + dev_err(mas->dev, "Failed to get rx DMA ch %ld", PTR_ERR(mas->rx)); > + dma_release_channel(mas->tx); > + ret = PTR_ERR(mas->rx); > + goto out_pm; > + } These channels need to be released in spi_geni_remove(). Also, you may want to fall back to PIO mode if channel allocation fails. Thanks, Lukas