RE: boot regression with AHCI on jetson-tk1

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

 



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