16 Oct, 2007

1 commit

  • This is a driver for the ATA controller on the Geode CS5536 companion
    chip. The PCI device ID for this device was previously claimed by
    pata_amd.c but the PIO timings were not correct. This driver also
    works around a bug in some BIOSes that handle unaligned access to the
    PCI config registers poorly. Finally, the driver allows fallback to
    using MSR registers for configuration on BIOSes that are truly
    broken.

    Signed-off-by: Martin K. Petersen
    Signed-off-by: Jeff Garzik

    Martin K. Petersen
     

13 Oct, 2007

5 commits

  • On a cable there may be
    eighty wires or perhaps forty
    and we learn about its type
    In the world of ACPI

    So we call the GTM
    And we find the the timing rate
    And we look through it to see
    If eighty wire it must be

    Timing lives in ACPI routines
    ACPI routines, ACPI routines
    Timing lives in ACPI routines
    ACPI routes ACPI routines

    And the drivers last you see
    Picking up unknown pci ids
    and the code begins to work

    Timing lives in ACPI routines
    ACPI routines, ACPI routines
    Timing lives in ACPI routines
    ACPI routes ACPI routines

    [Full speed ahead, Mr Hacker, full speed ahead]
    Full speed over here sir!
    Checking Cable, checking cable
    Aye aye, 80 wire,
    Heaven heaven]

    If we use ACPI (ACPI)
    Every box (every box) has all we need (has all we need)
    Cable type (cable type) and mode timing (mode timing)
    In our ATA (in our ATA) subroutines (subroutines, ha ha)

    Timing lives in ACPI routines
    ACPI routines, ACPI routines
    Timing lives in ACPI routines
    ACPI routes ACPI routines
    Timing lives in ACPI routines
    ACPI routines, ACPI routines
    Timing lives in ACPI routines
    ACPI routes ACPI routines

    Signed-off-by: Alan Cox
    Signed-off-by: Jeff Garzik

    Alan Cox
     
  • Signed-off-by: Alan Cox
    [plus SuperIO fixes by Kyle McMartin]
    [plus a cleanup from me]
    Signed-off-by: Jeff Garzik

    Alan Cox
     
  • Signed-off-by: Alan Cox
    Signed-off-by: Jeff Garzik

    Alan Cox
     
  • Updated and simplified driver. Use only register transfer timing for both
    data and register transfers. This gives poorer performance in PIO1 and 2,
    but should not be a problem in PIO3 and 4, correct me if I'm wrong :)

    The driver works very we'll but I still wonder about the interrupts. I have
    an interrupt line, that works nicely when POLLING flag is not set. The
    problem is the number of interrupts that eat away my CPU cycles.

    When using the POLLING flag there seem to be some interrupts that dosen't get
    cleared. Furthermore the device dosen't drive INTRQ high, it stays at 2.5 volts
    and generates a lot of interrupts due to ripple / noise. What to do?

    Signed-off-by: Kristoffer Nyborg Gregertsen
    Signed-off-by: Jeff Garzik

    Kristoffer Nyborg Gregertsen
     
  • Fix all issues pointed out in Jeff's email.

    Acked-by: Alan Cox
    Signed-off-by: Sonic Zhang
    Signed-off-by: Jeff Garzik

    Sonic Zhang
     

11 Jul, 2007

1 commit

  • The HPT343/345 (aka 363) is a bit of a warped device. For many setups you
    need to access the other registers via BAR4 offsets. PIO is now rock
    solid, DMA isn't. Unfortunately the drivers/ide hpt34x driver is
    completely broken so doesn't help further debug.

    Signed-off-by: Alan Cox
    Cc: Bartlomiej Zolnierkiewicz
    Signed-off-by: Andrew Morton
    Signed-off-by: Jeff Garzik

    Alan Cox
     

02 Jul, 2007

1 commit

  • On Mon, 11 Jun 2007 20:28:16 +0200 api wrote:

    > Good day,
    > When doing make menuconfig one comes across CONFIG_BLK_DEV_SD.
    > The help file states that this is for scsi disks.NO MENTION IS MADE THAT
    > IT IS NEEDE FOR SATA DISKS AS WELL!
    > Would have saved me a lot of time if the help was up to date.
    > I hope this can be changed so others can make a kernel for sata systems
    > quicker.

    From: Randy Dunlap

    Add help info for BLK_DEV_SD referring to its use in
    SATA or PATA driver configurations.

    Add help text for "ATA" indicating that it probably needs
    some SCSI config symbols enabled in order to be useful.

    Signed-off-by: Randy Dunlap
    Signed-off-by: Jeff Garzik

    Randy Dunlap
     

