> >> There is one wrinkle however.  I may need to access the associated buf 
> >> (bp) for a packet instead of passing it off for DMA.  This is necessary 
> >> f the HBA has to fall back to PIO, or if the driver needs to "fake" a 
> >> SCSI transaction.  The wrinkle here is that none of
> >> the entry points  directly take a bp anymore.  Even tran_start()
> > doesn't get the bp.
> >>     
> >
> > I take it the HBA may need to fall back to PIO on certain models
> > of hardware, which would be known at attach time.  Is that
>  correct?
>    
> some hardware, yes it would be.  But I still need  the ability to 
> fake" certain requests, so in this case I still need access to the 
> buffer from kernel space, though for SCMD_READ and SCMD_WRITE requests I
>  probably do not.  (In my code I have to fake inquiry, request-sense, 
> format, and maybe a few others.)

If you need to do that then promoting scsi_pkt2bp would probably
be the thing to do (or, better yet, come up with some sort of abstraction
so that HBA drivers only get access to a subset of the buf structure).

-  Eric
 
 
This message posted from opensolaris.org
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to