1. 04 12月, 2009 38 次提交
  2. 03 12月, 2009 2 次提交
    • L
      lsi53c895a: Implement IRQ on reselection · e560125e
      Laszlo Ast 提交于
      The critical part of this change is how to deal with simultaneaous
      generation of interrupts. The only (normal) case when this happens in
      the emulation is near simultaneous reselection + selection. If selection
      comes first, there is no problem, since the target attempting
      reselection loses the arbitration (in the emulation it only means that
      the reselect function will not be started). In the worst case the host
      adapter is reselected, but the device driver already started a
      selection, so we jump to the alternative address to handle the
      situation.
      
      The SCRIPTS code can trigger another interrupt to notify the driver that
      the new task has to be postponed. I suppose that on real hardware there
      is enough time after the reselection interrupt to set the SIP bit before
      the next interrupt comes, so it would result in 2 stacked interrupts (a
      SCSI and a DMA one). However, in the emulation there is no interrupt
      stacking, so there is a good chance that the 2 interrupts will get to
      the interrupt handler at the same time.
      
      Nevertheless, it should not make a big difference in interrupt handling,
      since in both cases both interrupts have to be fetched first, and after
      that the new task (that failed during the selection phase) has to be
      prepared/reset for a later restart, and the reconnected device has to be
      serviced.
      
      The changes do not modify the host adapter's behavior if this interrupt
      is not enabled.
      
      See also LSI53C895A technical manual, SCID and SIEN0.
      Signed-off-by: NLaszlo Ast <laszlo.ast@siemens-enterprise.com>
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      e560125e
    • L
      lsi53c895a: Use alternative address when already reselected · 38f5b2b8
      Laszlo Ast 提交于
      See SCRIPTS, 3.2.17 SELECT.
      Signed-off-by: NLaszlo Ast <laszlo.ast@siemens-enterprise.com>
      Signed-off-by: NJan Kiszka <jan.kiszka@siemens.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      38f5b2b8