1. 30 8月, 2008 6 次提交
  2. 29 8月, 2008 24 次提交
  3. 25 8月, 2008 1 次提交
  4. 24 8月, 2008 2 次提交
  5. 22 8月, 2008 7 次提交
    • J
      [libata] pata_it821x: fix warning · 4ef28185
      Jeff Garzik 提交于
      Reported by Andrew Morton:
      drivers/ata/pata_it821x.c: In function 'it821x_port_start':
      drivers/ata/pata_it821x.c:609: warning: 'mtype' may be used uninitialized in
      this function
      
      Pretty horrid fix, but so's a warning..
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      4ef28185
    • A
      libata: Fix a large collection of DMA mode mismatches · b15b3eba
      Alan Cox 提交于
      Dave Müller sent a diff for the pata_oldpiix that highlighted a problem
      where a lot of the ATA drivers assume dma_mode == 0 means "no DMA" while
      the core code uses 0xFF.
      
      This turns out to have other consequences such as code doing >= XFER_UDMA_0
      also catching 0xFF as UDMAlots. Fortunately it doesn't generally affect
      set_dma_mode, although some drivers call back into their own set mode code
      from other points.
      
      Having been through the drivers I've added helpers for using_udma/using_mwdma
      dma_enabled so that people don't open code ranges that may change (eg if UDMA8
      appears somewhere)
      
      Thanks to David for the initial bits
      [and added fix for pata_oldpiix from and signed-off-by Dave Mueller
       <dave.mueller@gmx.ch>  -jg]
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      b15b3eba
    • T
      ahci: sis controllers actually can do PMP · 20e2de4a
      Tejun Heo 提交于
      SIS controllers were blacklisted for PMP as enabling it made device
      detection fail whether the device was PMP or not - the natural
      conclusion was the controller chokes on SRST w/ pmp==15.  However, it
      turned out that the controller just didn't like issuing SRST after
      hardreset w/o clearing SError first.  Interestingly, the SRST itself
      succeeds but the following commands fail.
      
      If SError is cleared between hardreset and SRST, which is the default
      behavior now, everything works fine and SIS controllers work with PMPs
      happily.
      
      Remove PMP blacklisting for SIS AHCIs.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Piter PUNK <piterpunk@slackware.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      20e2de4a
    • T
      pata_via: clean up recent tf_load changes · ff04715b
      Tejun Heo 提交于
      Commit bfce5e01 implemented custom
      tf_load for pata_via.  This patch cleans it up a bit.
      
      * Instead of duplicating whole body, copy tf and set ATA_TFLAG_DEVICE
        when necessary.
      
      * Rename via_ata_tf_load() to via_tf_load().
      
      * No need to set .tf_load in via_port_ops_noirq as it inherits from
        via_port_ops.
      
      * Clean up indentation.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Joseph Chan <JosephChan@via.com.tw>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      ff04715b
    • T
      libata: restore SControl on detach · d127ea7b
      Tejun Heo 提交于
      Save SControl during probing and restore it on detach.  This prevents
      adjustments made by libata drivers to seep into the next driver which
      gets attached (be it a libata one or not).
      
      It's not clear whether SControl also needs to be restored on suspend.
      The next system to have control (ACPI or kexec'd kernel) would
      probably like to see the original SControl value but there's no
      guarantee that a link is gonna keep working after SControl is adjusted
      without a reset and adding a reset and modified recovery cycle soley
      for this is an overkill.  For now, do it only for detach.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      d127ea7b
    • T
      libata: use ata_link_printk() when printing SError · da0e21d3
      Tejun Heo 提交于
      SError belongs to link not port.  Use ata_link_printk() to print it.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      da0e21d3
    • T
      libata: always do follow-up SRST if hardreset returned -EAGAIN · 5dbfc9cb
      Tejun Heo 提交于
      As an optimization, follow-up SRST used to be skipped if
      classification wasn't requested even when hardreset requested it via
      -EAGAIN.  However, some hardresets can't wait for device readiness and
      skipping SRST can cause timeout or other failures during revalidation.
      Always perform follow-up SRST if hardreset returns -EAGAIN.  This
      makes reset paths more predictable and thus less error-prone.
      
      While at it, move hardreset error checking such that it's done right
      after hardreset is finished.  This simplifies followup SRST condition
      check a bit and makes the reset path easier to modify.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      5dbfc9cb