From: Mark Brown <broonie@kernel.org>
To: Jane Wan <Jane.Wan@gainspeed.com>
Cc: grant.likely@secretlab.ca, rob.herring@calxeda.com,
Emilian.Medve@Freescale.com, kenth.eriksson@transmode.com,
thomas.de.schampheleire@gmail.com, b48286@Freescale.com,
jg1.han@samsung.com, sr@denx.de, insop.song@gainspeed.com,
spi-devel-general@lists.sourceforge.net,
linux-kernel@vger.kernel.org,
devicetree-discuss@lists.ozlabs.org
Subject: Re: [PATCH] Configure FSL eSPI CSBEF, CSAFT, and whether to send all received data to user
Date: Mon, 14 Apr 2014 21:55:47 +0100 [thread overview]
Message-ID: <20140414205547.GI25182@sirena.org.uk> (raw)
In-Reply-To: <1397328516-13260-2-git-send-email-Jane.Wan@gainspeed.com>
[-- Attachment #1: Type: text/plain, Size: 1597 bytes --]
On Sat, Apr 12, 2014 at 11:48:36AM -0700, Jane Wan wrote:
> Make FSL eSPI CSnBEF and CSnAFT in ESPI_SPMODEn registers (n=0,1,2,3)
> configurable through device tree. FSL eSPI driver hardcodes them to 0.
> Some device requires different value.
What do these do?
> Allow FSL eSPI driver configurable whether to send all received data
> form slave devices to user. When user wants to send n_tx bytes and
> receives n_rx bytes, FSL eSPI driver sends (n_tx + n_rx) bytes on MOSI.
> For the received (n_tx + n_rx) bytes from MISO, current FSL eSPI driver
> drops the first n_tx bytes, only passes the last n_rx bytes to user.
> Some device driver has problem with this. It requires to know all bytes
> that the slave device puts on MISO.
This sounds like a separate patch to the first one, the described
behaviour is definitely buggy and any correctly implemented Linux driver
that does bidirectional I/O will have trouble with it. It should be
split out from the new DT bindings which are a new feature.
> ---
> drivers/spi/spi-fsl-espi.c | 68 ++++++++++++++++++++++++++++++++++----
> 1 files changed, 61 insertions(+), 7 deletions(-)
All DT binding changes need to be documented in the binding document.
> +/* whether to send all rx data to user per chip select */
> +static u8 *spi_raw_rxdata_to_user;
> +
No, any data needs to be part of the driver data structure not a global
variable.
> + if (spi_raw_rxdata_to_user[m->spi->chip_select])
> + espi_trans->len = n_tx;
> + else
> + espi_trans->len = trans_len + n_tx;
Why is there even an option for the buggy behaviour?
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2014-04-14 20:56 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-12 18:48 Jane Wan
2014-04-12 18:48 ` Jane Wan
2014-04-14 20:55 ` Mark Brown [this message]
2014-04-16 16:39 ` Jane Wan
2014-04-16 17:28 ` Mark Brown
2014-04-14 20:51 ` Mark Brown
2014-04-14 21:38 ` Insop Song
2014-04-14 23:49 ` Mark Brown
2014-04-14 23:59 ` Insop Song
2014-04-15 0:00 ` Insop Song
2014-04-15 12:11 ` Mark Brown
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=20140414205547.GI25182@sirena.org.uk \
--to=broonie@kernel.org \
--cc=Emilian.Medve@Freescale.com \
--cc=Jane.Wan@gainspeed.com \
--cc=b48286@Freescale.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@secretlab.ca \
--cc=insop.song@gainspeed.com \
--cc=jg1.han@samsung.com \
--cc=kenth.eriksson@transmode.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rob.herring@calxeda.com \
--cc=spi-devel-general@lists.sourceforge.net \
--cc=sr@denx.de \
--cc=thomas.de.schampheleire@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®