Message ID | 4deb32b0c7838da66608022c584326eb01d0da03.1642232106.git.christophe.jaillet@wanadoo.fr |
---|---|
State | Accepted |
Commit | 8f7cc6373bbbc770e949df6dd6127e52340aafa1 |
Headers | show |
Series | [v2] dmaengine: qcom_hidma: Remove useless DMA-32 fallback configuration | expand |
On 1/15/2022 2:35 AM, Christophe JAILLET wrote: > As stated in [1], dma_set_mask() with a 64-bit mask never fails if > dev->dma_mask is non-NULL. > So, if it fails, the 32 bits case will also fail for the same reason. > > Simplify code and remove some dead code accordingly. > > [1]: https://lore.kernel.org/linux-kernel/YL3vSPK5DXTNvgdx@infradead.org/#t > Can we please document this? Usual practice was to try allocating 64 bit DMA if possible and fallback to 32 bits. > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > --- > v2: have the subject and updated driver match > --- > drivers/dma/qcom/hidma.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/dma/qcom/hidma.c b/drivers/dma/qcom/hidma.c > index 65d054bb11aa..51587cf8196b 100644 > --- a/drivers/dma/qcom/hidma.c > +++ b/drivers/dma/qcom/hidma.c > @@ -838,9 +838,7 @@ static int hidma_probe(struct platform_device *pdev) > rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); > if (rc) { > dev_warn(&pdev->dev, "unable to set coherent mask to 64"); > - rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); > - if (rc) > - goto dmafree; > + goto dmafree; > } > > dmadev->lldev = hidma_ll_init(dmadev->ddev.dev,
diff --git a/drivers/dma/qcom/hidma.c b/drivers/dma/qcom/hidma.c index 65d054bb11aa..51587cf8196b 100644 --- a/drivers/dma/qcom/hidma.c +++ b/drivers/dma/qcom/hidma.c @@ -838,9 +838,7 @@ static int hidma_probe(struct platform_device *pdev) rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); if (rc) { dev_warn(&pdev->dev, "unable to set coherent mask to 64"); - rc = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)); - if (rc) - goto dmafree; + goto dmafree; } dmadev->lldev = hidma_ll_init(dmadev->ddev.dev,
As stated in [1], dma_set_mask() with a 64-bit mask never fails if dev->dma_mask is non-NULL. So, if it fails, the 32 bits case will also fail for the same reason. Simplify code and remove some dead code accordingly. [1]: https://lore.kernel.org/linux-kernel/YL3vSPK5DXTNvgdx@infradead.org/#t Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> --- v2: have the subject and updated driver match --- drivers/dma/qcom/hidma.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-)