linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: SATA probe delay on boot
@ 2003-09-04  0:54 Brien
  2003-09-04  4:55 ` Andre Hedrick
  0 siblings, 1 reply; 5+ messages in thread
From: Brien @ 2003-09-04  0:54 UTC (permalink / raw)
  To: B.Zolnierkiewicz; +Cc: linux-kernel

Bartlomiej,

"ide3=noprobe" doesn't make a noticable difference, but
I'll tell what happens with the patch when I get home
and am able to try it 

(just so you know it may be several hours before I'm
able to reply again)

Thanks much,

Brien

On Thu, 4 Sep 2003 01:53:07 +0200, Bartlomiej
Zolnierkiewicz wrote:

> On Thursday 04 of September 2003 01:18,
admin@brien.com
> wrote:
> > Hi,
> 
> Hi,
> 
> > I have a Sil3112A SATA controller, which linux works
> OK
> > with. It supports RAID (up to 4 devices), but I'm
> using
> > BASE option -- only 1 hard drive.
> >
> > My question is regarding a 15-20 second delay which
> > normally occurs every time I boot, unless I pass the
> 
> Please try attached patch and send dmesg output (with
> patch applied).
> Patch is against current 2.6-bk tree, but should apply
> to any recent
> 2.4.x or 2.6.x kernels.
> 
> diff -puN drivers/ide/ide-probe.c~ide-siimage-wait
> drivers/ide/ide-probe.c
> ---
>
linux-2.6.0-test4-bk5/drivers/ide/ide-probe.c~ide-siimage-wait	2003-09-04 01:34:02.285489272 +0200
> +++
>
linux-2.6.0-test4-bk5-root/drivers/ide/ide-probe.c	2003-09-04 01:47:58.145419248 +0200
> @@ -56,6 +56,8 @@
>  #include <asm/uaccess.h>
>  #include <asm/io.h>
>  
> +#define DEBUG
> +
>  /**
>   *	generic_id		-	add a generic drive id
>   *	@drive:	drive to make an ID block for
> @@ -345,7 +347,16 @@ static int actual_try_to_identify
> (ide_d
>  		}
>  		/* give drive a breather */
>  		ide_delay_50ms();
> -	} while ((hwif->INB(hd_status)) & BUSY_STAT);
> +		s = hwif->INB(hd_status);
> +		if (s == 0xff) {
> +#ifdef DEBUG
> +			printk("%s: status == 0xff\n", drive->name);
> +#endif
> +			return 1;
> +		}
> +		if ((s & BUSY_STAT) == 0)
> +			break;
> +	} while (1);
>  
>  	/* wait for IRQ and DRQ_STAT */
>  	ide_delay_50ms();
> 
> _
> 
> > options ide3=0 - ide9=0 to fill up the device
table. I
> > think I have to do this because if I do only ide3=0
> > (where the device would be), it uses ide4, and so
on.
> I
> > have GRUB set up to do this automatically, but it's
> not
> > exactly adequate (,is it?). So I was wondering if
> > there're any other ways to get the same affect. Is
or
> > could there be an option to simply disable the
probing
> > of the one specific device/channel every time?
> 
> "ide3=noprobe" doesnt work?
> 
> --bartlomiej

Brien

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: SATA probe delay on boot
  2003-09-04  0:54 SATA probe delay on boot Brien
@ 2003-09-04  4:55 ` Andre Hedrick
  0 siblings, 0 replies; 5+ messages in thread
From: Andre Hedrick @ 2003-09-04  4:55 UTC (permalink / raw)
  To: Brien; +Cc: B.Zolnierkiewicz, linux-kernel


I will get around to adding in the rest of the secret sauce.
I has everything to do with determining the state of the PHY at boot.

Andre Hedrick
LAD Storage Consulting Group

On Wed, 3 Sep 2003, Brien wrote:

