Skip to contentSkip to conversation

fix IDE_BUS(dev) macro

PATCH New Luka Perkov 10 participants 24 messages Apr 17, 2012 – Oct 8, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

IDE_BUS assumes that each bus has two devices and thus returns the first bus even when the second one should be probed.

---

Simon discovered this while adding support for new board IB NAS6210.

More info can be found here:

http://lists.denx.de/pipermail/u-boot/2012-April/122525.html

When this is commited I will do a coding style cleanup. There are tabs after few "#define" parts in include/ide.h.

 include/ide.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
include/ide.h +1 -1
index 8ecc9dd..385e909 100644
@@ -24,7 +24,7 @@
 #ifndef	_IDE_H
 #define _IDE_H
 
-#define	IDE_BUS(dev)	(dev >> 1)
+#define IDE_BUS(dev)	(dev / (CONFIG_SYS_IDE_MAXDEVICE / CONFIG_SYS_IDE_MAXBUS))
 
 #define	ATA_CURR_BASE(dev)	(CONFIG_SYS_ATA_BASE_ADDR+ide_bus_offset[IDE_BUS(dev)])
 
#1 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

Quoted 24 lines · Luka Perkov

IDE_BUS assumes that each bus has two devices and thus returns the first bus even when the second one should be probed.

---

Simon discovered this while adding support for new board IB NAS6210.

More info can be found here:

http://lists.denx.de/pipermail/u-boot/2012-April/122525.html

When this is commited I will do a coding style cleanup. There are tabs after few "#define" parts in include/ide.h.

?include/ide.h | ? ?2 +-
?1 file changed, 1 insertion(+), 1 deletion(-)

include/ide.h +0 -0
index 8ecc9dd..385e909 100644
@@ -24,7 +24,7 @@
Quoted 1 line

?#ifndef ? ? ? ?_IDE_H

Simon, Luka, Prafulla, etal,

I've tested this out on the Seagate GoFlex Net (Kirkwood) device, which also has dual SATA ports, and it resolved the long-standing (and irritating) bug/unwanted-feature that required us to boot from _only_ the right side port.

I would guess that other Kirkwood dual-SATA-port boxes would be happier because of this, as well.

Nice catch, Simon.

regards,

Dave

#2 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

Hi Dave,

Le 18/04/2012 23:37, David Purdy a ?crit :

Quoted 34 lines · Luka Perkov
Quoted 24 lines

IDE_BUS assumes that each bus has two devices and thus returns the first bus even when the second one should be probed.

---

Simon discovered this while adding support for new board IB NAS6210.

More info can be found here:

http://lists.denx.de/pipermail/u-boot/2012-April/122525.html

When this is commited I will do a coding style cleanup. There are tabs after few "#define" parts in include/ide.h.

  include/ide.h |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
include/ide.h +0 -0
index 8ecc9dd..385e909 100644

include/ide.h line 24

Quoted 1 line
include/ide.h +0 -0
@@ -24,7 +24,7 @@
  #ifndef        _IDE_H

Simon, Luka, Prafulla, etal,

I've tested this out on the Seagate GoFlex Net (Kirkwood) device, which also has dual SATA ports, and it resolved the long-standing (and irritating) bug/unwanted-feature that required us to boot from _only_ the right side port.

Quoted 4 lines

I would guess that other Kirkwood dual-SATA-port boxes would be happier because of this, as well.

Nice catch, Simon.

Not my main area of expertise here, but I am not sure how this plays on Marvell non-kirkwood platforms (e.g., orion5x).

ISTR it is not the first time we deal with the whole IDE number of bus / number of ports [ / useable ports ] issue, and we may be running in circles here, fixing one platform and breaking another.

I'll try this on EDMiniV2 in the coming days, and let people know the results in this thread.

Quoted 3 lines

regards,

Dave

Amicalement,

Signature · 1 line
Albert.
#3 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

Quoted 11 lines · Albert ARIBAUD

Hi Dave,

Not my main area of expertise here, but I am not sure how this plays on Marvell non-kirkwood platforms (e.g., orion5x).

ISTR it is not the first time we deal with the whole IDE number of bus / number of ports [ / useable ports ] issue, and we may be running in circles here, fixing one platform and breaking another.

I, too, remember remember reading some discussions about changes to that very line.

Quoted 8 lines

I'll try this on EDMiniV2 in the coming days, and let people know the results in this thread.

Amicalement,
--
Albert.

After further testing, I've found a possible (minor?) anomaly, but not on a supported (official) Kirkwood device. The device I tested it on is a Seagate GoFlex Net (dual SATA).

The behavior I see is this:

With Toshiba 160GB and Seagate 320GB hdd's in ports 0 and 1 (right & left) respectively, I get perfect results. I can access both drives from U-Boot, and boot from both.

If I switch the drives around (ie. swap them) so the Toshiba is is
port 1 (left), I can no longer probe it. It could very well be a
timing problem, or it could be simply a quirk that is simply attributable to this hdd (which seems to check out completely healthy).

If I place _just_ the Seagate drive in port 1 (left), it is still correctly recognized. This is true whether it is the lone hdd, or if another hdd is in port 0.

Just thought I'd let you know. Maybe this is a _specific_ behavior subset that you all can test on your respective boxes.

My feeling is that the patch is nevertheless still valid - for what I've seen on Kirkwood, it is an improvement over the previous situation. Just my 2 cents.

Dave

#4 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

In reply to Albert ARIBAUD

Hi Albert,

Quoted 9 lines · Albert ARIBAUD

Not my main area of expertise here, but I am not sure how this plays on Marvell non-kirkwood platforms (e.g., orion5x).

ISTR it is not the first time we deal with the whole IDE number of bus / number of ports [ / useable ports ] issue, and we may be running in circles here, fixing one platform and breaking another.

I'll try this on EDMiniV2 in the coming days, and let people know the results in this thread.

I was just wondering did you have the time to test this patch on your board?

Regards,
Luka

#5 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

Hi Albert,

Quoted 8 lines · Luka Perkov
Quoted 7 lines · Albert ARIBAUD

Not my main area of expertise here, but I am not sure how this plays on Marvell non-kirkwood platforms (e.g., orion5x).

ISTR it is not the first time we deal with the whole IDE number of bus / number of ports [ / useable ports ] issue, and we may be running in circles here, fixing one platform and breaking another.

Quoted 5 lines
Quoted 2 lines

I'll try this on EDMiniV2 in the coming days, and let people know the results in this thread.

I was just wondering did you have the time to test this patch on your board?

Albert, did you maybe have time to test this patch. I have included it bellow so you dont have to search for it...

---

Simon discovered this while adding support for new board IB NAS6210.

More info can be found here:

http://lists.denx.de/pipermail/u-boot/2012-April/122525.html

 include/ide.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
include/ide.h +1 -1
index 8ecc9dd..385e909 100644
@@ -24,7 +24,7 @@
 #ifndef	_IDE_H
 #define _IDE_H
 
-#define	IDE_BUS(dev)	(dev >> 1)
+#define IDE_BUS(dev)	(dev / (CONFIG_SYS_IDE_MAXDEVICE / CONFIG_SYS_IDE_MAXBUS))
 
 #define	ATA_CURR_BASE(dev)	(CONFIG_SYS_ATA_BASE_ADDR+ide_bus_offset[IDE_BUS(dev)])
 
#6 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

Hi Luka,

Le 14/05/2012 21:29, Luka Perkov a ?crit :

Quoted 38 lines

Hi Albert,

Quoted 8 lines · Luka Perkov
Quoted 7 lines · Albert ARIBAUD

Not my main area of expertise here, but I am not sure how this plays on Marvell non-kirkwood platforms (e.g., orion5x).

ISTR it is not the first time we deal with the whole IDE number of bus / number of ports [ / useable ports ] issue, and we may be running in circles here, fixing one platform and breaking another.

Quoted 5 lines
Quoted 2 lines

I'll try this on EDMiniV2 in the coming days, and let people know the results in this thread.

I was just wondering did you have the time to test this patch on your board?

Albert, did you maybe have time to test this patch. I have included it bellow so you dont have to search for it...

---

Simon discovered this while adding support for new board IB NAS6210.

More info can be found here:

http://lists.denx.de/pipermail/u-boot/2012-April/122525.html

  include/ide.h |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
