Re: 2.5.26 : drivers/scsi/BusLogic.c

Doug Ledford (dledford@redhat.com)
Thu, 18 Jul 2002 19:24:13 -0400


On Thu, Jul 18, 2002 at 12:00:02PM -0500, James Bottomley wrote:
> In the meantime, if you want to try, the trick looks to be to use
> pci_map_single in BusLogic_CreateInitialCCBs; but then set up a reverse
> mapping table for them in BusLogic_InitializeCCBs so that Bus_to_Virtual will
> still work (its only use is to convert bus physical CCB addresses into CPU
> virtual ones).
>
> Next, in BusLogic_QueueCommand you need to use pci_map_single for non-sg
> transformations, and pci_map_sg for sg plus in the loop over segments, use the
> macros
>
> sg_dma_address(&ScatterList[Segment]) in place of ScatterList[Segment].address
> sg_dma_len(&ScatterList[Segment]) in place ofScatterList[Segment].length
>
> Initially, don't worry about unmapping, but this should get the thing working.
>
> There are probably other places in the driver I've missed (like sense
> buffers), but that should be the core of the necessary changes.

There are. I'm currently writing a patch (hopefully a first test version
will be out in an hour or so). It's not quite as easy as it looks at
first mainly because this driver supports PCI, EISA, VLB, MCA, and ISA
cards :-/

-- 
  Doug Ledford <dledford@redhat.com>     919-754-3700 x44233
         Red Hat, Inc. 
         1801 Varsity Dr.
         Raleigh, NC 27606
  
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/