05 Jun, 2007

1 commit


04 Jun, 2007

1 commit


22 May, 2007

1 commit


12 May, 2007

2 commits


10 May, 2007

1 commit


09 May, 2007

1 commit


07 May, 2007

1 commit

  • * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (82 commits)
    [ARM] Add comments marking in-use ptrace numbers
    [ARM] Move syscall saving out of the way of utrace
    [ARM] 4360/1: S3C24XX: regs-udc.h remove unused macro
    [ARM] 4358/1: S3C24XX: mach-qt2410.c: remove linux/mmc/protocol.h header
    [ARM] mm 10: allow memory type to be specified with ioremap
    [ARM] mm 9: add additional device memory types
    [ARM] mm 8: define mem_types table L1 bit 4 to be for ARMv6
    [ARM] iop: add missing parens in macro
    [ARM] mm 7: remove duplicated __ioremap() prototypes
    ARM: OMAP: fix OMAP1 mpuio suspend/resume oops
    ARM: OMAP: MPUIO wake updates
    ARM: OMAP: speed up gpio irq handling
    ARM: OMAP: plat-omap changes for 2430 SDP
    ARM: OMAP: gpio object shrinkage, cleanup
    ARM: OMAP: /sys/kernel/debug/omap_gpio
    ARM: OMAP: Implement workaround for GPIO wakeup bug in OMAP2420 silicon
    ARM: OMAP: Enable 24xx GPIO autoidling
    [ARM] 4318/2: DSM-G600 Board Support
    [ARM] 4227/1: minor head.S fixups
    [ARM] 4328/1: Move i.MX UART regs to driver
    ...

    Linus Torvalds
     

03 May, 2007

2 commits


29 Apr, 2007

3 commits

  • Both old-IDE and libata should be able handle all controllers and
    devices found using normal resource reservation methods.

    This eliminates the awful, low-performing split-driver configuration
    where old-IDE drove the PATA portion of a PCI device, in PIO-only mode,
    and libata drove the SATA portion of the /same/ PCI device, in DMA mode.
    Typically vendors would ship SATA hard drive / PATA optical
    configuration, which would lend itself to slow (PIO-only) CD-ROM
    performance.

    For Intel users running in combined mode, it is now wholly dependent on
    your driver choice (potentially link order, if you compile both drivers
    in) whether old-IDE or libata will drive your hardware.

    In either case, you will get full performance from both SATA and PATA
    ports now, without having to pass a kernel command line parameter.

    Signed-off-by: Jeff Garzik

    Jeff Garzik
     
  • Signed-off-by: Alan Cox
    Signed-off-by: Jeff Garzik

    Alan Cox
     
  • Support for the PCI CMD640 (not VLB)

    Signed-off-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Jeff Garzik

    Alan Cox
     

19 Mar, 2007

1 commit


21 Feb, 2007

2 commits

  • The driver requires in_be32(), and so should not be built on many PCI
    platforms.

    Signed-off-by: Jeff Garzik

    Jeff Garzik
     
  • This is the patch for PATA controller of Celleb.

    This driver uses the managed iomap (devres).

    Because this driver needs special taskfile accesses, there is
    a copy of ata_std_softreset(). ata_dev_try_classify() is exported
    so that it can be used in this function.

    Signed-off-by: Kou Ishizaki
    Signed-off-by: Akira Iguchi
    Signed-off-by: Jeff Garzik

    Akira Iguchi
     

17 Feb, 2007

1 commit

  • _GTF is an acpi method that is used to reinitialize the drive. It returns
    a task file containing ata commands that are sent back to the drive to restore
    it to boot up defaults.

    Signed-off-by: Kristen Carlson Accardi
    Signed-off-by: Jeff Garzik
    (cherry picked from 9c69cab24b51a89664f4c0dfaf8a436d32117624 commit)

    Kristen Carlson Accardi
     

10 Feb, 2007