include/ide.h +0 -0
index 8ecc9dd..385e909 100644

include/ide.h line 29

Quoted 7 lines
include/ide.h +1 -1
@@ -24,7 +24,7 @@
  #ifndef	_IDE_H
  #define _IDE_H
 
-#define	IDE_BUS(dev)	(dev>>  1)
+#define IDE_BUS(dev)	(dev / (CONFIG_SYS_IDE_MAXDEVICE / CONFIG_SYS_IDE_MAXBUS))
 
  #define	ATA_CURR_BASE(dev)	(CONFIG_SYS_ATA_BASE_ADDR+ide_bus_offset[IDE_BUS(dev)])

Sorry, been busier than usual. I'll try and test this tomorrow night; if not, that'll be next week I'm afraid.

Amicalement,

Signature · 1 line
Albert.
#7 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

Hi Albert,

Quoted 8 lines · Albert ARIBAUD
Quoted 8 lines
include/ide.h +0 -0
index 8ecc9dd..385e909 100644
@@ -24,7 +24,7 @@
 #ifndef	_IDE_H
 #define _IDE_H
 
Quoted 7 lines

include/ide.h line 29

Quoted 4 lines
include/ide.h +1 -1
-#define	IDE_BUS(dev)	(dev>>  1)
+#define IDE_BUS(dev)	(dev / (CONFIG_SYS_IDE_MAXDEVICE / CONFIG_SYS_IDE_MAXBUS))
 
 #define	ATA_CURR_BASE(dev)	(CONFIG_SYS_ATA_BASE_ADDR+ide_bus_offset[IDE_BUS(dev)])

Sorry, been busier than usual. I'll try and test this tomorrow night; if not, that'll be next week I'm afraid.

It's no hurry... I was pinging you so this does not end up forgotten.

If this does not work for your boards we can always use #ifdef's.

Regards,
Luka

#8 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

In reply to Albert ARIBAUD

Hi Albert,

Quoted 39 lines · Albert ARIBAUD
Quoted 39 lines · Luka Perkov
Quoted 8 lines · Albert ARIBAUD
Quoted 7 lines

Not my main area of expertise here, but I am not sure how this plays on Marvell non-kirkwood platforms (e.g., orion5x).

ISTR it is not the first time we deal with the whole IDE number of bus / number of ports [ / useable ports ] issue, and we may be running in circles here, fixing one platform and breaking another.

Quoted 5 lines
Quoted 2 lines

I'll try this on EDMiniV2 in the coming days, and let people know the results in this thread.

I was just wondering did you have the time to test this patch on your board?

Albert, did you maybe have time to test this patch. I have included it bellow so you dont have to search for it...

---

Simon discovered this while adding support for new board IB NAS6210.

More info can be found here:

http://lists.denx.de/pipermail/u-boot/2012-April/122525.html

 include/ide.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
include/ide.h +0 -0
index 8ecc9dd..385e909 100644
@@ -24,7 +24,7 @@
 #ifndef	_IDE_H
 #define _IDE_H
 
Quoted 7 lines

include/ide.h line 29

Quoted 4 lines
include/ide.h +1 -1
-#define	IDE_BUS(dev)	(dev>>  1)
+#define IDE_BUS(dev)	(dev / (CONFIG_SYS_IDE_MAXDEVICE / CONFIG_SYS_IDE_MAXBUS))
 
 #define	ATA_CURR_BASE(dev)	(CONFIG_SYS_ATA_BASE_ADDR+ide_bus_offset[IDE_BUS(dev)])

Sorry, been busier than usual. I'll try and test this tomorrow night; if not, that'll be next week I'm afraid.

It's me beeing boring again, sorry... Can we get your feedback on this one?

Regards,
Luka

#9 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

Sorry Luka (and all), been tied up pretty heavily recently, had to adjust to find some free time again.

I will test your patch today and post results tonight.

2012/6/7 Luka Perkov <[email protected]>

Quoted 51 lines

Hi Albert,

Quoted 39 lines · Albert ARIBAUD
Quoted 39 lines · Luka Perkov
Quoted 8 lines · Albert ARIBAUD
Quoted 7 lines

Not my main area of expertise here, but I am not sure how this plays on Marvell non-kirkwood platforms (e.g., orion5x).

ISTR it is not the first time we deal with the whole IDE number of bus / number of ports [ / useable ports ] issue, and we may be running in circles here, fixing one platform and breaking another.

Quoted 5 lines
Quoted 2 lines

I'll try this on EDMiniV2 in the coming days, and let people know the results in this thread.

I was just wondering did you have the time to test this patch on your board?

Albert, did you maybe have time to test this patch. I have included it bellow so you dont have to search for it...

---

Simon discovered this while adding support for new board IB NAS6210.

More info can be found here:

http://lists.denx.de/pipermail/u-boot/2012-April/122525.html

?include/ide.h | ? ?2 +-
?1 file changed, 1 insertion(+), 1 deletion(-)

include/ide.h +0 -0
index 8ecc9dd..385e909 100644
@@ -24,7 +24,7 @@

?#ifndef ? ?_IDE_H
?#define _IDE_H

Quoted 7 lines
Quoted 4 lines
include/ide.h +1 -1
-#define ? ? IDE_BUS(dev) ? ?(dev>> ?1)
+#define IDE_BUS(dev) ? ? ? ?(dev / (CONFIG_SYS_IDE_MAXDEVICE / CONFIG_SYS_IDE_MAXBUS))

?#define ? ?ATA_CURR_BASE(dev) ? ? ?(CONFIG_SYS_ATA_BASE_ADDR+ide_bus_offset[IDE_BUS(dev)])

Sorry, been busier than usual. I'll try and test this tomorrow night; if not, that'll be next week I'm afraid.

Quoted 5 lines

It's me beeing boring again, sorry... Can we get your feedback on this one?

Regards,
Luka

Amicalement,
Albert.

#10 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

Dear Albert ARIBAUD,

Quoted 4 lines · In message <CAJHhwataYrT3GBzhrDcqhphRP5HbX3vd2XyuyYMSLeD8XWE8WA@mail.gmail.com>…

Sorry Luka (and all), been tied up pretty heavily recently, had to adjust to find some free time again.

I will test your patch today and post results tonight.

What was the outcome of this? I cannot find any further messages to this thread...

Best regards,

Wolfgang Denk

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
One possible reason that things aren't going  according  to  plan  is
that there never was a plan in the first place.
#11 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

Hi Wolfgang,

Quoted 5 lines · Wolfgang Denk

Dear Albert ARIBAUD,

In message <CAJHhwataYrT3GBzhrDcqhphRP5HbX3vd2XyuyYMSLeD8XWE8WA@mail.gmail.com> you wrote:

Quoted 7 lines
Quoted 4 lines

Sorry Luka (and all), been tied up pretty heavily recently, had to adjust to find some free time again.

I will test your patch today and post results tonight.

What was the outcome of this? I cannot find any further messages to this thread...

Sorry, I was away from home for a few days with no or little Internet access.

I wanted to test this on orion5x/edminiv2; I should be able to do this today in the course of regression-testing preparing an orion5x patch I want to submit in this window.

Quoted 3 lines

Best regards,

Wolfgang Denk

Amicalement,

Signature · 1 line
Albert.
#12 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

Quoted 16 lines · Albert ARIBAUD

Hi Wolfgang,

Quoted 5 lines · Wolfgang Denk

Dear Albert ARIBAUD,

In message <CAJHhwataYrT3GBzhrDcqhphRP5HbX3vd2XyuyYMSLeD8XWE8WA@mail.gmail.com> you wrote:

Quoted 7 lines
Quoted 4 lines

Sorry Luka (and all), been tied up pretty heavily recently, had to adjust to find some free time again.

I will test your patch today and post results tonight.

What was the outcome of this? I cannot find any further messages to this thread...

Quoted 6 lines

Sorry, I was away from home for a few days with no or little Internet access.

I wanted to test this on orion5x/edminiv2; I should be able to do this today in the course of regression-testing preparing an orion5x patch I want to submit in this window.

... and of course I spent all my allotted time yesterday on catching up about pull requests, sorry. I should be able to test this today, above the current tip of u-boot-arm/master.

Amicalement,

Signature · 1 line
Albert.
#13 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

In reply to Albert ARIBAUD

Hi,

It works great for my IB-6220 (Dual Sata).

Without the patch, the same disk is seen twice, I have only checked disks serial numbers :

ib62x0 => version

U-Boot 2012.07-00123-g4d3c95f-dirty (Aug 13 2012 - 11:30:58) RaidSonic ICY BOX IB-NAS62x0
arm-linux-gnueabi-gcc (Debian 4.4.5-8) 4.4.5
GNU ld (GNU Binutils for Debian) 2.20.1.20100303
ib62x0 => ide reset

Reset IDE: Bus 0: OK Bus 1: OK
Device 0: Model: WDC WD20EARX-00MMMB0 Firm: 80.00A80 Ser#:
WD-WCAWZ2075392
Type: Hard Disk
Supports 48-bit addressing
Capacity: 1907729.0 MB = 1863.0 GB (-387938128 x 512)
Device 1: Model: WDC WD20EARX-00MMMB0 Firm: 80.00A80 Ser#:
WD-WCAWZ2075392
Type: Hard Disk
Supports 48-bit addressing
Capacity: 1907729.0 MB = 1863.0 GB (-387938128 x 512)
ib62x0 =>

---
With the patch applied, the two disks are seen :
---
patch -p0 -i ../fix_ide.diff

File to patch: include/ide.h

ib62x0 => version

U-Boot 2012.07-00123-g4d3c95f-dirty (Aug 14 2012 - 14:22:49) RaidSonic ICY BOX IB-NAS62x0
arm-linux-gnueabi-gcc (Debian 4.4.5-8) 4.4.5
GNU ld (GNU Binutils for Debian) 2.20.1.20100303
ib62x0 => ide reset

Reset IDE: Bus 0: OK Bus 1: OK
Device 0: Model: WDC WD20EARX-00MMMB0 Firm: 80.00A80 Ser#:
WD-WCAWZ2075392
Type: Hard Disk
Supports 48-bit addressing
Capacity: 1907729.0 MB = 1863.0 GB (-387938128 x 512)
Device 1: Model: WDC WD20EARX-00MMMB0 Firm: 80.00A80 Ser#:
WD-WCAWZ2083815
Type: Hard Disk
Supports 48-bit addressing
Capacity: 1907729.0 MB = 1863.0 GB (-387938128 x 512)
ib62x0 =>
ib62x0 => ide device 0

IDE device 0: Model: WDC WD20EARX-00MMMB0 Firm: 80.00A80 Ser#:
WD-WCAWZ2075392
Type: Hard Disk
Supports 48-bit addressing
Capacity: 1907729.0 MB = 1863.0 GB (-387938128 x 512)
... is now current device
ib62x0 => ide device 1

IDE device 1: Model: WDC WD20EARX-00MMMB0 Firm: 80.00A80 Ser#:
WD-WCAWZ2083815
Type: Hard Disk
Supports 48-bit addressing
Capacity: 1907729.0 MB = 1863.0 GB (-387938128 x 512)
... is now current device

---
For me this patch has fixed the detection bug of ide disks.

Hope this tests may help.

Le 13/08/2012 14:27, Albert ARIBAUD a ?crit :

Quoted 23 lines

Hi Wolfgang,

Quoted 5 lines · Wolfgang Denk

Dear Albert ARIBAUD,

In message <CAJHhwataYrT3GBzhrDcqhphRP5HbX3vd2XyuyYMSLeD8XWE8WA@mail.gmail.com> you wrote:

Quoted 7 lines
Quoted 4 lines

Sorry Luka (and all), been tied up pretty heavily recently, had to adjust to find some free time again.

I will test your patch today and post results tonight.

What was the outcome of this? I cannot find any further messages to this thread...

Sorry, I was away from home for a few days with no or little Internet access.

I wanted to test this on orion5x/edminiv2; I should be able to do this today in the course of regression-testing preparing an orion5x patch I want to submit in this window.

Quoted 6 lines
Quoted 3 lines

Best regards,

Wolfgang Denk

Amicalement,

drEagle

#14 lore raw
In reply to Luka Perkov
Quoted 14 lines · Luka Perkov

Hi Albert,

Quoted 11 lines · Luka Perkov
Quoted 9 lines · Albert ARIBAUD

