Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp4126527ybv; Tue, 25 Feb 2020 13:44:47 -0800 (PST) X-Google-Smtp-Source: APXvYqzqDofbJVLs4isnobuZCq32lO6lCUi0pZ9uiKpoP3wCC6hN/7nuwXo8z21hNOjlEt7Suh62 X-Received: by 2002:a9d:7386:: with SMTP id j6mr501338otk.336.1582667087630; Tue, 25 Feb 2020 13:44:47 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582667087; cv=none; d=google.com; s=arc-20160816; b=PWsglsYmnRq2NqNSPVdfjOXV4pHCAhL0lU3waC6KLqlQYoxuXZKNtvAkmQYCBW3+gZ s8nKXqC2Kk5o/kMaWA6phvOg7LOvm4IjAXMf9z5+PBEeABlK4A7qf2M/QQvVkFurcKqH yIzMvGL1FGnuyAy+fGngJQciP1GO5sCO6Qmzwll1DY54Me935TsfOg4nMgLodl7WBHvQ RbtXSTLYyGslOWV/9oZKdrjNsb3H/tsJHoQeFK+nnTc6xHlha3HOp8dV/d598Crqf/NY HSVJLDorktMaEmBu4LNeDUSiP+WeS1vxI88xGPyINpxK9zwA7cFUVrz1Xd1gY7rdxRek LlxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:autocrypt:openpgp:from:references:cc:to:subject; bh=KGlx8XCXoYwzEa2YcM+Egfbo7xKDdolmtlCHAbjZz2w=; b=foFbaTJLEezE6eJazaj4D+AIUqNykAHffC90H6Ml1EhXYs4hvac1w19LlGB9BAsBjJ 0YQrGFSb1tCuTb4Wb77BBotOc6KQfEGL2h94ozZBljK9Aw0I9eMtmTHdHGH4Out/m8RB hAuMxwBO1s8Fs8fsdwl5s5ewqvuL+cowFigBYsroxP1TA0McJPjvYaJksy8Nawlao0dZ BALfXoTcmEB2hsxkY5kcqqFJ6RVadzydi80UpPMScRGaBtxkzTVztX0m8MgxCaMoQ+Rh bDe6dGbe3psk7O7sHNtLqW9dpb26tKs7cdg5zCmz38Wa620JxhTrAq2XfuY++fU0aUze 7Lqg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r5si15048oic.19.2020.02.25.13.44.35; Tue, 25 Feb 2020 13:44:47 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729131AbgBYVnQ (ORCPT + 99 others); Tue, 25 Feb 2020 16:43:16 -0500 Received: from metis.ext.pengutronix.de ([85.220.165.71]:53419 "EHLO metis.ext.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728756AbgBYVnP (ORCPT ); Tue, 25 Feb 2020 16:43:15 -0500 Received: from gallifrey.ext.pengutronix.de ([2001:67c:670:201:5054:ff:fe8d:eefb] helo=bjornoya.blackshift.org) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1j6hyx-0004nE-BA; Tue, 25 Feb 2020 22:43:11 +0100 Received: from [IPv6:2a03:f580:87bc:d400:6ccf:3365:1a9c:55ad] (unknown [IPv6:2a03:f580:87bc:d400:6ccf:3365:1a9c:55ad]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mkl@blackshift.org", Issuer "StartCom Class 1 Client CA" (not verified)) (Authenticated sender: mkl@blackshift.org) by smtp.blackshift.org (Postfix) with ESMTPSA id C8E924C0A43; Tue, 25 Feb 2020 21:43:09 +0000 (UTC) Subject: Re: [PATCH] can: mcp251x: convert to half-duplex SPI To: Tim Harvey , linux-kernel@vger.kernel.org, linux-can@vger.kernel.org, Wolfgang Grandegger Cc: =?UTF-8?Q?Timo_Schl=c3=bc=c3=9fler?= , Andy Shevchenko References: <1582655734-20890-1-git-send-email-tharvey@gateworks.com> From: Marc Kleine-Budde Openpgp: preference=signencrypt Autocrypt: addr=mkl@pengutronix.de; prefer-encrypt=mutual; keydata= mQINBFFVq30BEACtnSvtXHoeHJxG6nRULcvlkW6RuNwHKmrqoksispp43X8+nwqIFYgb8UaX zu8T6kZP2wEIpM9RjEL3jdBjZNCsjSS6x1qzpc2+2ivjdiJsqeaagIgvy2JWy7vUa4/PyGfx QyUeXOxdj59DvLwAx8I6hOgeHx2X/ntKAMUxwawYfPZpP3gwTNKc27dJWSomOLgp+gbmOmgc 6U5KwhAxPTEb3CsT5RicsC+uQQFumdl5I6XS+pbeXZndXwnj5t84M+HEj7RN6bUfV2WZO/AB Xt5+qFkC/AVUcj/dcHvZwQJlGeZxoi4veCoOT2MYqfR0ax1MmN+LVRvKm29oSyD4Ts/97cbs XsZDRxnEG3z/7Winiv0ZanclA7v7CQwrzsbpCv+oj+zokGuKasofzKdpywkjAfSE1zTyF+8K nxBAmzwEqeQ3iKqBc3AcCseqSPX53mPqmwvNVS2GqBpnOfY7Mxr1AEmxdEcRYbhG6Xdn+ACq Dq0Db3A++3PhMSaOu125uIAIwMXRJIzCXYSqXo8NIeo9tobk0C/9w3fUfMTrBDtSviLHqlp8 eQEP8+TDSmRP/CwmFHv36jd+XGmBHzW5I7qw0OORRwNFYBeEuiOIgxAfjjbLGHh9SRwEqXAL kw+WVTwh0MN1k7I9/CDVlGvc3yIKS0sA+wudYiselXzgLuP5cQARAQABtCZNYXJjIEtsZWlu ZS1CdWRkZSA8bWtsQHBlbmd1dHJvbml4LmRlPokCVAQTAQoAPgIbAwIeAQIXgAULCQgHAwUV CgkICwUWAgMBABYhBMFAC6CzmJ5vvH1bXCte4hHFiupUBQJcUsSbBQkM366zAAoJECte4hHF iupUgkAP/2RdxKPZ3GMqag33jKwKAbn/fRqAFWqUH9TCsRH3h6+/uEPnZdzhkL4a9p/6OeJn Z6NXqgsyRAOTZsSFcwlfxLNHVxBWm8pMwrBecdt4lzrjSt/3ws2GqxPsmza1Gs61lEdYvLST Ix2vPbB4FAfE0kizKAjRZzlwOyuHOr2ilujDsKTpFtd8lV1nBNNn6HBIBR5ShvJnwyUdzuby tOsSt7qJEvF1x3y49bHCy3uy+MmYuoEyG6zo9udUzhVsKe3hHYC2kfB16ZOBjFC3lH2U5An+ yQYIIPZrSWXUeKjeMaKGvbg6W9Oi4XEtrwpzUGhbewxCZZCIrzAH2hz0dUhacxB201Y/faY6 BdTS75SPs+zjTYo8yE9Y9eG7x/lB60nQjJiZVNvZ88QDfVuLl/heuIq+fyNajBbqbtBT5CWf mOP4Dh4xjm3Vwlz8imWW/drEVJZJrPYqv0HdPbY8jVMpqoe5jDloyVn3prfLdXSbKPexlJaW 5tnPd4lj8rqOFShRnLFCibpeHWIumqrIqIkiRA9kFW3XMgtU6JkIrQzhJb6Tc6mZg2wuYW0d Wo2qvdziMgPkMFiWJpsxM9xPk9BBVwR+uojNq5LzdCsXQ2seG0dhaOTaaIDWVS8U/V8Nqjrl 6bGG2quo5YzJuXKjtKjZ4R6k762pHJ3tnzI/jnlc1sXz Message-ID: <0ac77abd-0df5-e437-ea46-f6c77f59b81c@pengutronix.de> Date: Tue, 25 Feb 2020 22:43:07 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: <1582655734-20890-1-git-send-email-tharvey@gateworks.com> Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: 7bit X-SA-Exim-Connect-IP: 2001:67c:670:201:5054:ff:fe8d:eefb X-SA-Exim-Mail-From: mkl@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: linux-kernel@vger.kernel.org Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/25/20 7:35 PM, Tim Harvey wrote: > Some SPI host controllers such as the Cavium Thunder do not support > full-duplex SPI. Using half-duplex transfers allows the driver to work > with those host controllers. There are several transfers left in the driver, where both rx_buf and tx_buf are set. How does your host controller driver know which one to handle? Marc > Signed-off-by: Tim Harvey > --- > drivers/net/can/spi/mcp251x.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/net/can/spi/mcp251x.c b/drivers/net/can/spi/mcp251x.c > index 5009ff2..840c31c 100644 > --- a/drivers/net/can/spi/mcp251x.c > +++ b/drivers/net/can/spi/mcp251x.c > @@ -290,23 +290,23 @@ static u8 mcp251x_read_reg(struct spi_device *spi, u8 reg) > priv->spi_tx_buf[0] = INSTRUCTION_READ; > priv->spi_tx_buf[1] = reg; > > - mcp251x_spi_trans(spi, 3); > - val = priv->spi_rx_buf[2]; > + spi_write_then_read(spi, priv->spi_tx_buf, 2, &val, 1); > > return val; > } > > static void mcp251x_read_2regs(struct spi_device *spi, u8 reg, u8 *v1, u8 *v2) > { > + u8 val[4] = {0}; > struct mcp251x_priv *priv = spi_get_drvdata(spi); > > priv->spi_tx_buf[0] = INSTRUCTION_READ; > priv->spi_tx_buf[1] = reg; > > - mcp251x_spi_trans(spi, 4); > + spi_write_then_read(spi, priv->spi_tx_buf, 2, val, 2); > > - *v1 = priv->spi_rx_buf[2]; > - *v2 = priv->spi_rx_buf[3]; > + *v1 = val[0]; > + *v2 = val[1]; > } > > static void mcp251x_write_reg(struct spi_device *spi, u8 reg, u8 val) > Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |