1. 15 Jun, 2009 2 commits
  2. 10 Jun, 2009 1 commit
    • Hugh Dickins's avatar
      ide: fix PowerMac bootup oops · 5f4417a1
      Hugh Dickins authored
      PowerMac bootup with CONFIG_IDE=y oopses in ide_pio_cycle_time():
      because "ide: try to use PIO Mode 0 during probe if possible" causes
      pmac_ide_set_pio_mode() to be called before drive->id has been set.
      
      Bart points out other places which now need drive->id set earlier,
      so follow his advice to allocate it in ide_port_alloc_devices()
      (using kzalloc_node, without error message, as when allocating drive)
      and memset it for reuse in ide_port_init_devices_data().
      
      Fixed in passing: ide_host_alloc() was missing ide_port_free_devices()
      from an error path.
      Signed-off-by: default avatarHugh Dickins <hugh.dickins@tiscali.co.uk>
      Cc: Joao Ramos <joao.ramos@inov.pt>
      Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      5f4417a1
  3. 08 Jun, 2009 1 commit
  4. 07 Jun, 2009 1 commit
  5. 22 May, 2009 1 commit
  6. 17 May, 2009 5 commits
  7. 08 Apr, 2009 4 commits
    • Sergei Shtylyov's avatar
      ide: refactor tf_read() method · 3153c26b
      Sergei Shtylyov authored
      Simplify tf_read() method, making it deal only with 'struct ide_taskfile' and
      the validity flags that the upper layer passes, and factoring out the code that
      deals with the high order bytes into ide_tf_readback() to be called from the
      only two functions interested, ide_complete_cmd() and ide_dump_sector().
      
      This should stop the needless code duplication in this method and so make
      it about twice smaller than it was; along with simplifying the setup for
      the method call, this should save both time and space...
      Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      3153c26b
    • Sergei Shtylyov's avatar
      ide: refactor tf_load() method · c9ff9e7b
      Sergei Shtylyov authored
      Simplify tf_load() method, making it deal only with 'struct ide_taskfile' and
      the validity flags that the upper layer passes, and moving the code that deals
      with the high order bytes into the only function interested, do_rw_taskfile().
      
      This should stop the needless code duplication in this method and so make
      it about twice smaller than it was; along with simplifying the setup for the
      method call, this should save both time and space...
      Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      c9ff9e7b
    • Sergei Shtylyov's avatar
      ide: replace IDE_TFLAG_* flags by IDE_VALID_* · 60f85019
      Sergei Shtylyov authored
      Replace IDE_TFLAG_{IN|OUT}_* flags meaning to the taskfile register validity on
      input/output by the IDE_VALID_* flags and introduce 4 symmetric 8-bit register
      validity indicator subfields, 'valid.{input/output}.{tf|hob}', into the 'struct
      ide_cmd' instead of using the 'tf_flags' field for that purpose (this field can
      then be turned from 32-bit into 8-bit one).
      Signed-off-by: default avatarSergei Shtylyov <sshtylyov@ru.mvista.com>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      60f85019
    • Geert Uytterhoeven's avatar
      ide: Fix host drivers that need IRQF_SHARED · aa07573b
      Geert Uytterhoeven authored
      commit 255115fb ("ide: allow host drivers to
      specify IRQ flags") added irq_flags fields to struct ide_port_info and struct
      ide_host.  Drivers can now set ide_port_info.irq_flags = IRQF_SHARED, while
      init_irq() passes ide_host.irq_flags to request_irq().
      
      Unfortunately ide_host.irq_flags is never set, causing (on ARAnyM):
      
      | Uniform Multi-Platform E-IDE driver
      | ide: Falcon IDE controller
      | Probing IDE interface ide0...
      | hda: Sarge m68k, ATA DISK drive
      | init_irq: sa = 0
      | ide0: disabled, unable to get IRQ 15
      | ide0: failed to initialize IDE interface
      | ide0: disabling port
      
      Solve this by copying ide_port_info.irq_flags to ide_host.irq_flags in
      ide_host_alloc().
      
      This bug probably affects the following IDE host drivers:
        - buddha
        - delkin_cb
        - falconide
        - gayle
        - ide-cs
        - macide
        - q40ide
        - scc_pata
        - sgiioc4
      Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      aa07573b
  8. 31 Mar, 2009 3 commits
  9. 27 Mar, 2009 8 commits
  10. 24 Mar, 2009 13 commits
  11. 05 Mar, 2009 1 commit