17 Mar, 2011

1 commit


01 Apr, 2009

1 commit


25 Mar, 2009

4 commits


05 Mar, 2009

1 commit

  • This is IDE host driver for AT91 (SAM9, CAP9, AT572D940HF) Static Memory
    Controller with Compact Flash True IDE Mode logic.

    Driver have to switch 8/16 bit bus width when accessing Task Tile or Data
    Register. Moreover some extra things need to be done when setting PIO mode.
    Only PIO mode is used, hardware have no DMA support. If interrupt line is
    connected through GPIO extra quirk is needed to cope with fake interrupts.

    Signed-off-by: Stanislaw Gruszka
    Cc: Andrew Victor
    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Stanislaw Gruszka
     

03 Feb, 2009

1 commit

  • This is a port of libata's pata_cs5536.c (written by Martin K. Petersen)
    to IDE subsystem.

    Changes done while at it:

    * Reprogram PIO/MWDMA timings if needed before and after DMA transfer
    (chipset uses shared PIO/MWDMA timings).

    * Fix cable detection to report 80-wires cable if BIOS set it for any
    device on a port (IDE core will do drive-side cable detection later).

    * Don't disable UDMA while programming PIO timings.

    * Simplify PCI/MSR support.

    Pros of having IDE host driver in addition to libata's one:

    * IDE is much lighter than SCSI+libata, the host driver itself is also
    a bit smaller:

    text data bss dec hex filename
    1261 496 4 1761 6e1 drivers/ata/pata_cs5536.o
    1242 128 4 1374 55e drivers/ide/cs5536.o

    * This allows use of IDE features which are unavailable under libata.

    v2:
    * Fixes per review from Sergei:
    - simplify dependency check in Kconfig
    - use IDE_DRV_MASK also for ->drive_data
    - disable UDMA when programming MWDMA
    - program new DTC timings only when necessary
    - fix printk() level in cs5536_init_one()

    * Fix patch description according to comments from Alan and Sergei.

    v3:
    * Smarter masking of UDMA bits per Sergei's suggestion.

    Cc: Martin K. Petersen
    Cc: Karl Auerbach
    Cc: Alan Cox
    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

07 Jan, 2009

1 commit

  • Support for the IT8172 IDE controller was removed from the kernel
    sometime after 2.6.18. Support for the only boards that used the IT8172
    was removed from the kernel after 2.6.18, as they had never compiled
    since 2.6.0. However, there are a couple of platforms that use this
    chip: the PMC-Sierra Xiao Hu thin-client computer, which is no longer
    in production, and the Linksys NSS4000 Network Attached Storage box,
    which is based on the Xiao Hu board. I am attempting to add support
    for the Xiao Hu to the kernel, and this IT8172 IDE controller is the
    first bit of code in this effort.

    This patch resurrects the IT8172 IDE controller code. I began with
    the 2.6.18 version of the it8172.c file, and have moved it forward so
    that it works with the latest version of the kernel. I have run this
    driver on a PMC-Sierra Xiao Hu board with the 2.6.28 kernel, and
    I have had no problems with it in my configuration. The attached patch
    applies cleanly against 2.6.28.

    Signed-off-by: Shane McDonald
    Acked-by: Sergei Shtylyov
    Cc: alan@lxorguk.ukuu.org.uk
    [bart: s/HWIF(drive)/drive->hwif/]
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Shane McDonald
     

02 Jan, 2009

1 commit


30 Dec, 2008

2 commits


24 Oct, 2008

3 commits


22 Oct, 2008

1 commit


18 Oct, 2008

