Skip to content

Commit

Permalink
[SCSI] sgiwd93: interfacing to wd33c93
Browse files Browse the repository at this point in the history
1) sgiwd93 used to switch off asynchronous mode on the wd33c93, discarding
   any "nosync"-requests from the commandline.
   But we need to allow "nosync"-requests for selected devices, for example
   the Pioneer DVD305S.
   (For the curious: this device accepts the SDTR from wd33c93 and success-
   fully sends inquiry data in sync mode, but after the data phase in the
   inquiry command does an unexpected disconnect, seemingly sending no
   "status" or "command complete". Forcing async transfers makes it work
   together flawlessly with the wd33c93. Of course, preferable would be, to
   implement wd33c93's "resume command" stuff, but that probably will not
   come soon.)

2) Maximize benefit from the preceding Fast SCSI patch for wd33c93 by passing
   the higher input-clock frequency explicitely. To be applied after the
   mentioned wd33c93 patch.

Signed-off-by: peter fuerst <post@pfrst.de>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
  • Loading branch information
peter fuerst authored and James Bottomley committed Feb 16, 2007
1 parent a5d8421 commit 8f3334e
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions drivers/scsi/sgiwd93.c
Original file line number Diff line number Diff line change
Expand Up @@ -244,9 +244,10 @@ static struct Scsi_Host * __init sgiwd93_setup_scsi(
regs.SASR = wdregs + 3;
regs.SCMD = wdregs + 7;

wd33c93_init(host, regs, dma_setup, dma_stop, WD33C93_FS_16_20);
wd33c93_init(host, regs, dma_setup, dma_stop, WD33C93_FS_MHZ(20));

hdata->wh.no_sync = 0;
if (hdata->wh.no_sync == 0xff)
hdata->wh.no_sync = 0;

if (request_irq(irq, sgiwd93_intr, 0, "SGI WD93", (void *) host)) {
printk(KERN_WARNING "sgiwd93: Could not register irq %d "
Expand Down

0 comments on commit 8f3334e

Please sign in to comment.