Re: boot regression with AHCI on jetson-tk1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Which board revision do you have? I have tested the series on both rev.D and rev.C. I believe only rev.D is "officially" supported on upstream.

On 11/05/2014 09:46 PM, Allen Martin wrote:
The hang is the following register write in tegra_ahci_controller_init():

         writel(BIT(0), tegra->sata_regs + SCFG_OFFSET + T_SATA0_INDEX);

here are some debug prints I added:

[    2.893245] tegra_ahci_controller_init: SCFG
[    2.897525] tegra->sata_regs: fe020000
[    2.901273] SCFG_OFFSET: 0x1000
[    2.904426] T_SATA0_INDEX: 0x680
[    2.907653] writing 0x1 to fe021680

A hung PIO usually means the IP block is powered off or in reset, but the previous write to SATA_CONFIGURATION_0 goes through ok.

________________________________________
From: Mikko Perttunen <mikko.perttunen@xxxxxxxx>
Sent: Wednesday, November 5, 2014 9:42 AM
To: Allen Martin; Mikko Perttunen
Cc: linux-tegra@xxxxxxxxxxxxxxx
Subject: Re: boot regression with AHCI on jetson-tk1

This is very strange. Many people have tested this series; I myself boot
my rev.D all the time without SATA connected and I have never
encountered this. I just tested the commit you mentioned and my Jetson
boots up fine with it.

Based on my device's kernel log, the next message indeed should be from
the ATA framework indicating a new detected interface. This would
correspond to line drivers/ata/ahci_tegra.c:357, so the problem should
lie between the lines ahci_tegra.c:299 and ahci_tegra.c:357. Perhaps you
could do some printk bisecting to narrow that down?

Thanks,
Mikko

On 11/05/2014 07:34 AM, Allen Martin wrote:
I tried booting 3.18-rc3 on jetson-tk1 and I'm seeing a hang during
boot right before user space normally comes up.  I bisected the
regression back to this commit which just turns on AHCI.  I don't have
any SATA device connected to the board.


commit 91816a7fe5a671b826d5288ed7b42e92117a8fe8
Author: Mikko Perttunen <mperttunen@xxxxxxxxxx>
Date:   Wed Jul 16 11:54:23 2014 +0300

      ARM: tegra: Add options for Tegra AHCI support to tegra_defconfig

      This adds ATA, SATA_AHCI and AHCI_TEGRA support to tegra_defconfig
      so that the SATA support will be automatically enabled.

      Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx>
      Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx>

diff --git a/arch/arm/configs/tegra_defconfig
b/arch/arm/configs/tegra_defconfig
index 285c433..2b8be48 100644
--- a/arch/arm/configs/tegra_defconfig
+++ b/arch/arm/configs/tegra_defconfig
@@ -102,6 +102,9 @@ CONFIG_BLK_DEV_SD=y
   CONFIG_BLK_DEV_SR=y
   CONFIG_SCSI_MULTI_LUN=y
   # CONFIG_SCSI_LOWLEVEL is not set
+CONFIG_ATA=y
+CONFIG_SATA_AHCI=y
+CONFIG_AHCI_TEGRA=y
   CONFIG_NETDEVICES=y
   CONFIG_DUMMY=y
   CONFIG_IGB=y



Here's where it hangs, always at the same place:

...
[    2.370671] +1.35V_LP0(sd2): supplied by +5V_SYS
[    2.375732] +1.35V_LP0(sd3): 1350 mV
[    2.379522] +1.35V_LP0(sd3): supplied by +5V_SYS
[    2.384551] +1.05V_RUN: 1050 mV
[    2.387918] +1.05V_RUN: supplied by +5V_SYS
[    2.392482] +1.8V_VDDIO: 1800 mV
[    2.395944] +1.8V_VDDIO: supplied by +5V_SYS
[    2.401498] +VDD_GPU_AP: 650 <--> 1200 mV at 1000 mV 3500 mA
[    2.407734] +1.05V_RUN_AVDD: 1050 mV at 300 mA
[    2.412400] +1.05V_RUN_AVDD: supplied by +1.35V_LP0(sd2)
[    2.418329] +1.8V_RUN_CAM: 1800 mV at 150 mA
[    2.422838] +1.8V_RUN_CAM: supplied by +3.3V_RUN
[    2.428665] +1.2V_GEN_AVDD: 1200 mV at 150 mA
[    2.433268] +1.2V_GEN_AVDD: supplied by +1.8V_VDDIO
[    2.439489] +1.05V_LP0_VDD_RTC: 1000 mV at 150 mA
[    2.444426] +1.05V_LP0_VDD_RTC: supplied by +3.3V_SYS
[    2.450185] +2.8V_RUN_CAM: 2800 mV at 150 mA
[    2.454711] +2.8V_RUN_CAM: supplied by +3.3V_SYS
[    2.460022] +1.2V_RUN_CAM_FRONT: 1200 mV at 150 mA
[    2.465079] +1.2V_RUN_CAM_FRONT: supplied by +1.8V_VDDIO
[    2.470958] +VDDIO_SDMMC3: 1800 <--> 3300 mV at 150 mA
[    2.476354] +VDDIO_SDMMC3: supplied by +3.3V_RUN
[    2.481675] +1.05V_RUN_CAM_REAR: 1050 mV at 150 mA
[    2.486721] +1.05V_RUN_CAM_REAR: supplied by +1.8V_VDDIO
[    2.492904] +3.3V_RUN_TOUCH: 2800 mV at 150 mA
[    2.497608] +3.3V_RUN_TOUCH: supplied by +5V_SYS
[    2.502933] +2.8V_RUN_CAM_AF: 2800 mV at 150 mA
[    2.507724] +2.8V_RUN_CAM_AF: supplied by +5V_SYS
[    2.513126] +1.8V_RUN_VPP_FUSE: 1800 mV at 150 mA
[    2.518101] +1.8V_RUN_VPP_FUSE: supplied by +3.3V_RUN
*hang*
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux