Message ID | 1300435500-4909-3-git-send-email-rogan@dawes.za.net |
---|---|
State | Not Applicable |
Headers | show |
Dear rogan@dawes.za.net, In message <1300435500-4909-3-git-send-email-rogan@dawes.za.net> you wrote: > From: Rogan Dawes <rogan@dawes.za.net> > > Some SATA controllers can operate in an IDE compatible mode (e.g. mvsata) > but will only ever have a single device per bus. > > This allows the upcoming DNS323 port to properly identify and use > a drive on both SATA interfaces. > --- > include/ide.h | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/include/ide.h b/include/ide.h > index 6a1b7ae..c812b28 100644 > --- a/include/ide.h > +++ b/include/ide.h > @@ -24,7 +24,8 @@ > #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) - 1)) I am still not convinced this is a correct approach. Can we not have mixed configurations, with 1 device on one controller (bus) and 2 devices on another controller (bus) ? Best regards, Wolfgang Denk
diff --git a/include/ide.h b/include/ide.h index 6a1b7ae..c812b28 100644 --- a/include/ide.h +++ b/include/ide.h @@ -24,7 +24,8 @@ #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) - 1)) #define ATA_CURR_BASE(dev) (CONFIG_SYS_ATA_BASE_ADDR+ide_bus_offset[IDE_BUS(dev)])
From: Rogan Dawes <rogan@dawes.za.net> Some SATA controllers can operate in an IDE compatible mode (e.g. mvsata) but will only ever have a single device per bus. This allows the upcoming DNS323 port to properly identify and use a drive on both SATA interfaces. --- include/ide.h | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)