• Tejun Heo's avatar
    [PATCH] ahci: convert to new EH · 78cd52d0
    Tejun Heo authored
    Convert AHCI to new EH.  Unfortunately, ICH7 AHCI reacts badly if IRQ
    mask is diddled during operation.  So, freezing is implemented by
    unconditionally clearing interrupt conditions while frozen.
    
    * Interrupts are categorized according to required action.
      e.g. Connection status or unknown FIS error requires freezing the
      port while TF or HBUS_DATA don't.
    
    * Only CONNECT (reflects SErr.X) interrupt is taken into account not
      PHYRDY (SErr.N), as CONNECT is better cue for starting EH.
    
    * AHCI may be invoked without any active command.  e.g. CONNECT irq
      occuring while no qc in progress still triggers EH and will reset
      the port and revalidate attached device.
    Signed-off-by: default avatarTejun Heo <htejun@gmail.com>
    78cd52d0
ahci.c 35.8 KB