Re: hotplug works, but newly plug not

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

 



Hi Tejun

I read the whole AHCI but I still could not find out what is the magic
number 0x92. Is this in some Intel doc?

Ming


On Wed, 2006-05-24 at 17:09 -0400, Ming Zhang wrote:
> On Wed, 2006-05-24 at 13:51 -0700, Tejun Heo wrote:
> > Ming Zhang wrote:
> > > Hi All
> > > 
> > > I use the libata patch from
> > > http://home-tj.org/wiki/index.php/Libata-tj-stable with my supermicro MB
> > > ( ICH7R chip). The AHCI works as desired in most of the time.
> > > 
> > > If I have disk(s) plugged in during boot. Then after boot, I kept unplug
> > > and plug many times and it works fine.
> > > 
> > > but i noticed that if I have the disk(s) unplugged during boot, then
> > > after boot, I plug the disk and nothing shows. if I try to do rescan by
> > > run the rescan lun script, i saw these from dmesg.
> > > 
> > > Anything clue ? Thanks!
> > > 
> > > Ming
> > > 
> > > ---------------------------------------
> > > ata4: soft resetting port
> > > ata4: SATA link down (SStatus 0 SControl 0)
> > > ata4: EH complete
> > > ata3: soft resetting port
> > > ata3: SATA link down (SStatus 0 SControl 0)
> > > ata3: EH complete
> > > ata4: soft resetting port
> > > ata4: SATA link down (SStatus 0 SControl 0)
> > > ata4: EH complete
> > > ata3: soft resetting port
> > > ata3: SATA link down (SStatus 0 SControl 0)
> > > ata3: EH complete
> > > ata4: soft resetting port
> > > ata4: SATA link down (SStatus 0 SControl 0)
> > > ata4: EH complete
> > 
> > Hello,
> > 
> > That never happened to me on AHCI mode but I experienced similar thing 
> > with piix mode.  It might be that your BIOS doesn't turn on PCS enable 
> 
> the BIOS has a option to switch between AHCI and PIIX. So I guess the
> reason is as you said.
> 
> also this is kernel boot log related to this. could u point out the
> place for this pcs in AHCI spec? i just printed AHCI and can not find
> related information about this PCS. the code operate at offset 0x92 but
> i can not find anything about that.
> 
> 
> libata version 1.30 loaded.
> ahci 0000:00:1f.2: version 1.3
> ACPI: PCI Interrupt 0000:00:1f.2[B] -> GSI 19 (level, low) -> IRQ 19
> ahci 0000:00:1f.2: pcs 0x11->0x1f
> PCI: Setting latency timer of device 0000:00:1f.2 to 64
> ahci 0000:00:1f.2: AHCI 0001.0100 32 slots 4 ports 3 Gbps 0x1 impl SATA
> mode
> ahci 0000:00:1f.2: flags: 64bit ncq pm led clo pio slum part
> ata1: SATA max UDMA/133 cmd 0xF881C500 ctl 0x0 bmdma 0x0 irq 19
> ata2: SATA max UDMA/133 cmd 0xF881C580 ctl 0x0 bmdma 0x0 irq 19
> ata3: SATA max UDMA/133 cmd 0xF881C600 ctl 0x0 bmdma 0x0 irq 19
> ata4: SATA max UDMA/133 cmd 0xF881C680 ctl 0x0 bmdma 0x0 irq 19
> scsi0 : ahci
> ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
> ata1.00: cfg 49:2f00 82:74eb 83:7feb 84:4123 85:74e9 86:3c03 87:4123
> 88:007f
> ata1.00: ATA-7, max UDMA/133, 781422768 sectors: LBA48
> ata1.00: configured for UDMA/133
> scsi1 : ahci
> ata2: SATA link down (SStatus 0 SControl 0)
> scsi2 : ahci
> ata3: SATA link down (SStatus 0 SControl 0)
> scsi3 : ahci
> ata4: SATA link down (SStatus 0 SControl 0)
>   Vendor: ATA       Model: HDS724040KLSA80   Rev: KFAO
>   Type:   Direct-Access                      ANSI SCSI revision: 05
> SCSI device sda: 781422768 512-byte hdwr sectors (400088 MB)
> sda: Write Protect is off
> sda: Mode Sense: 00 3a 00 00
> SCSI device sda: drive cache: write back
> SCSI device sda: 781422768 512-byte hdwr sectors (400088 MB)
> sda: Write Protect is off
> sda: Mode Sense: 00 3a 00 00
> SCSI device sda: drive cache: write back
>  sda:
> sd 0:0:0:0: Attached scsi disk sda
> sd 0:0:0:0: Attached scsi generic sg0 type 0
> 
> 
> 
> 
> > bits for empty ports and thus the empty ports cannot be used after boot. 
> > Can you try the attached patch?  (only compile-tested, be cautious)
> > 
> > plain text document attachment (patch)
> > diff --git a/drivers/scsi/ahci.c b/drivers/scsi/ahci.c
> > index 45fd71d..83751dd 100644
> > --- a/drivers/scsi/ahci.c
> > +++ b/drivers/scsi/ahci.c
> > @@ -1306,6 +1306,15 @@ static int ahci_init_one (struct pci_dev
> >  		have_msi = 0;
> >  	}
> >  
> > +	{
> > +		u8 orig_pcs, pcs;
> > +		pci_read_config_byte(pdev, 0x92, &orig_pcs);
> > +		pci_write_config_byte(pdev, 0x92, 0xf);
> > +		pci_read_config_byte(pdev, 0x92, &pcs);
> > +		dev_printk(KERN_INFO, &pdev->dev, "pcs 0x%x->0x%x\n",
> > +			   orig_pcs, pcs);
> > +	}
> > +
> >  	probe_ent = kmalloc(sizeof(*probe_ent), GFP_KERNEL);
> >  	if (probe_ent == NULL) {
> >  		rc = -ENOMEM;
> 

-
: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux