> If ownership can be assumed, I suggest to have the core use the > implementation of these two verbs as you did that for the Chelsio > driver in case the HW driver did not implement it (i.e instead of > returning ENOSYS). In that case, the alloc_list verb should do DMA > mapping FROM device (I think...) since the device is going to do DMA > to read the page list, and the free_list verb should do DMA unmapping, > etc.
Yes, the point of this verb is that the low-level driver owns the page list from when the fast register work request is posted until it completes. This should be explicitly documented somewhere. However the reason for having the low-level driver implement it is so that all strange device-specific issues can be taken care of in the driver. For instance mlx4 is going to require that the page list be aligned to 64 bytes, and will DMA from the memory, so we need to use dma_alloc_consistent(). On the other hand cxgb3 is just going to copy in software, so kmalloc is sufficient. - R. _______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