> Bartlomiej,
> 
> "ide3=noprobe" doesn't make a noticable difference, but
> I'll tell what happens with the patch when I get home
> and am able to try it 
> 
> (just so you know it may be several hours before I'm
> able to reply again)
> 
> Thanks much,
> 
> Brien
> 
> On Thu, 4 Sep 2003 01:53:07 +0200, Bartlomiej
> Zolnierkiewicz wrote:
> 
> > On Thursday 04 of September 2003 01:18,
> admin@brien.com
> > wrote:
> > > Hi,
> > 
> > Hi,
> > 
> > > I have a Sil3112A SATA controller, which linux works
> > OK
> > > with. It supports RAID (up to 4 devices), but I'm
> > using
> > > BASE option -- only 1 hard drive.
> > >
> > > My question is regarding a 15-20 second delay which
> > > normally occurs every time I boot, unless I pass the
> > 
> > Please try attached patch and send dmesg output (with
> > patch applied).
> > Patch is against current 2.6-bk tree, but should apply
> > to any recent
> > 2.4.x or 2.6.x kernels.
> > 
> > diff -puN drivers/ide/ide-probe.c~ide-siimage-wait
> > drivers/ide/ide-probe.c
> > ---
> >
> linux-2.6.0-test4-bk5/drivers/ide/ide-probe.c~ide-siimage-wait	2003-09-04 01:34:02.285489272 +0200
> > +++
> >
> linux-2.6.0-test4-bk5-root/drivers/ide/ide-probe.c	2003-09-04 01:47:58.145419248 +0200
> > @@ -56,6 +56,8 @@
> >  #include <asm/uaccess.h>
> >  #include <asm/io.h>
> >  
> > +#define DEBUG
> > +
> >  /**
> >   *	generic_id		-	add a generic drive id
> >   *	@drive:	drive to make an ID block for
> > @@ -345,7 +347,16 @@ static int actual_try_to_identify
> > (ide_d
> >  		}
> >  		/* give drive a breather */
> >  		ide_delay_50ms();
> > -	} while ((hwif->INB(hd_status)) & BUSY_STAT);
> > +		s = hwif->INB(hd_status);
> > +		if (s == 0xff) {
> > +#ifdef DEBUG
> > +			printk("%s: status == 0xff\n", drive->name);
> > +#endif
> > +			return 1;
> > +		}
> > +		if ((s & BUSY_STAT) == 0)
> > +			break;
> > +	} while (1);
> >  
> >  	/* wait for IRQ and DRQ_STAT */
> >  	ide_delay_50ms();
> > 
> > _
> > 
> > > options ide3=0 - ide9=0 to fill up the device
> table. I
> > > think I have to do this because if I do only ide3=0
> > > (where the device would be), it uses ide4, and so
> on.
> > I
> > > have GRUB set up to do this automatically, but it's
> > not
> > > exactly adequate (,is it?). So I was wondering if
> > > there're any other ways to get the same affect. Is
> or
> > > could there be an option to simply disable the
> probing
> > > of the one specific device/channel every time?
> > 
> > "ide3=noprobe" doesnt work?
> > 
> > --bartlomiej
> 
> Brien
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: SATA probe delay on boot
@ 2003-09-04 11:04 Brien
  0 siblings, 0 replies; 5+ messages in thread
From: Brien @ 2003-09-04 11:04 UTC (permalink / raw)
  To: B.Zolnierkiewicz; +Cc: linux-kernel

On Thu, 4 Sep 2003 01:53:07 +0200, Bartlomiej
Zolnierkiewicz wrote:

Bartlomiej,

I applied this patch on 2.6.0-test4-bk5 just now, and
this is the (I think relative(?) -- tell me if you want
something else) section of dmesg output:

SiI3112 Serial ATA: IDE controller at PCI slot
0000:00:10.0
SiI3112 Serial ATA: chipset revision 2
SiI3112 Serial ATA: 100% native mode on irq 11
    ide2: MMIO-DMA at 0xf8807000-0xf8807007, BIOS
settings: hde:pio, hdf:pio
    ide3: MMIO-DMA at 0xf8807008-0xf880700f, BIOS
