On Thu, Oct 13, 2005 at 04:17:45PM -0700, Sean Hefty wrote:
> Sean Hefty wrote:
> >Does anyone else have any other ideas on how to fix this issue?
> 
> The current MAD interface requires the user to have code similar to this:
> 
>       send_buf->sge.addr = dma_map_single(mad_agent->device->dma_device,
>                                           buf, buf_size, DMA_TO_DEVICE);
>       pci_unmap_addr_set(send_buf, mapping, send_buf->sge.addr);
> 
> This is consistent with how an ib_send_wr would be formatted for other QPs. 
> Another possibility, however, is to let the user do:
> 
>       send_buf->sge.addr = (unsigned long) buf;
> 
> And then have the MAD layer perform the mapping/unmapping immediately 
> before and after posting to the QP.  This keeps the syntax of the current 
> interface, but still requires user changes.

If you change behaviour you should change the interface, in this case
you'd _really_ want to pass down the buffer as void pointer and not cast
it to a dma_addr_t - that would in fact break on ppc64 where dma_addr_t
is a 32bit data type and a pointer is 64bits wide.

_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to