Want new IPD 13 DMA Cookie APIs
In IPD 13 a series of new APIs are suggested for DMA cookies to make the APIs easier and safer to use. This change implements the described APIs. This includes:
- Introduc four new functions: ddi_dma_cookie_iter(), ddi_dma_cookie_get(), ddi_dma_cookie_one(), and ddi_dma_ncookies().
- Allowing ddi_dma_addr_bind_handle(), ddi_dma_buf_bind_handle(), and ddi_dma_getwin(), to receive NULL arguments for the cookie-related pointers.
- Adding additional checking around the correctness of ddi_dma_nextcookie().
Updated by Robert Mustacchi over 2 years ago
This has been tested mostly by others. Alex and Paul both tested it on systems where they were using the work in progress mlxcx driver. As a result this saw a bunch of exercise on various drivers. It also found an illegal read being performed by the nvme driver (see 12209). It was built on SPARC by Peter Tribble. I think this gives us a reasonable amount of confidence in this so far and at the least, it's utility has been proven. The new entry points were explicitly all used by the mlxcx driver.
Updated by Electric Monk over 2 years ago
- Status changed from New to Closed
commit 9a63ec2733c93e3ee31e95779a4f2f45a57eda59 Author: Robert Mustacchi <email@example.com> Date: 2020-01-31T19:47:17.000Z 12183 Want new IPD 13 DMA Cookie APIs Reviewed by: Alex Wilson <firstname.lastname@example.org> Reviewed by: Paul Winder <email@example.com> Reviewed by: Hans Rosenfeld <firstname.lastname@example.org> Reviewed by: Garrett D'Amore <email@example.com> Approved by: Garrett D'Amore <firstname.lastname@example.org>