settings: hdg:pio, hdh:pio
probing for hde: present=0, media=32, probetype=ATA
hde: WDC WD360GD-00FNA0, ATA DISK drive
probing for hdf: present=0, media=32, probetype=ATA
probing for hdf: present=0, media=32, probetype=ATAPI
ide2 at 0xf8807080-0xf8807087,0xf880708a on irq 11
probing for hdg: present=0, media=32, probetype=ATA
hdg: no response (status = 0xfe)
probing for hdh: present=0, media=32, probetype=ATA
probing for hdh: present=0, media=32, probetype=ATAPI
probing for hdg: present=0, media=32, probetype=ATA
probing for hdg: present=0, media=32, probetype=ATAPI
hdg: no response (status = 0xfe), resetting drive
hdg: no response (status = 0xfe)
probing for hdh: present=0, media=32, probetype=ATA
probing for hdh: present=0, media=32, probetype=ATAPI
probing for hdi: present=0, media=32, probetype=ATA
probing for hdi: present=0, media=32, probetype=ATAPI
probing for hdj: present=0, media=32, probetype=ATA
probing for hdj: present=0, media=32, probetype=ATAPI
probing for hdk: present=0, media=32, probetype=ATA
probing for hdk: present=0, media=32, probetype=ATAPI
probing for hdl: present=0, media=32, probetype=ATA
probing for hdl: present=0, media=32, probetype=ATAPI

It doesn't seem right. And it actually takes 2-3 times
as long now. 

Brien

> On Thursday 04 of September 2003 01:18,
admin@brien.com
> wrote:
> > Hi,
> 
> Hi,
> 
> > I have a Sil3112A SATA controller, which linux works
> OK
> > with. It supports RAID (up to 4 devices), but I'm
> using
> > BASE option -- only 1 hard drive.
> >
> > My question is regarding a 15-20 second delay which
> > normally occurs every time I boot, unless I pass the
> 
> Please try attached patch and send dmesg output (with
> patch applied).
> Patch is against current 2.6-bk tree, but should apply
> to any recent
> 2.4.x or 2.6.x kernels.
> 
> diff -puN drivers/ide/ide-probe.c~ide-siimage-wait
> drivers/ide/ide-probe.c
> ---
>
linux-2.6.0-test4-bk5/drivers/ide/ide-probe.c~ide-siimage-wait	2003-09-04
01:34:02.285489272 +0200
> +++
>
linux-2.6.0-test4-bk5-root/drivers/ide/ide-probe.c	2003-09-04 01:47:58.145419248
+0200
> @@ -56,6 +56,8 @@
>  #include <asm/uaccess.h>
>  #include <asm/io.h>
>  
> +#define DEBUG
> +
>  /**
>   *	generic_id		-	add a generic drive id
>   *	@drive:	drive to make an ID block for
> @@ -345,7 +347,16 @@ static int actual_try_to_identify
> (ide_d
>  		}
>  		/* give drive a breather */
>  		ide_delay_50ms();
> -	} while ((hwif->INB(hd_status)) & BUSY_STAT);
> +		s = hwif->INB(hd_status);
> +		if (s == 0xff) {
> +#ifdef DEBUG
> +			printk("%s: status == 0xff\n", drive->name);
> +#endif
> +			return 1;
> +		}
> +		if ((s & BUSY_STAT) == 0)
> +			break;
> +	} while (1);
>  
>  	/* wait for IRQ and DRQ_STAT */
>  	ide_delay_50ms();
> 
> _
> 
> > options ide3=0 - ide9=0 to fill up the device
table. I
> > think I have to do this because if I do only ide3=0
> > (where the device would be), it uses ide4, and so
on.
> I
> > have GRUB set up to do this automatically, but it's
> not
> > exactly adequate (,is it?). So I was wondering if
> > there're any other ways to get the same affect. Is
or
> > could there be an option to simply disable the
probing
> > of the one specific device/channel every time?
> 
> "ide3=noprobe" doesnt work?
> 
> --bartlomiej
> 
> -

