Subject: Polled SCSI drivers
To: None <port-acorn32@netbsd.org>
From: Ben Harris <bjh21@netbsd.org>
List: port-acorn32
Date: 02/11/2002 23:44:56
[ I really should actually subscribe to this list, rather than reading it
  a month in arrears through the archives. ]

The correct way for a SCSI host adaptor driver to indicate that it doesn't
support non-polled transfers is for it to set SCSIPI_ADAPT_POLL_ONLY in
its adapt_flags.  This ensures that the MI SCSI system will issue all
transfers with XS_CTL_POLL set and with XS_CTL_ASYNC unset, and hence
ensures that the "ASYNC and POLL" panic never happens.

Since scsipi_execute_xs() does different things depending on the state of
these flags, just setting XS_CTL_POLL in csc_scsi_request() isn't
guaranteed to do the right thing.  This is why I introduced
SCSIPI_ADAPT_POLL_ONLY.

Incidentally, there's a similar flag, WDC_CAPABILITY_NOIRQ, for IDE
controllers.

-- 
Ben Harris                                                   <bjh21@netbsd.org>
Portmaster, NetBSD/arm26               <URL:http://www.netbsd.org/Ports/arm26/>