dmaengine: imx-dma: cleanup scatterlist layering violations
Subsystems (3)
PATCH v2 1/2 dmaengine: imx-dma: cleanup scatterlist layering violations
This dma engine driver directly accesses page_link assuming knowledge that should be contained only in scatterlist.h.
We replace these with calls to sg_chain and sg_assign_page.
---
v2: Splits the patch into two: one per driver
drivers/dma/imx-dma.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)
drivers/dma/imx-dma.c +2 -5
@@ -888,7 +888,7 @@ static struct dma_async_tx_descriptor *imxdma_prep_dma_cyclic(sg_init_table (imxdmac->sg_list, periods);for (i =0 ; i < periods; i++) { - imxdmac->sg_list[i].page_link =0 ; +sg_assign_page (&imxdmac->sg_list[i],NULL ); imxdmac->sg_list[i].offset =0 ; imxdmac->sg_list[i].dma_address = dma_addr;sg_dma_len (&imxdmac->sg_list[i]) = period_len;
@@ -896,10 +896,7 @@ static struct dma_async_tx_descriptor *imxdma_prep_dma_cyclic( }/* close the loop */ - imxdmac->sg_list[periods].offset =0 ; -sg_dma_len (&imxdmac->sg_list[periods]) =0 ; - imxdmac->sg_list[periods].page_link = - ((unsigned long )imxdmac->sg_list |0x01 ) & ~0x02 ; +sg_chain (imxdmac->sg_list, periods +1 , imxdmac->sg_list); desc->type =IMXDMA_DESC_CYCLIC ; desc->sg = imxdmac->sg_list;
--
2.11.0
PATCH v2 2/2 dmaengine: ste_dma40: Cleanup scatterlist layering violations
This dma engine driver directly accesses page_link assuming knowledge that should be contained only in scatterlist.h.
We replace this access with a call to sg_chain which is equivalent.
---
v2: Splits the patch into two: one per driver
drivers/dma/ste_dma40.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)
drivers/dma/ste_dma40.c +1 -4
@@ -2528,10 +2528,7 @@ dma40_prep_dma_cyclic(struct dma_chan *chan, dma_addr_t dma_addr, dma_addr += period_len; } - sg[periods].offset =0 ; -sg_dma_len (&sg[periods]) =0 ; - sg[periods].page_link = - ((unsigned long )sg |0x01 ) & ~0x02 ; +sg_chain (sg, periods +1 , sg); txd =d40_prep_sg (chan, sg, sg, periods, direction,DMA_PREP_INTERRUPT );
--
2.11.0
Vinod Koul
AppliedQuoted 4 lines · Logan Gunthorpe
This dma engine driver directly accesses
page_linkassuming knowledge that should be contained only inscatterlist.h.We replace these with calls to
sg_chainandsg_assign_page.
Applied both, thanks
Signature · 1 line
~Vinod