Brien

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: SATA probe delay on boot
  2003-09-03 23:18 admin
@ 2003-09-03 23:53 ` Bartlomiej Zolnierkiewicz
  0 siblings, 0 replies; 5+ messages in thread
From: Bartlomiej Zolnierkiewicz @ 2003-09-03 23:53 UTC (permalink / raw)
  To: admin; +Cc: linux-kernel


On Thursday 04 of September 2003 01:18, admin@brien.com wrote:
> Hi,

Hi,

> I have a Sil3112A SATA controller, which linux works OK
> with. It supports RAID (up to 4 devices), but I'm using
> BASE option -- only 1 hard drive.
>
> My question is regarding a 15-20 second delay which
> normally occurs every time I boot, unless I pass the

Please try attached patch and send dmesg output (with patch applied).
Patch is against current 2.6-bk tree, but should apply to any recent
2.4.x or 2.6.x kernels.

diff -puN drivers/ide/ide-probe.c~ide-siimage-wait drivers/ide/ide-probe.c
--- linux-2.6.0-test4-bk5/drivers/ide/ide-probe.c~ide-siimage-wait	2003-09-04 01:34:02.285489272 +0200
+++ linux-2.6.0-test4-bk5-root/drivers/ide/ide-probe.c	2003-09-04 01:47:58.145419248 +0200
@@ -56,6 +56,8 @@
 #include <asm/uaccess.h>
 #include <asm/io.h>
 
+#define DEBUG
+
 /**
  *	generic_id		-	add a generic drive id
  *	@drive:	drive to make an ID block for
@@ -345,7 +347,16 @@ static int actual_try_to_identify (ide_d
 		}
 		/* give drive a breather */
 		ide_delay_50ms();
-	} while ((hwif->INB(hd_status)) & BUSY_STAT);
+		s = hwif->INB(hd_status);
+		if (s == 0xff) {
+#ifdef DEBUG
+			printk("%s: status == 0xff\n", drive->name);
+#endif
+			return 1;
+		}
+		if ((s & BUSY_STAT) == 0)
+			break;
+	} while (1);
 
 	/* wait for IRQ and DRQ_STAT */
 	ide_delay_50ms();

_

> options ide3=0 - ide9=0 to fill up the device table. I
> think I have to do this because if I do only ide3=0
> (where the device would be), it uses ide4, and so on. I
> have GRUB set up to do this automatically, but it's not
> exactly adequate (,is it?). So I was wondering if
> there're any other ways to get the same affect. Is or
> could there be an option to simply disable the probing
> of the one specific device/channel every time?

"ide3=noprobe" doesnt work?

--bartlomiej


^ permalink raw reply	[flat|nested] 5+ messages in thread

* SATA probe delay on boot
@ 2003-09-03 23:18 admin
  2003-09-03 23:53 ` Bartlomiej Zolnierkiewicz
  0 siblings, 1 reply; 5+ messages in thread
From: admin @ 2003-09-03 23:18 UTC (permalink / raw)
  To: linux-kernel

Hi,

I have a Sil3112A SATA controller, which linux works OK
with. It supports RAID (up to 4 devices), but I'm using
BASE option -- only 1 hard drive.

My question is regarding a 15-20 second delay which
normally occurs every time I boot, unless I pass the
options ide3=0 - ide9=0 to fill up the device table. I
think I have to do this because if I do only ide3=0
(where the device would be), it uses ide4, and so on. I
have GRUB set up to do this automatically, but it's not
exactly adequate (,is it?). So I was wondering if
there're any other ways to get the same affect. Is or
could there be an option to simply disable the probing
of the one specific device/channel every time?

Thanks,

Brien

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2003-09-04 11:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-04  0:54 SATA probe delay on boot Brien
2003-09-04  4:55 ` Andre Hedrick
  -- strict thread matches above, loose matches on Subject: below --
2003-09-04 11:04 Brien
2003-09-03 23:18 admin
2003-09-03 23:53 ` Bartlomiej Zolnierkiewicz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).