16 Dec, 2006

2 commits


05 Dec, 2006

1 commit


03 Dec, 2006

1 commit

  • libata switched to IRQ-driven IDENTIFY when IRQ-driven PIO was
    introduced. This has caused a lot of problems including device
    misdetection and phantom device.

    ATA_FLAG_DETECT_POLLING was added recently to selectively use polling
    IDENTIFY on problemetic drivers but many controllers and devices are
    affected by this problem and trying to adding ATA_FLAG_DETECT_POLLING
    for each such case is diffcult and not very rewarding.

    This patch makes libata always use polling IDENTIFY. This is
    consistent with libata's original behavior and drivers/ide's behavior.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     

02 Dec, 2006

4 commits

  • Now that PCS isn't used for device detection anymore...

    * esb_sata is identical to ich5_sata
    * no reason to know present_shift
    * no reason to store map_db in host private area

    The MAP table itself is left because it can be used for SCR access.

    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • PATA PIIX uses reset signature + TF r/w test for device presence
    detection, which doesn't always work. It sometimes reports phantom
    device which results in IDENTIFY timeouts.

    SATA PIIX uses some combination of PCS + reset signature + TF r/w test
    for device presence detection. No combination satifies all and for
    some controllers, there doesn't seem to be any combination which
    works reliably.

    This patch makes both PATA and SATA piix's use reset signature + TF
    r/w + polling IDENTIFY for device detection. This is what the old
    libata (before irq-pio and new EH) did and what IDE does.

    This patch also removes now obsolete PIIX_FLAG_IGNORE_PCS, force_pcs
    and related code.

    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • * move common flags into PIIX_PATA_FLAGS and PIIX_SATA_FLAGS
    * kill unnecessary ATA_FLAG_SRST

    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • [deweerdt@free.fr: build fix]
    Signed-off-by: Alan Cox
    Signed-off-by: Frederik Deweerdt
    Cc: Tejun Heo
    Signed-off-by: Andrew Morton
    Signed-off-by: Jeff Garzik

    Alan Cox
     

02 Nov, 2006

1 commit


01 Nov, 2006

2 commits

  • ICH7M was separated from ICH6M to allow undocumented MAP value 01b
    which was spotted on an ASUS notebook. However, there is also
    notebooks with MAP value 01b on ICH6M. This patch re-merges ICH6M and
    ICH7M entries and allows MAP value 01b for both.

    This problem has been reported and initial patch provided by Jonathan
    Dieter.

    Signed-off-by: Tejun Heo
    Cc: Jonathan Dieter
    Cc: Tom Deblauwe
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • Hi Jeff,

    I tested the PATA support on my old VAIO notebook, and it failed to find
    my piix device:

    00:07.1 Class 0101: 8086:7111 (rev 01) (prog-if 80 [Master])
    Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop-
    ParErr- Stepping- SERR- FastB2B-
    Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
    SERR-
    Signed-off-by: Jeff Garzik

    Jens Axboe
     

22 Oct, 2006

1 commit

  • Use valid values for ICH8 map_db. With the old values, when the
    controller was in Native mode, and SCC was 1 (drives configured for
    IDE), any drive plugged into a slave port was not recognized. For
    Combined Mode (and SCC is still 1), 2 is a value value for MAP.map_value,
    and needs to be recognized.

    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Jeff Garzik

    Kristen Carlson Accardi
     

27 Sep, 2006

1 commit


26 Sep, 2006

1 commit


13 Sep, 2006

1 commit


11 Sep, 2006

1 commit


31 Aug, 2006

1 commit


30 Aug, 2006

1 commit


24 Aug, 2006

2 commits

  • The biggest change is that ata_host_set is renamed to ata_host.

    * ata_host_set => ata_host
    * ata_probe_ent->host_flags => ata_probe_ent->port_flags
    * ata_probe_ent->host_set_flags => ata_probe_ent->_host_flags
    * ata_host_stats => ata_port_stats
    * ata_port->host => ata_port->scsi_host
    * ata_port->host_set => ata_port->host
    * ata_port_info->host_flags => ata_port_info->flags
    * ata_(.*)host_set(.*)\(\) => ata_\1host\2()

    The leading underscore in ata_probe_ent->_host_flags is to avoid
    reusing ->host_flags for different purpose. Currently, the only user
    of the field is libata-bmdma.c and probe_ent itself is scheduled to be
    removed.

    ata_port->host is reused for different purpose but this field is used
    inside libata core proper and of different type.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Jeff Garzik
     
  • Jeff Garzik
     

22 Aug, 2006

1 commit


15 Aug, 2006

1 commit


10 Aug, 2006

1 commit