On Mon, 21 Mar 2005, Jens Axboe wrote:

> On Mon, Mar 21 2005, [EMAIL PROTECTED] wrote:
> > On Mon, 21 Mar 2005, Jens Axboe wrote:
> >
> > > easily doable. I made a suggestion earlier in the thread, you need to do
> > > something ala
> > >
> > >         sg_map_each_entry(sglist, entries, sg, ouput_ptr, flags) {
> > >                 /* transfer sg_virt_len(sg) to/from output_ptr */
> > >         }
> > >
> > > that maps each entry successively.
> >
> > Well, I don't know how and when other drivers use / need this mapping, in
> > dc395x and tmscsim you just occasionally need to transfer a couple of
> > bytes per PIO, so, it would be a waste to map each sg-entry? If other
>
> So you start at the entry you need, and break after handling the ones
> you need to handle. Either pass in a start offset, or just pass in
> sglist+offset.

Yeah, you could do that. I just wanted to automate finding the needed
sg-entry and offset within based on the number of bytes processed.  Well,
not a big deal, but if many will have to do this calculation, maybe worth
defining at least a macro / inline?

> > drivers do always need all, shouldn't we then define 2 APIs - for a single
> > mapping and for all. Also, I think, at least am53c974 (tmscsim) does
> > sg-processing only semi-automatically, that is you get interrupts and do
> > some stuff for each element. So, mapping all sg-entries each time is not
> > needed, and you cannot kmap them atomically if you want to keep them
> > mapped all the time. In your proposed API, when would you unmap them?
>
> The loop handles the mapping and unmapping for you.

Sorry, still don't understand - how do you want to "break" then?

Thanks
Guennadi
---------------------------------
Guennadi Liakhovetski, Ph.D.
DSA Daten- und Systemtechnik GmbH
Pascalstr. 28
D-52076 Aachen
Germany
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to