On Tue, May 05, 2020 at 12:51:58PM +0200, Marek Szyprowski wrote:
Hi Christoph,
On 05.05.2020 12:15, Christoph Hellwig wrote:
for_each_sg_page(st->sgl, &sg_iter, st->nents, 0)
for_each_sg_page(st->sgl, &sg_iter, st->orig_nents, 0)
Would it make sense to also add a for_each_sgtable_page helper that hides the use of orig_nents? To be used like:
for_each_sgtable_page(st, &sg_iter, 0) {
We would need two helpers:
for_each_sgtable_cpu_page() and for_each_sgtable_dma_page().
I considered them, but then I found that there are already for_each_sg_page(), for_each_sg_dma_page() and various special iterators like sg_page_iter, sg_dma_page_iter and sg_mapping_iter. Too bad that they are almost not used, at least in the DRM subsystem. I wonder if it make sense to apply them or simply provide the two above mentioned wrappers?
None of the helpers helps with passing the right parameters from the sg_table. So in doube we'd need wrappers for all of the above, or none..