Not my main area of expertise here, but I am not sure how this plays on Marvell non-kirkwood platforms (e.g., orion5x).

ISTR it is not the first time we deal with the whole IDE number of bus / number of ports [ / useable ports ] issue, and we may be running in circles here, fixing one platform and breaking another.

I'll try this on EDMiniV2 in the coming days, and let people know the results in this thread.

Quoted 8 lines
Quoted 2 lines

I was just wondering did you have the time to test this patch on your board?

Albert, did you maybe have time to test this patch. I have included it bellow so you dont have to search for it...

With a reworded commit message, applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20121008/5de3d0d2/attachment.pgp>
#15 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

In reply to Albert ARIBAUD
Quoted 49 lines · Albert ARIBAUD

Hi Dave,

Le 18/04/2012 23:37, David Purdy a ?crit :

Quoted 34 lines · Luka Perkov
Quoted 24 lines

IDE_BUS assumes that each bus has two devices and thus returns the first bus even when the second one should be probed.

---

Simon discovered this while adding support for new board IB NAS6210.

More info can be found here:

http://lists.denx.de/pipermail/u-boot/2012-April/122525.html

When this is commited I will do a coding style cleanup. There are tabs after few "#define" parts in include/ide.h.

include/ide.h | 2 +-

1 file changed, 1 insertion(+), 1 deletion(-)
include/ide.h +0 -0
index 8ecc9dd..385e909 100644

include/ide.h line 24

Quoted 1 line
include/ide.h +0 -0
@@ -24,7 +24,7 @@
 #ifndef _IDE_H

Simon, Luka, Prafulla, etal,

I've tested this out on the Seagate GoFlex Net (Kirkwood) device, which also has dual SATA ports, and it resolved the long-standing (and irritating) bug/unwanted-feature that required us to boot from _only_ the right side port.

Quoted 4 lines

I would guess that other Kirkwood dual-SATA-port boxes would be happier because of this, as well.

Nice catch, Simon.

Not my main area of expertise here, but I am not sure how this plays on Marvell non-kirkwood platforms (e.g., orion5x).

ISTR it is not the first time we deal with the whole IDE number of bus / number of ports [ / useable ports ] issue, and we may be running in circles here, fixing one platform and breaking another.

Quoted 8 lines

I'll try this on EDMiniV2 in the coming days, and let people know the results in this thread.

Quoted 3 lines

regards,

Dave

Amicalement,

I had something similar for my DNS323 port (orion5x-based), which other people may be remembering.

http://lists.denx.de/pipermail/u-boot/2010-August/075589.html

I seem to recall Wolfgang was not terribly enthused about it for some reason, though.

Rogan

#16 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

Hi Rogan,

Quoted 7 lines · Rogan Dawes

I had something similar for my DNS323 port (orion5x-based), which other people may be remembering.

http://lists.denx.de/pipermail/u-boot/2010-August/075589.html

I seem to recall Wolfgang was not terribly enthused about it for some reason, though.

I'm waiting for Albert to do testing on his boards. I was going to ping him again about this one next week ;)

Regards,
Luka

#17 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

In reply to Luka Perkov
Quoted 42 lines

-----Original Message-----
From: u-boot-bounces at lists.denx.de [mailto:u-boot- bounces at lists.denx.de] On Behalf Of Luka Perkov
Sent: 18 April 2012 00:37
To: u-boot at lists.denx.de
Subject: [U-Boot] [PATCH] fix IDE_BUS(dev) macro

IDE_BUS assumes that each bus has two devices and thus returns the first
bus even when the second one should be probed.

---

Simon discovered this while adding support for new board IB NAS6210.

More info can be found here:

http://lists.denx.de/pipermail/u-boot/2012-April/122525.html

When this is commited I will do a coding style cleanup. There are tabs after few "#define" parts in include/ide.h.

 include/ide.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
include/ide.h +1 -1
index 8ecc9dd..385e909 100644
@@ -24,7 +24,7 @@
 #ifndef	_IDE_H
 #define _IDE_H
 
-#define	IDE_BUS(dev)	(dev >> 1)
+#define IDE_BUS(dev)	(dev / (CONFIG_SYS_IDE_MAXDEVICE /
 CONFIG_SYS_IDE_MAXBUS))
 
 #define	ATA_CURR_BASE(dev)