5 commits

  • People are getting confused about which drivers to enable for PATA PIIX
    type devices. Change the ATA_PIIX line and help to make it clearer.

    Signed-off-by: Alan Cox
    Signed-off-by: Jeff Garzik

    Alan
     
  • This is quick rework of the patch Uwe proposed but using Kconfig not
    ifdefs and user selection to sort out PATA support. Instead of ifdefs and
    requiring the user to select both drivers the SATA driver selects the
    PATA one.

    For neatness I've also moved the extern into the function that uses it.

    Signed-off-by: Alan Cox
    Signed-off-by: Jeff Garzik

    Alan
     
  • Driver for Initio 162x SATA controllers. ATA r/w, ATAPI r, hotplug
    and suspend/resume work. ATAPI w (recording, that is) broken. Feel
    free to fix it, but be warned, this controller is weird.

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

    Tejun Heo
     
  • This patch adds initial libata support for the Freescale
    MPC5200 integrated IDE controller.

    Signed-off-by: Sylvain Munaut
    Signed-off-by: Jeff Garzik

    Sylvain Munaut
     
  • Add a driver for the IT8213 which is a single channel ICH-ish PATA
    controller. As it is very different to the IT8211/2 it gets its own
    driver. There is a legacy drivers/ide driver also available and I'll post
    that once I get time to test it all out (probably early January). If
    anyone else needs the drivers/ide driver and wants to do the merge for
    drivers/ide (Bart ??) then I'll forward it.

    [akpm@osdl.org: add PCI ID, constify needed_pio[]]
    Signed-off-by: Alan Cox
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Jeff Garzik

    Alan
     

27 Jan, 2007

1 commit

  • On the Maple board, the AMD8111 IDE is in legacy mode... except that it
    appears on IRQ 20 instead of IRQ 15. For drivers/ide this was handled by
    the architecture's "pci_get_legacy_ide_irq()" function, but in libata we
    just hard-code the numbers 14 and 15.

    This patch provides asm-powerpc/libata-portmap.h which maps the IRQ as
    appropriate, having added a pci_dev argument to the
    ATA_{PRIM,SECOND}ARY_IRQ macros.

    There's probably a better way to do this -- especially if we observe
    that the _only_ case in which this seemingly-generic
    "pci_get_legacy_ide_irq()" function returns anything other than 14 and
    15 for primary and secondary respectively is the case of the AMD8111 on
    the Maple board -- couldn't we handle that with a special case in the
    pata_amd driver, or perhaps with a PCI quirk for Maple to switch it into
    native mode during early boot and assign resources properly?

    Signed-off-by: David Woodhouse
    Signed-off-by: Jeff Garzik

    David Woodhouse
     

06 Jan, 2007

1 commit


16 Dec, 2006

1 commit

  • > Thanks for clarifying Bill, and sorry Alan. ata_piix does indeed work
    > correctly. The help text is a bit confusing:
    >
    > config ATA_PIIX
    > tristate "Intel PIIX/ICH SATA support"
    > depends on PCI
    > help
    > This option enables support for ICH5/6/7/8 Serial ATA.
    > If PATA support was enabled previously, this enables
    > support for select Intel PIIX/ICH PATA host controllers.

    New help text

    Signed-off-by: Alan Cox
    Signed-off-by: Jeff Garzik

    Alan
     

02 Dec, 2006

4 commits


22 Oct, 2006

1 commit

  • Fix the following compile error with CONFIG_ATA=y, CONFIG_BLOCK=n:

    ...
    CC drivers/ata/libata-scsi.o
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c: In function ‘ata_scsi_dev_config’:
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:791: warning: implicit declaration of function ‘blk_queue_max_sectors’
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:799: error: ‘request_queue_t’ undeclared (first use in this function)
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:799: error: (Each undeclared identifier is reported only once
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:799: error: for each function it appears in.)
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:799: error: ‘q’ undeclared (first use in this function)
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:800: warning: implicit declaration of function ‘blk_queue_max_hw_segments’
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c: In function ‘ata_scsi_slave_config’:
    /home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:831:
    warning: implicit declaration of function ‘blk_queue_max_phys_segments’
    make[3]: *** [drivers/ata/libata-scsi.o] Error 1

    Bug report by Jesper Juhl.

    Signed-off-by: Adrian Bunk
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Jeff Garzik

    Adrian Bunk
     

27 Sep, 2006

1 commit


25 Sep, 2006

1 commit