Skip to contentSkip to conversation

sunxi: SATA link timeout fix

U-Boot Werner Böllmann 4 participants 10 messages Nov 5, 2017 – Nov 10, 2017 Arm/Allwinner sunXi SoC support

lore
Share & tools
lore
#0 lore raw

After updating u-boot from v2016.01 to 2017.09 i got a "SATA link 0 timeout." on my Cubietruck board. I tracked this down to this patch.

http://git.denx.de/?p=u-boot.git;a=commitdiff_plain;h=9fbb0c3aa49f4604b0342cb527a6bd099f92eaeb.

After adding the "mdelay(500);" line that was lost in the path the error is gone.

Thank you.

Werner

board/sunxi/board.c +2 -0
index 70e0143..b38941f 100644
@@ -216,6 +216,8 @@ int board_init(void)
        satapwr_pin = sunxi_name_to_gpio(CONFIG_SATAPWR);
        gpio_request(satapwr_pin, "satapwr");
        gpio_direction_output(satapwr_pin, 1);
+       /* Give attached sata device time to power-up to avoid link timeouts */
+       mdelay(500);
 #endif
 #ifdef CONFIG_MACPWR
        macpwr_pin = sunxi_name_to_gpio(CONFIG_MACPWR);
#2 lore raw
Quoted 8 lines · Jagan Teki
Quoted 4 lines · Werner Böllmann

After updating u-boot from v2016.01 to 2017.09 i got a "SATA link 0 timeout." on my Cubietruck board. I tracked this down to this patch.

http://git.denx.de/?p=u-boot.git;a=commitdiff_plain;h=9fbb0c3aa49f4604b0342cb527a6bd099f92eaeb.

Look like mdelay missing while moving to board file.

Can someone test this?

thanks!

Signature · 4 lines
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
#3 lore raw
Quoted 11 lines · Jagan Teki
Quoted 8 lines · Jagan Teki
Quoted 4 lines · Werner Böllmann

After updating u-boot from v2016.01 to 2017.09 i got a "SATA link 0 timeout." on my Cubietruck board. I tracked this down to this patch.

http://git.denx.de/?p=u-boot.git;a=commitdiff_plain;h=9fbb0c3aa49f4604b0342cb527a6bd099f92eaeb.

Look like mdelay missing while moving to board file.

Can someone test this?

I boot my Cubietruck off a SATA drive without issues with any of those intervening releases but it's a SSD so there would be no spin up time compared to spinning rust, I don't have a spare spinning disk to test it with though.

#4 lore raw
Quoted 9 lines · Peter Robinson
Quoted 8 lines · Jagan Teki
Quoted 7 lines · Jagan Teki
Quoted 4 lines · Werner Böllmann

After updating u-boot from v2016.01 to 2017.09 i got a "SATA link 0 timeout." on my Cubietruck board. I tracked this down to this patch.

http://git.denx.de/?p=u-boot.git;a=commitdiff_plain;h=9fbb0c3aa49f4604b0342cb527a6bd099f92eaeb.

Quoted 8 lines
Quoted 3 lines
Quoted 1 line

Look like mdelay missing while moving to board file.

Can someone test this?

I boot my Cubietruck off a SATA drive without issues with any of those intervening releases but it's a SSD so there would be no spin up time compared to spinning rust, I don't have a spare spinning disk to test it with though.

So w/o the mdelay work for you?

Signature · 4 lines
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
#5 lore raw
Quoted 12 lines · Jagan Teki
Quoted 11 lines · Peter Robinson
Quoted 10 lines · Jagan Teki
Quoted 8 lines · Jagan Teki
Quoted 4 lines · Werner Böllmann

After updating u-boot from v2016.01 to 2017.09 i got a "SATA link 0 timeout." on my Cubietruck board. I tracked this down to this patch.

http://git.denx.de/?p=u-boot.git;a=commitdiff_plain;h=9fbb0c3aa49f4604b0342cb527a6bd099f92eaeb.

Look like mdelay missing while moving to board file.

Quoted 8 lines
Quoted 6 lines
Quoted 1 line

Can someone test this?

I boot my Cubietruck off a SATA drive without issues with any of those intervening releases but it's a SSD so there would be no spin up time compared to spinning rust, I don't have a spare spinning disk to test it with though.

So w/o the mdelay work for you?

I guess the point of this patch was that you need to have the delay, but the time between the two function calls might cover it, and apparently in some case doesn't.

So whether it works in one particular case is entirely moot.

Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171109/dfd55f98/attachment.sig>
#6 lore raw
Quoted 20 lines · Maxime Ripard
Quoted 19 lines · Jagan Teki
Quoted 17 lines · Peter Robinson
Quoted 11 lines · Jagan Teki
Quoted 8 lines · Jagan Teki
Quoted 4 lines · Werner Böllmann

After updating u-boot from v2016.01 to 2017.09 i got a "SATA link 0 timeout." on my Cubietruck board. I tracked this down to this patch.

http://git.denx.de/?p=u-boot.git;a=commitdiff_plain;h=9fbb0c3aa49f4604b0342cb527a6bd099f92eaeb.

Look like mdelay missing while moving to board file.

Can someone test this?

I boot my Cubietruck off a SATA drive without issues with any of those intervening releases but it's a SSD so there would be no spin up time compared to spinning rust, I don't have a spare spinning disk to test it with though.

Quoted 7 lines
Quoted 1 line

So w/o the mdelay work for you?

I guess the point of this patch was that you need to have the delay, but the time between the two function calls might cover it, and apparently in some case doesn't.

So whether it works in one particular case is entirely moot.

Then, better some more debugging needed in this case.

thanks!

Signature · 4 lines
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
#7 lore raw
Quoted 24 lines · Jagan Teki
Quoted 22 lines · Maxime Ripard
Quoted 20 lines · Jagan Teki
Quoted 9 lines · Peter Robinson
Quoted 8 lines · Jagan Teki
Quoted 7 lines · Jagan Teki
Quoted 4 lines · Werner Böllmann

After updating u-boot from v2016.01 to 2017.09 i got a "SATA link 0 timeout." on my Cubietruck board. I tracked this down to this patch.

http://git.denx.de/?p=u-boot.git;a=commitdiff_plain;h=9fbb0c3aa49f4604b0342cb527a6bd099f92eaeb.

Quoted 8 lines
Quoted 3 lines
Quoted 1 line

Look like mdelay missing while moving to board file.

Can someone test this?

I boot my Cubietruck off a SATA drive without issues with any of those intervening releases but it's a SSD so there would be no spin up time compared to spinning rust, I don't have a spare spinning disk to test it with though.

So w/o the mdelay work for you?

Quoted 7 lines
Quoted 5 lines

I guess the point of this patch was that you need to have the delay, but the time between the two function calls might cover it, and apparently in some case doesn't.

So whether it works in one particular case is entirely moot.

Then, better some more debugging needed in this case.

I'm not sure why that is needed, if we need the delay, we should add it explicitly, just like this patch does.

Maxime

Signature · 10 lines
Maxime Ripard, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171109/a89c087c/attachment.sig>
#8 lore raw
Quoted 29 lines · Maxime Ripard
Quoted 28 lines · Jagan Teki
Quoted 26 lines · Maxime Ripard
Quoted 12 lines · Jagan Teki
Quoted 11 lines · Peter Robinson
Quoted 10 lines · Jagan Teki
Quoted 8 lines · Jagan Teki
Quoted 4 lines · Werner Böllmann

After updating u-boot from v2016.01 to 2017.09 i got a "SATA link 0 timeout." on my Cubietruck board. I tracked this down to this patch.

http://git.denx.de/?p=u-boot.git;a=commitdiff_plain;h=9fbb0c3aa49f4604b0342cb527a6bd099f92eaeb.

Look like mdelay missing while moving to board file.

Quoted 8 lines
Quoted 6 lines
Quoted 1 line

Can someone test this?

I boot my Cubietruck off a SATA drive without issues with any of those intervening releases but it's a SSD so there would be no spin up time compared to spinning rust, I don't have a spare spinning disk to test it with though.

So w/o the mdelay work for you?

I guess the point of this patch was that you need to have the delay, but the time between the two function calls might cover it, and apparently in some case doesn't.

Quoted 6 lines
Quoted 3 lines
Quoted 1 line

So whether it works in one particular case is entirely moot.

Then, better some more debugging needed in this case.

I'm not sure why that is needed, if we need the delay, we should add it explicitly, just like this patch does.

Since it works on particular case, can't we verify non-working area? adding delay is hard for me but look like this patch needed.

thanks!

Signature · 4 lines
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.
#9 lore raw
Quoted 33 lines · Jagan Teki
Quoted 31 lines · Maxime Ripard
Quoted 30 lines · Jagan Teki
Quoted 27 lines · Maxime Ripard
Quoted 12 lines · Jagan Teki
Quoted 11 lines · Peter Robinson
Quoted 10 lines · Jagan Teki
Quoted 8 lines · Jagan Teki
Quoted 4 lines · Werner Böllmann

After updating u-boot from v2016.01 to 2017.09 i got a "SATA link 0 timeout." on my Cubietruck board. I tracked this down to this patch.

http://git.denx.de/?p=u-boot.git;a=commitdiff_plain;h=9fbb0c3aa49f4604b0342cb527a6bd099f92eaeb.

Look like mdelay missing while moving to board file.

Quoted 8 lines
Quoted 6 lines
Quoted 1 line

Can someone test this?

I boot my Cubietruck off a SATA drive without issues with any of those intervening releases but it's a SSD so there would be no spin up time compared to spinning rust, I don't have a spare spinning disk to test it with though.

So w/o the mdelay work for you?

I guess the point of this patch was that you need to have the delay, but the time between the two function calls might cover it, and apparently in some case doesn't.

So whether it works in one particular case is entirely moot.

Quoted 7 lines
Quoted 4 lines
Quoted 1 line

Then, better some more debugging needed in this case.

I'm not sure why that is needed, if we need the delay, we should add it explicitly, just like this patch does.

Since it works on particular case, can't we verify non-working area? adding delay is hard for me but look like this patch needed.

Updated commit message and Applied on u-boot-sunxi/master

Signature · 4 lines
Jagan Teki
Free Software Engineer | www.openedev.com
U-Boot, Linux | Upstream Maintainer
Hyderabad, India.