Quoted 2 lines
	(CONFIG_SYS_ATA_BASE_ADDR+ide_bus_offset[IDE_BUS(dev)])

Dear Wolfgang

This is generic patch to IDE framework, this patch is dependency for (being pulled) Kirkwood based boards.

Will you please kindly pull it? OR I should do the needful?

Regards..
Prafulla . . .

#18 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

In reply to Luka Perkov

Hi,

I've tested this IDE patch on my NAS6220 and it works.

U-boot detect both HDD correctly and boot from them.

Cheers,
Tibor

-------- Original message --------
IDE_BUS assumes that each bus has two devices and thus returns the first bus even when the second one should be probed.

---

Simon discovered this while adding support for new board IB NAS6210.

More info can be found here:

http://lists.denx.de/pipermail/u-boot/2012-April/122525.html

When this is commited I will do a coding style cleanup. There are tabs after few "#define" parts in include/ide.h.

  include/ide.h |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
include/ide.h +1 -1
index 8ecc9dd..385e909 100644
@@ -24,7 +24,7 @@
  #ifndef	_IDE_H
  #define _IDE_H
 
-#define	IDE_BUS(dev)	(dev >> 1)
+#define IDE_BUS(dev)	(dev / (CONFIG_SYS_IDE_MAXDEVICE / 

CONFIG_SYS_IDE_MAXBUS))

#define ATA_CURR_BASE(dev)
(CONFIG_SYS_ATA_BASE_ADDR+ide_bus_offset[IDE_BUS(dev)])

#19 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

In reply to Luka Perkov

Hi,

I've tested this IDE patch on my NAS6220 and it works.

U-boot detect both HDD correctly and boot from them.

Cheers,
Tibor

-------- Original message --------
IDE_BUS assumes that each bus has two devices and thus returns the first bus even when the second one should be probed.

---

Simon discovered this while adding support for new board IB NAS6210.

More info can be found here:

http://lists.denx.de/pipermail/u-boot/2012-April/122525.html

When this is commited I will do a coding style cleanup. There are tabs after few "#define" parts in include/ide.h.

  include/ide.h |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
include/ide.h +1 -1
index 8ecc9dd..385e909 100644
@@ -24,7 +24,7 @@
  #ifndef	_IDE_H
  #define _IDE_H
 
-#define	IDE_BUS(dev)	(dev >> 1)
+#define IDE_BUS(dev)	(dev / (CONFIG_SYS_IDE_MAXDEVICE / 

CONFIG_SYS_IDE_MAXBUS))

#define ATA_CURR_BASE(dev)
(CONFIG_SYS_ATA_BASE_ADDR+ide_bus_offset[IDE_BUS(dev)])

#20 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

Hi Tibor,

Quoted 5 lines · V?g? Tibor

Hi,

I've tested this IDE patch on my NAS6220 and it works.

U-boot detect both HDD correctly and boot from them.

Thank you for testing.

Regards,
Luka

#21 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

In reply to Luka Perkov

Hi Tom, Albert, Prafulla and others,

Quoted 24 lines · Luka Perkov

IDE_BUS assumes that each bus has two devices and thus returns the first bus even when the second one should be probed.

---

Simon discovered this while adding support for new board IB NAS6210.

More info can be found here:

http://lists.denx.de/pipermail/u-boot/2012-April/122525.html

When this is commited I will do a coding style cleanup. There are tabs after few "#define" parts in include/ide.h.

 include/ide.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
include/ide.h +0 -0
index 8ecc9dd..385e909 100644

include/ide.h line 30

Quoted 8 lines
include/ide.h +1 -1
@@ -24,7 +24,7 @@
 #ifndef	_IDE_H
 #define _IDE_H
 
-#define	IDE_BUS(dev)	(dev >> 1)
+#define IDE_BUS(dev)	(dev / (CONFIG_SYS_IDE_MAXDEVICE / CONFIG_SYS_IDE_MAXBUS))
 
 #define	ATA_CURR_BASE(dev)	(CONFIG_SYS_ATA_BASE_ADDR+ide_bus_offset[IDE_BUS(dev)])
 

