Message ID | 20240502195903.3191049-1-Frank.Li@nxp.com (mailing list archive) |
---|---|
State | In Next, archived |
Headers | show |
Series | [v2,1/1] misc: pci_endpoint_test: Refactor dma_set_mask_and_coherent() logic | expand |
On Thu, May 02, 2024 at 03:59:03PM -0400, Frank Li wrote: > dma_set_mask_and_coherent() should never fail when the mask is >= 32bit, > unless the architecture has no DMA support. So no need check for the error > and also no need to set dma_set_mask_and_coherent(32) as a fallback. > > Even if dma_set_mask_and_coherent(48) fails due to the lack of DMA support > (theoretically), then dma_set_mask_and_coherent(32) will also fail for the > same reason. So the fallback doesn't make sense. > > Due to the above reasons, let's simplify the code by setting the streaming > and coherent DMA mask to 48 bits. > > Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > Signed-off-by: Frank Li <Frank.Li@nxp.com> > --- Reviewed-by: Niklas Cassel <cassel@kernel.org>
Hello, > dma_set_mask_and_coherent() should never fail when the mask is >= 32bit, > unless the architecture has no DMA support. So no need check for the error > and also no need to set dma_set_mask_and_coherent(32) as a fallback. > > Even if dma_set_mask_and_coherent(48) fails due to the lack of DMA support > (theoretically), then dma_set_mask_and_coherent(32) will also fail for the > same reason. So the fallback doesn't make sense. > > Due to the above reasons, let's simplify the code by setting the streaming > and coherent DMA mask to 48 bits. Applied to misc, thank you! [1/1] misc: pci_endpoint_test: Refactor dma_set_mask_and_coherent() logic https://git.kernel.org/pci/pci/c/27ea748a3abd Krzysztof
diff --git a/drivers/misc/pci_endpoint_test.c b/drivers/misc/pci_endpoint_test.c index c38a6083f0a73..56ac6969a8f59 100644 --- a/drivers/misc/pci_endpoint_test.c +++ b/drivers/misc/pci_endpoint_test.c @@ -824,11 +824,7 @@ static int pci_endpoint_test_probe(struct pci_dev *pdev, init_completion(&test->irq_raised); mutex_init(&test->mutex); - if ((dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(48)) != 0) && - dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32)) != 0) { - dev_err(dev, "Cannot set DMA mask\n"); - return -EINVAL; - } + dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(48)); err = pci_enable_device(pdev); if (err) {