• T
    sata_inic162x: update TF read handling · 364fac0e
    Tejun Heo 提交于
    inic162x can't reliably read back TF or at least we don't know how to
    do it yet.  The only values which seem reliable are status and error.
    This patch updates access to TF.
    
    * implement inic_tf_read() which reads the TF area in mmio area
    
    * implement custom inic_qc_fill_rtf() which only returns true if
      status indicates device error.  it'll be returning bogus addresses
      for device errors but it'll be able to report why it failed at
      least.
    
    * implement custom inic_check_ready() and use ata_wait_after_reset()
      instead of the SFF version.
    
    * use inic_tf_read() for classification.
    
    This is not perfect but it fixes hotplug detection failure and at
    least makes the driver report 0's instead of random garbages while
    reporting valid status and error for device errors.
    Signed-off-by: NTejun Heo <htejun@gmail.com>
    Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
    364fac0e
sata_inic162x.c 21.6 KB