Message ID | 34f3a2b58d5f9078709b7d592536af0be49ea1d9.1641072450.git.christophe.jaillet@wanadoo.fr (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: pt3: Use dma_set_mask_and_coherent() and simplify code | expand |
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > --- > drivers/media/pci/pt3/pt3.c | 16 ++++------------ > 1 file changed, 4 insertions(+), 12 deletions(-) > > diff --git a/drivers/media/pci/pt3/pt3.c > b/drivers/media/pci/pt3/pt3.c > index 0d51bdf01f43..11f26cac0abc 100644 > --- a/drivers/media/pci/pt3/pt3.c > +++ b/drivers/media/pci/pt3/pt3.c > @@ -707,18 +707,10 @@ static int pt3_probe(struct pci_dev *pdev, > const struct pci_device_id *ent) > if (ret < 0) > return ret; > > - ret = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)); > - if (ret == 0) > - dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64)); > - else { > - ret = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); > - if (ret == 0) > - dma_set_coherent_mask(&pdev->dev, > DMA_BIT_MASK(32)); > - else { > - dev_err(&pdev->dev, "Failed to set DMA > mask\n"); > - return ret; > - } > - dev_info(&pdev->dev, "Use 32bit DMA\n"); > + ret = dma_set_mask_and_coherent(&pdev->dev, > DMA_BIT_MASK(64)); > + if (ret) { > + dev_err(&pdev->dev, "Failed to set DMA mask\n"); > + return ret; > } > > pt3 = devm_kzalloc(&pdev->dev, sizeof(*pt3), GFP_KERNEL); tested on x86_64. Acked-by: Akihiro Tsukada <tskd08@gmail.com>
diff --git a/drivers/media/pci/pt3/pt3.c b/drivers/media/pci/pt3/pt3.c index 0d51bdf01f43..11f26cac0abc 100644 --- a/drivers/media/pci/pt3/pt3.c +++ b/drivers/media/pci/pt3/pt3.c @@ -707,18 +707,10 @@ static int pt3_probe(struct pci_dev *pdev, const struct pci_device_id *ent) if (ret < 0) return ret; - ret = dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)); - if (ret == 0) - dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64)); - else { - ret = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); - if (ret == 0) - dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32)); - else { - dev_err(&pdev->dev, "Failed to set DMA mask\n"); - return ret; - } - dev_info(&pdev->dev, "Use 32bit DMA\n"); + ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(64)); + if (ret) { + dev_err(&pdev->dev, "Failed to set DMA mask\n"); + return ret; } pt3 = devm_kzalloc(&pdev->dev, sizeof(*pt3), GFP_KERNEL);
Use dma_set_mask_and_coherent() instead of unrolling it with some dma_set_mask()+dma_set_coherent_mask(). Moreover, as stated in [1], dma_set_mask() with a 64-bit mask will never fail 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://lkml.org/lkml/2021/6/7/398 Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> --- drivers/media/pci/pt3/pt3.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-)