All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dirk Brandewie <dirk.brandewie@gmail.com>
To: Feng Tang <feng.tang@intel.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"spi-devel-general@lists.sourceforge.net"
	<spi-devel-general@lists.sourceforge.net>
Subject: Re: [PATCH 09/11] spi-dw: Fix condition in spi_dw_{writer/reader}
Date: Wed, 22 Jun 2011 20:09:34 -0700	[thread overview]
Message-ID: <4E02AE6E.5010307@gmail.com> (raw)
In-Reply-To: <20110623104506.3cfd55ce@feng-i7>

On 06/22/2011 07:45 PM, Feng Tang wrote:
> On Thu, 23 Jun 2011 10:00:11 +0800
> "dirk.brandewie@gmail.com"<dirk.brandewie@gmail.com>  wrote:
>
>> From: Dirk Brandewie<dirk.brandewie@gmail.com>
>>
>> Fix the condition based on whether the current transfer has a tx/rx
>> buffer.
>>
>> Signed-off-by: Dirk Brandewie<dirk.brandewie@gmail.com>
>> ---
>>   drivers/spi/spi-dw.c |    6 +++---
>>   1 files changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/spi/spi-dw.c b/drivers/spi/spi-dw.c
>> index cc38aa0..35b952b 100644
>> --- a/drivers/spi/spi-dw.c
>> +++ b/drivers/spi/spi-dw.c
>> @@ -193,8 +193,8 @@ static void spi_dw_writer(struct spi_dw *dws)
>>   	u16 txw = 0;
>>
>>   	while (max--) {
>> -		/* Set the tx word if the transfer's original "tx"
>> is not null */
>> -		if (dws->tx_end - dws->len) {
>> +		/* Set the tx word if the transfer's "tx" is not
>> null */
>> +		if (dws->tx) {
>
> No, in current mainstream code, the dws->tx is changing, see code:
> 	dws->tx += dws->n_bytes;
> so we have to use if (dws->tx_end - dws->len) for now, maybe
> we can use some bit to indicate whether the original tx is null

If dws->tx is non-null then it points to a valid buffer, it is unconditionally 
set with dws->tx = (void *)transfer->tx_buf when the transfer is setup.  if the 
original transfer->tx_buf is non-null then this change works.

>
>>   			if (dws->n_bytes == 1)
>>   				txw = *(u8 *)(dws->tx);
>>   			else
>> @@ -213,7 +213,7 @@ static void spi_dw_reader(struct spi_dw *dws)
>>   	while (max--) {
>>   		rxw = dw_readw(dws, dr);
>>   		/* Care rx only if the transfer's original "rx" is
>> not null */
>> -		if (dws->rx_end - dws->len) {
>> +		if (dws->rx) {
>>   			if (dws->n_bytes == 1)
>>   				*(u8 *)(dws->rx) = rxw;
>>   			else

  reply	other threads:[~2011-06-23  3:09 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-23  2:00 [PATCH 00/11] RFC spi-dw updates dirk.brandewie
2011-06-23  2:00 ` [PATCH 01/11] spi-dw: expose platform data stucture dirk.brandewie
2011-06-23  3:47   ` Grant Likely
2011-06-23  4:00     ` Dirk Brandewie
2011-06-23  4:03       ` glikely@secretlab.ca
2011-06-23  4:37         ` Dirk Brandewie
2011-06-23  5:06           ` glikely@secretlab.ca
2011-06-23  5:16             ` Dirk Brandewie
     [not found] ` <1308794413-11069-1-git-send-email-dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-06-23  2:00   ` [PATCH 02/11] spi-dw: update function naming convention to match file naming dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-23  2:00     ` dirk.brandewie
2011-06-23  2:00   ` [PATCH 03/11] spi-dw: change MRST prefix to generic prefix dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-23  2:00     ` dirk.brandewie
2011-06-23  2:00   ` [PATCH 04/11] spi-dw: remove unused definition dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-23  2:00     ` dirk.brandewie
2011-06-23  2:00   ` [PATCH 05/11] spi-dw: split spi_dw_enable_chip() into spi_dw_enable()/spi_dw_disable() dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-23  2:00     ` dirk.brandewie
2011-06-23  2:00   ` [PATCH 06/11] spi-dw: Force error on out of range chip select dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-23  2:00     ` dirk.brandewie
2011-06-23  3:51     ` Grant Likely
2011-06-23  4:13       ` Dirk Brandewie
2011-06-23  2:00   ` [PATCH 07/11] spi-dw: Set number of available chip selects correctly dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-23  2:00     ` dirk.brandewie
2011-06-23  3:53     ` Grant Likely
2011-06-23  2:00   ` [PATCH 08/11] spi-dw: Ensure fifo lenght is set dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-23  2:00     ` dirk.brandewie
2011-06-23  2:41     ` Feng Tang
2011-06-23  3:01       ` Dirk Brandewie
2011-06-23  3:21         ` Feng Tang
2011-06-23  3:55     ` Grant Likely
2011-06-23  4:20       ` Dirk Brandewie
2011-06-23  2:00   ` [PATCH 09/11] spi-dw: Fix condition in spi_dw_{writer/reader} dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-23  2:00     ` dirk.brandewie
2011-06-23  2:45     ` Feng Tang
2011-06-23  3:09       ` Dirk Brandewie [this message]
2011-06-23  3:25         ` Feng Tang
2011-06-23  3:30           ` Dirk Brandewie
2011-06-23  5:09             ` Feng Tang
2011-06-23  2:00   ` [PATCH 11/11] spi-dw: remove noop else clause dirk.brandewie-Re5JQEeQqe8AvxtiuMwx3w
2011-06-23  2:00     ` dirk.brandewie
2011-06-23  2:47     ` Feng Tang
2011-06-23  3:13       ` Dirk Brandewie
2011-06-23  2:00 ` [PATCH 10/11] spi-dw: Move checking of max_speed_hz value to be a prerequisite in spi_dw_setup dirk.brandewie
2011-06-23  2:39 ` [PATCH 00/11] RFC spi-dw updates Feng Tang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E02AE6E.5010307@gmail.com \
    --to=dirk.brandewie@gmail.com \
    --cc=feng.tang@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=spi-devel-general@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.