Subject: Re: Problem with Acorn SCSI card running 1.4R
To: Mike Pumford <mpumford@mpc-data.co.uk>
From: Mike Pumford <mpumford@black-star.demon.co.uk>
List: port-arm32
Date: 04/18/2000 00:43:13
This is a multipart MIME message.

--==_Exmh_-4278371160
Content-Type: text/plain; charset=us-ascii


Well. I've found the patch to allow the asc driver to probe the SCSI bus 
successfully. Fortunately someone working on the sbic.c in the amiga port 
found the problem or I wouldn't have had a prayer of figuring it out. Anyway 
for those that care the patch attached below:

Now all I need to do is tweak Richard's new driver so that it works in 1.4R.

Mike

--==_Exmh_-4278371160
Content-Type: application/x-patch ; name="sbic.patch"
Content-Description: sbic.patch
Content-Disposition: attachment; filename="sbic.patch"

Index: sbic.c
===================================================================
RCS file: /overflow/cvsrep/netbsd/sys/arch/arm32/podulebus/sbic.c,v
retrieving revision 1.1.1.6
diff -c -r1.1.1.6 sbic.c
*** sbic.c	2000/02/03 01:09:59	1.1.1.6
--- sbic.c	2000/04/17 23:10:53
***************
*** 533,543 ****
  	dev->target = slp->scsipi_scsi.target;
  	dev->lun = slp->scsipi_scsi.lun;
  	if ( flags & XS_CTL_POLL || ( !sbic_parallel_operations
! 				   && (/*phase == STATUS_PHASE ||*/
! 				       sbicdmaok(dev, xs) == 0) ) )
  		stat = sbicicmd(dev, slp->scsipi_scsi.target, slp->scsipi_scsi.lun, &acb->cmd,
  		    acb->clen, acb->sc_kv.dc_addr, acb->sc_kv.dc_count);
! 	else if (sbicgo(dev, xs) == 0) {
  		SBIC_TRACE(dev);
  		return;
  	} else
--- 533,542 ----
  	dev->target = slp->scsipi_scsi.target;
  	dev->lun = slp->scsipi_scsi.lun;
  	if ( flags & XS_CTL_POLL || ( !sbic_parallel_operations
! 				   && (sbicdmaok(dev, xs) == 0) ) )
  		stat = sbicicmd(dev, slp->scsipi_scsi.target, slp->scsipi_scsi.lun, &acb->cmd,
  		    acb->clen, acb->sc_kv.dc_addr, acb->sc_kv.dc_count);
! 	else if (sbicgo(dev, xs) == 0 && xs->error != XS_SELTIMEOUT) {
  		SBIC_TRACE(dev);
  		return;
  	} else
***************
*** 722,728 ****
  	struct sbic_softc *dev;
  	struct scsipi_xfer *xs;
  {
! 	if (sbic_no_dma || xs->datalen & 0x1 || (u_int)xs->data & 0x3)
  		return(0);
  	/*
  	 * controller supports dma to any addresses?
--- 721,727 ----
  	struct sbic_softc *dev;
  	struct scsipi_xfer *xs;
  {
! 	if (sbic_no_dma || !xs->datalen || xs->datalen & 0x1 || (u_int)xs->data & 0x3)
  		return(0);
  	/*
  	 * controller supports dma to any addresses?

--==_Exmh_-4278371160--