3 commits

  • * Add struct ide_disk_ops containing protocol specific methods.

    * Add 'struct ide_disk_ops *' to ide_drive_t.

    * Convert ide-{disk,floppy} drivers to use struct ide_disk_ops.

    * Merge ide-{disk,floppy} drivers into generic ide-gd driver.

    While at it:
    - ide_disk_init_capacity() -> ide_disk_get_capacity()

    Acked-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • While at it:
    - idefloppy_do_request() -> ide_floppy_do_request()
    - idefloppy_end_request() -> ide_floppy_end_request()
    - idefloppy_setup() -> ide_floppy_setup()

    There should be no functional changes caused by this patch.

    Acked-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • While at it:
    - IDEDISK_VERSION -> IDE_GD_VERSION
    - ide_cacheflush_p() -> ide_disk_flush()
    - init_idedisk_capacity() -> ide_disk_init_capacity()
    - idedisk_set_doorlock() -> ide_disk_set_doorlock()
    - idedisk_setup() -> ide_disk_setup()

    - ide_disk_capacity() -> ide_gd_capacity()
    - ide_disk_remove() -> ide_gd_remove()
    - ide_disk_probe() -> ide_gd_probe()
    - ide_disk_resume() -> ide_gd_resume()
    - ide_device_shutdown() -> ide_gd_shutdown()
    - idedisk_driver -> ide_gd_driver
    - idedisk_open() -> ide_gd_open()
    - idedisk_release() -> ide_gd_release()
    - idedisk_getgeo() -> ide_gd_getgeo()
    - idedisk_media_changed() -> ide_gd_media_changed()
    - idedisk_revalidate_disk() -> ide_gd_revalidate_disk()
    - idedisk_ops -> ide_gd_ops
    - idedisk_init() -> ide_gd_init()
    - idedisk_exit() -> ide_gd_exit()

    There should be no functional changes caused by this patch.

    Acked-by: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

14 Oct, 2008

6 commits

  • On user request (through sysfs), the IDLE IMMEDIATE command with UNLOAD
    FEATURE as specified in ATA-7 is issued to the device and processing of
    the request queue is stopped thereafter until the specified timeout
    expires or user space asks to resume normal operation. This is supposed
    to prevent the heads of a hard drive from accidentally crashing onto the
    platter when a heavy shock is anticipated (like a falling laptop expected
    to hit the floor). Port resets are deferred whenever a device on that
    port is in the parked state.

    v3:
    Elias Oltmanns wrote:
    [...]
    > >> 1. Make sure that no negative value is being passed to
    > >> jiffies_to_msecs() in ide_park_show().
    > >> 2. Drop the superfluous variable hwif in ide_special_rq().
    > >> 3. Skip initialisation of task and tf in ide_special_rq() if we are not
    > >> handling a (un)park request.
    > >
    > > Well, #3 should have been done differently because we donn't want to
    > > check for REQ_(UN)?PARK_HEADS more often than is necessary.
    >
    > While preparing the backport to 2.6.27, it has just occurred to me that
    > we need to clear the IDE_DFLAG_PARKED flag in ide_disk_pre_reset()
    > because this flag must not be set after *any* sort of access to the
    > device.

    v4:
    Fix a memory leak due to a missing blk_put_request() in
    issue_park_cmd(). Additionally, we should plug the queue when enqueueing
    the unpark request because there is no guarantee that the park timeout
    has not expired by then. Even though the chance for that to happen is
    very slim, the request might end up hanging in the queue until the next
    I/O operation is queued up. While at it, clean up the code a little:
    - make issue_park_cmd() a function of type void since nobody cares for
    the return value anyway;
    - use blk_start_queueing() instead of __blk_run_queue() since we don't
    have to worry about recursion;
    - remove a superfluous pointer deference in task_no_data_intr().

    Signed-off-by: Elias Oltmanns
    Cc: Jeff Garzik ,
    Cc: Randy Dunlap
    Cc: Tejun Heo
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Elias Oltmanns
     
  • Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • While at it:
    - idedisk_capacity() -> ide_disk_capacity()
    - idedisk_proc[] -> ide_disk_proc[]
    - idedisk_settings[] -> ide_disk_settings[]

    v2/3:
    Build fix for CONFIG_IDE_PROC_FS=n from Elias Oltmanns.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • While at it:
    - idedisk_ioctl() -> ide_disk_ioctl()

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • While at it:
    - idefloppy_capacity() -> ide_floppy_capacity()
    - idefloppy_proc[] -> ide_floppy_proc[]
    - idefloppy_settings[] -> ide_floppy_settings[]

    v2:
    Build fix for CONFIG_IDE_PROC_FS=n from Elias Oltmanns.

    Cc: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • Because hd.c was moved to drivers/block/ this config option
    is superfluous now and may be removed.

    v2:
    Fix drivers/ide/Makefile (noticed by Adrian Bunk).

    Cc: Adrian Bunk
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

11 Oct, 2008

2 commits


25 Jul, 2008

1 commit


17 Jul, 2008

4 commits


16 Jul, 2008

