All of lore.kernel.org
 help / color / mirror / Atom feed
From: Esben Haabendal <esben.haabendal@gmail.com>
To: Chuanhua Han <chuanhua.han@nxp.com>
Cc: broonie@kernel.org, linux-spi@vger.kernel.org,
	linux-kernel@vger.kernel.org, boris.brezillon@bootlin.com
Subject: Re: [PATCH 2/2] spi: spi-fsl-dspi: Fix support for XSPI transport mode
Date: Sat, 29 Sep 2018 16:56:17 +0200	[thread overview]
Message-ID: <87y3bkcpym.fsf@gmail.com> (raw)
In-Reply-To: <20180921070628.35153-2-chuanhua.han@nxp.com> (Chuanhua Han's message of "Fri, 21 Sep 2018 15:06:27 +0800")

Chuanhua Han <chuanhua.han@nxp.com> writes:

> This patch fixes the problem that the XSPI mode of the dspi controller
> cannot transfer data properly.
> In XSPI mode, cmd_fifo is written before tx_fifo, which transforms the
> byte order of sending and receiving data.

Did you find documentation on proper ordering of writes to related
TX FIFO and CMD FIFO entries?

I have failed to find such information, and thus opted for what I
believed would be the safe approach, writing to TX FIFO first, so that
when CMD FIFO is written, it will already have data in place.  And it
seems to work.

But, I now see that SPIx_SR[TFIWF] hints that it should be done the
other way around.

    Tranmit FIFO Invalid Write Flag - Indicates Data Write on TX FIFO
    while CMD FIFO is empty. Without a Command, the Data entries present
    in TXFIFO are invalid.

But I fail to see how that should be related to byte ordering.

So I believe this patch is doing two things.

1. Changing write ordering of TX FIFO and CMD FIFO.
2. Handling byte ordering based on SPIx_CTARn[LSBFE] flag.

It would be nice if we could get clarification from NXP on
what is the right way to do the TX FIFO and CMD FIFO write ordering.

But as for the byte ordering changes, I don't think it looks write.  The
meaning of SPIx_CTARn[LSBFE] is according to the documentaiton the bit
ordering on the wire, and should not be related to register byte
ordering.

You should probably split this patch in two, so they can be reviewed and
merged independently.

/Esben

  parent reply	other threads:[~2018-09-29 14:56 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-21  7:06 [PATCH 1/2] spi: spi-mem: Add the spi_set_xfer_bpw function Chuanhua Han
2018-09-21  7:06 ` [PATCH 2/2] spi: spi-fsl-dspi: Fix support for XSPI transport mode Chuanhua Han
2018-09-28  6:37   ` Chuanhua Han
2018-09-28  6:55   ` Boris Brezillon
2018-09-29 14:56   ` Esben Haabendal [this message]
2018-09-29 15:43     ` Boris Brezillon
2018-09-30  2:49     ` Chuanhua Han
2018-09-21  7:06 ` [PATCH] spi: spi-mem: Adjust op len based on message/transfer size limitations Chuanhua Han
2018-09-21  7:15   ` Chuanhua Han
2018-09-28  6:37 ` [PATCH 1/2] spi: spi-mem: Add the spi_set_xfer_bpw function Chuanhua Han
2018-09-28  6:44 ` Boris Brezillon
2018-09-28  6:59   ` Chuanhua Han
2018-09-28  7:18     ` Boris Brezillon
2018-09-28  7:29       ` Chuanhua Han
2018-09-28 13:26       ` Mark Brown
2018-10-09  9:52       ` Chuanhua Han
2018-10-09 10:05         ` Boris Brezillon
2018-10-09 10:24           ` Chuanhua Han
2018-10-09 11:20             ` Esben Haabendal
2018-10-10  2:42               ` Chuanhua Han
2018-10-10  6:38                 ` Esben Haabendal
2018-10-09 10:33           ` Mark Brown
2018-10-09 13:50             ` Esben Haabendal
2018-10-09 10:53         ` Esben Haabendal

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=87y3bkcpym.fsf@gmail.com \
    --to=esben.haabendal@gmail.com \
    --cc=boris.brezillon@bootlin.com \
    --cc=broonie@kernel.org \
    --cc=chuanhua.han@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    /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.