I have assigned this patch to Tom in patchwork here:

http://patchwork.ozlabs.org/patch/159129/

#22 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

Hi uboot at lukaperkov.net,

Quoted 43 lines · uboot at lukaperkov.net

Hi Tom, Albert, Prafulla and others,

Quoted 24 lines · Luka Perkov

IDE_BUS assumes that each bus has two devices and thus returns the first bus even when the second one should be probed.

---

Simon discovered this while adding support for new board IB NAS6210.

More info can be found here:

http://lists.denx.de/pipermail/u-boot/2012-April/122525.html

When this is commited I will do a coding style cleanup. There are tabs after few "#define" parts in include/ide.h.

 include/ide.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
include/ide.h +0 -0
index 8ecc9dd..385e909 100644

include/ide.h line 30

Quoted 8 lines
include/ide.h +1 -1
@@ -24,7 +24,7 @@
 #ifndef	_IDE_H
 #define _IDE_H
 
-#define	IDE_BUS(dev)	(dev >> 1)
+#define IDE_BUS(dev)	(dev / (CONFIG_SYS_IDE_MAXDEVICE / CONFIG_SYS_IDE_MAXBUS))
 
 #define	ATA_CURR_BASE(dev)	(CONFIG_SYS_ATA_BASE_ADDR+ide_bus_offset[IDE_BUS(dev)])
 

I have assigned this patch to Tom in patchwork here:

http://patchwork.ozlabs.org/patch/159129/

From when it was submitted we have got confirmations that this patch does the job for kirkwood boards on the u-boot mailing list:

Quoted 6 lines

http://lists.denx.de/pipermail/u-boot/2012-April/122684.html
http://lists.denx.de/pipermail/u-boot/2012-June/125658.html

It would be nice if this patch would enter v2012.10 release. At least someone could pull it into his repo so it can find it's way into master eventually.

As discussed on IRC, there are tests that actually cover the plaforms I should have tested myself, so I personally think this can go in 2012.10.

Quoted 2 lines

Regards,
Luka

Amicalement,

Signature · 1 line
Albert.
#23 lore raw

PATCH 1/1 fix IDE_BUS(dev) macro

Quoted 50 lines · Albert ARIBAUD

Hi uboot at lukaperkov.net,

Quoted 46 lines · uboot at lukaperkov.net

Hi Tom, Albert, Prafulla and others,

Quoted 24 lines · Luka Perkov

IDE_BUS assumes that each bus has two devices and thus returns the first bus even when the second one should be probed.

---

Simon discovered this while adding support for new board IB NAS6210.

More info can be found here:

http://lists.denx.de/pipermail/u-boot/2012-April/122525.html

When this is commited I will do a coding style cleanup. There are tabs after few "#define" parts in include/ide.h.

 include/ide.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
include/ide.h +0 -0
index 8ecc9dd..385e909 100644

include/ide.h line 30

Quoted 8 lines
include/ide.h +1 -1
@@ -24,7 +24,7 @@
 #ifndef    _IDE_H
 #define _IDE_H
 
-#define    IDE_BUS(dev)    (dev >> 1)
+#define IDE_BUS(dev)       (dev / (CONFIG_SYS_IDE_MAXDEVICE / CONFIG_SYS_IDE_MAXBUS))
 
 #define    ATA_CURR_BASE(dev)      (CONFIG_SYS_ATA_BASE_ADDR+ide_bus_offset[IDE_BUS(dev)])
 

I have assigned this patch to Tom in patchwork here:

http://patchwork.ozlabs.org/patch/159129/

From when it was submitted we have got confirmations that this patch does the job for kirkwood boards on the u-boot mailing list:

http://lists.denx.de/pipermail/u-boot/2012-April/122684.html
http://lists.denx.de/pipermail/u-boot/2012-June/125658.html

Quoted 6 lines
Quoted 3 lines

It would be nice if this patch would enter v2012.10 release. At least someone could pull it into his repo so it can find it's way into master eventually.

As discussed on IRC, there are tests that actually cover the plaforms I should have tested myself, so I personally think this can go in 2012.10.

OK, I'll pick this up Monday, thanks.

Signature · 1 line
Tom