1 commit

  • * Add ide-atapi.c file for generic ATAPI support together with
    CONFIG_IDE_ATAPI config option.

    * Add generic ide_transfer_pc() helper to ide-atapi.c and then
    convert ide-{floppy,tape,scsi} device drivers to use it.

    There should be no functional changes caused by this patch.

    Cc: Borislav Petkov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

29 Apr, 2008

1 commit

  • ETRAX_IDE was marked as broken last year with the comment
    "it doesn't even compile currently".

    Remove it since it won't get fixed in the near future.

    On Mon, Apr 14, 2008 at 02:50:19PM +0200, Mikael Starvik wrote:
    > You can remove it for now and we will resubmit a new if/when we get around
    > to fix it.

    [bart: ported it over IDE tree]

    Signed-off-by: Adrian Bunk
    Cc: Mikael Starvik
    Cc: Jesper Nilsson
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Adrian Bunk
     

18 Apr, 2008

1 commit

  • * Instead of checking for '->io_ports[IDE_DATA_OFFSET] == 0' check for
    '->chipset == ide_unknown' when looking for an empty ide_hwifs[] slot.

    * Do ide-pnp initialization after ide-generic when IDE is built-in
    (ide-pnp is the only user of ide_find_port() which needs such fixup).

    Acked-by: Sergei Shtylyov
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

02 Feb, 2008

2 commits

  • There should be no functionality changes caused by this patch.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     
  • * Rename ide-cd kernel module to ide-cd_mod in preparation to moving code out
    from ide-cd.[c,h]. Add MODULE_ALIAS("ide-cd") to preserve compatibility.

    * Move VERBOSE_IDE_CD_ERRORS code from ide-cd.[c,h] to ide-cd_verbose.c.

    ide-cd_verbose.c is IDE subsystem independent and may be easily converted
    into generic library usable by other drivers (i.e. libata) if needed.

    * Add CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS config option to drivers/ide/Kconfig
    replacing VERBOSE_IDE_CD_ERRORS define. Make this config option enabled by
    default and visible only if CONFIG_EMBEDDED is defined.

    before the patch:
    text data bss dec hex filename
    22841 360 1056 24257 5ec1 drivers/ide/ide-cd.o

    after the patch w/ CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y:
    text data bss dec hex filename
    22857 360 1056 24273 5ed1 drivers/ide/ide-cd_mod.o

    after the patch w/ CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=n:
    text data bss dec hex filename
    15091 360 1056 16507 407b drivers/ide/ide-cd_mod.o

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

27 Jan, 2008

1 commit

  • * Make remaining built-in only IDE host drivers modular, add ide-scan-pci.c
    file for probing PCI host drivers registered with IDE core (special case
    for built-in IDE and CONFIG_IDEPCI_PCIBUS_ORDER=y) and then take care of
    the ordering in which all IDE host drivers are probed when IDE is built-in
    during link time.

    * Move probing of gayle, falconide, macide, q40ide and buddha (m68k arch
    specific) host drivers, before PCI ones (no PCI on m68k), ide-cris (cris
    arch specific), cmd640 (x86 arch specific) and pmac (ppc arch specific).

    * Move probing of ide-cris (cris arch specific) host driver before cmd640
    (x86 arch specific).

    * Move probing of mpc8xx (ppc specific) host driver before ide-pnp (depends
    on ISA and none of ppc platform that use mpc8xx supports ISA) and ide-h8300
    (h8300 arch specific).

    * Add "probe_vlb" kernel parameter to cmd640 host driver and update
    Documentation/ide.txt accordingly.

    * Make IDE_ARM config option visible so it can also be disabled if needed.

    * Remove bogus comment from ide.c while at it.

    v2:
    * Fix two issues spotted by Sergei:
    - replace ENOMEM error value by ENOENT in ide-h8300 host driver
    - fix MODULE_PARM_DESC() in cmd640 host driver

    Cc: Sergei Shtylyov
    Cc: Mikael Starvik
    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz
     

28 Nov, 2007

1 commit


10 May, 2007

1 commit

  • All important information/features should be already available through
    sysfs and ioctl interfaces.

    Add CONFIG_IDE_PROC_FS (CONFIG_SCSI_PROC_FS rip-off) config option,
    disabling it makes IDE driver ~5 kB smaller (on x86-32).

    While at it add CONFIG_PROC_FS=n versions of proc_ide_{create,destroy}()
    and remove no longer needed #ifdefs.

    Signed-off-by: Bartlomiej Zolnierkiewicz

    Bartlomiej Zolnierkiewicz