New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 605253 link

Starred by 3 users

Issue metadata

Status: Archived
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

rockchip-spi DMA is broken on 4.4+

Project Member Reported by briannorris@chromium.org, Apr 20 2016

Issue description

Testing on veyron with kernel 4.4, I see messages like this during boot:

[    1.983605] cros-ec-spi spi0.0: EC failed to respond in time

and:

# ectool version
[  447.925613] cros-ec-spi spi0.0: bad packet checksum, calculated 1a
Cannot find I2C adapter
Unable to establish host communication
Couldn't find EC

This looks like the problem reported here by Heiko:

http://thread.gmane.org/gmane.linux.kernel.spi.devel/23725

Disabling SPI DMA does the trick for now. Will hack out dma for now, and this bug will serve as a TODO bug.
 
Cc: mmin...@googlemail.com shawn....@rock-chips.com
Components: OS>Kernel
Summary: rockchip-spi DMA is broken on 4.4+ (was: rockchip-spi is broken on 4.4+)
Project Member

Comment 4 by bugdroid1@chromium.org, Apr 21 2016

Labels: merge-merged-chromeos-4.4
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/6a3d6e3a720c9433af1b913a652659b37f36f218

commit 6a3d6e3a720c9433af1b913a652659b37f36f218
Author: Brian Norris <briannorris@chromium.org>
Date: Wed Apr 20 20:32:11 2016

CHROMIUM: HACK: rk3288: disable SPI DMA

Testing on veyron with kernel 4.4, I see messages like this during boot:

    [    1.983605] cros-ec-spi spi0.0: EC failed to respond in time

and:

    # ectool version
    [  447.925613] cros-ec-spi spi0.0: bad packet checksum, calculated 1a
    Cannot find I2C adapter
    Unable to establish host communication
    Couldn't find EC

See this thread:
http://thread.gmane.org/gmane.linux.kernel.spi.devel/23725

Let's hack out SPI DMA to get things working for now, and we can revert
this if/when it's fixed. We'll probably end up doing the same for
rk3399.

BUG= chromium:605253 
TEST=boot veyron with chromeos-kernel-4_4; try 'ectool version', etc.

Change-Id: Ie7d1d18398983bce5efe0c53cc0e1a04423235d0
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/339877
Reviewed-by: Douglas Anderson <dianders@chromium.org>

[modify] https://crrev.com/6a3d6e3a720c9433af1b913a652659b37f36f218/arch/arm/boot/dts/rk3288.dtsi

It seems Tomeu found and solved the underlying issue in
https://patchwork.kernel.org/patch/9163529/
Owner: briannorris@chromium.org
Status: Started (was: Untriaged)
Thanks for the tip. Tomeu also forwarded to me.

I'll test this on veyron here.
Cc: apronin@chromium.org
Project Member

Comment 8 by bugdroid1@chromium.org, Jun 13 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/244181bd5096b96b93f30f9b7c2d6455d210ee8a

commit 244181bd5096b96b93f30f9b7c2d6455d210ee8a
Author: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Date: Wed Jun 08 07:32:51 2016

UPSTREAM: spi: rockchip: Signal unfinished DMA transfers

When using DMA, the transfer_one callback should return 1 because the
transfer hasn't finished yet.

A previous commit changed the function to return 0 when the DMA channels
were correctly prepared.

This manifested in Veyron boards with this message:

[ 1.983605] cros-ec-spi spi0.0: EC failed to respond in time

Fixes: ea9849113343 ("spi: rockchip: check return value of dmaengine_prep_slave_sg")
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git fix/rockchip
 commit 4dc0dd83603f05dc3ae152af33ecb15104c313f3)

BUG= chromium:605253 
TEST=boot veyron; test out SPI; check log for errors

Change-Id: I177ef9f2d6e5d759301b76c04a3882ed9942b46f
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/350800
Reviewed-by: Douglas Anderson <dianders@chromium.org>

[modify] https://crrev.com/244181bd5096b96b93f30f9b7c2d6455d210ee8a/drivers/spi/spi-rockchip.c

Project Member

Comment 9 by bugdroid1@chromium.org, Jul 2 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/56c0614d44a3184abffbf3ffac6165a40ada417d

commit 56c0614d44a3184abffbf3ffac6165a40ada417d
Author: Brian Norris <briannorris@chromium.org>
Date: Wed Jun 08 17:59:13 2016

CHROMIUM: config: turn on MTD/M25P80 for armel

Veyron devices use SPI flash that can be supported by the MTD m25p80
driver.

These configs mostly match the arm64 selections:

CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_M25P80=y
CONFIG_MTD_OF_PARTS=y
CONFIG_MTD_PARTITIONED_MASTER=y
CONFIG_MTD_SPI_NOR=y
CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y

and the rest are at defaults (=n).

BUG= chromium:605253 
TEST=boot on veyron_jaq; play with flashrom

Change-Id: I93844cbf6fcb6c25b662dd277d90f2caeca5514c
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/350881
Reviewed-by: Douglas Anderson <dianders@chromium.org>

[modify] https://crrev.com/56c0614d44a3184abffbf3ffac6165a40ada417d/chromeos/config/armel/common.config

Project Member

Comment 10 by bugdroid1@chromium.org, Jul 2 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/4a31987aa0f67ecd5888a7422a3691b2dbbb0810

commit 4a31987aa0f67ecd5888a7422a3691b2dbbb0810
Author: Brian Norris <computersforpeace@gmail.com>
Date: Fri May 06 01:02:44 2016

UPSTREAM: ARM: dts: rockchip: add SPI flash node for rk3288-veyron

This is a standard binding for describing SPI flash that can be
identified by reading their JEDEC ID. Let's use it.

Tested on Veyron Jaq.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
(cherry picked from git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git for-next
 commit 9a205e33d0dc81121d1a2417b33b55682b81b84d)

BUG= chromium:605253 
TEST=boot on veyron_jaq; play with flashrom

Change-Id: Ide6973b59ee5281124853acfd69eda394166346c
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/350880
Reviewed-by: Douglas Anderson <dianders@chromium.org>

[modify] https://crrev.com/4a31987aa0f67ecd5888a7422a3691b2dbbb0810/arch/arm/boot/dts/rk3288-veyron.dtsi

Status: Archived (was: Started)

Comment 12 by ketakid@google.com, Mar 18 2017

Status: Available (was: Archived)
Activating. Please assign to the right owner and the appropriate priority.
Project Member

Comment 13 by sheriffbot@chromium.org, Apr 13 2018

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Status: Archived (was: Untriaged)
I don't think we care that much.

Sign in to add a comment