Skip to contentSkip to conversation

rtl8180: change PCI DMA mask to DMA_BIT_MASK(32) to solve "No suitable DMA available" problems on sparc64.

RFC In review Tiziano Müller 3 participants 3 messages Sep 10, 2009 – Oct 28, 2009 Networking drivers (wireless)

lore
Share & tools
lore
#0 lore raw

RFC 1/1 rtl8180: change PCI DMA mask to DMA_BIT_MASK(32) to solve "No suitable DMA available" problems on sparc64.

Hi there

I had problems to get my rtl8185 PCI card running on Sparc64: I always got an error about "No suitable DMA available" followed by an error that no device could be detected. When comparing the rtl8180 driver to others I noticed that others are mostly using DMA_BIT_MASK so I changed the custom mask to DMA_BIT_MASK(32) which fixed my issue.

Cheers,
Tiziano

---
 drivers/net/wireless/rtl818x/rtl8180_dev.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
drivers/net/wireless/rtl818x/rtl8180_dev.c +2 -2
index 16429c4..515f562 100644
@@ -850,8 +850,8 @@ static int __devinit rtl8180_probe(struct pci_dev *pdev,
 		goto err_free_reg;
 	}
 
-	if ((err = pci_set_dma_mask(pdev, 0xFFFFFF00ULL)) ||
-	    (err = pci_set_consistent_dma_mask(pdev, 0xFFFFFF00ULL))) {
+	if ((err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) ||
+	    (err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)))) {
 		printk(KERN_ERR "%s (rtl8180): No suitable DMA available\n",
 		       pci_name(pdev));
 		goto err_free_reg;
Signature · 1 line
1.6.4
Acked-by on v1 1/1
#1 lore raw

From: Tiziano Müller <[email protected]>
Date: Thu, 10 Sep 2009 11:37:43 +0200

Quoted 7 lines

Hi there

I had problems to get my rtl8185 PCI card running on Sparc64: I always got an error about "No suitable DMA available" followed by an error that no device could be detected. When comparing the rtl8180 driver to others I noticed that others are mostly using DMA_BIT_MASK so I changed the custom mask to DMA_BIT_MASK(32) which fixed my issue.

Looks correct to me.

I wonder what it was trying to achieve by clearing the low 8 bits :-)

#2 lore raw
In reply to Tiziano Müller

Can I get a "Signed-off-by:" line from you for this?

Thanks,

John

Quoted 34 lines · Tiziano Müller

Hi there

I had problems to get my rtl8185 PCI card running on Sparc64: I always got an error about "No suitable DMA available" followed by an error that no device could be detected. When comparing the rtl8180 driver to others I noticed that others are mostly using DMA_BIT_MASK so I changed the custom mask to DMA_BIT_MASK(32) which fixed my issue.

Cheers,
Tiziano

---
 drivers/net/wireless/rtl818x/rtl8180_dev.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
drivers/net/wireless/rtl818x/rtl8180_dev.c +2 -2
index 16429c4..515f562 100644
@@ -850,8 +850,8 @@ static int __devinit rtl8180_probe(struct pci_dev *pdev,
 		goto err_free_reg;
 	}
 
-	if ((err = pci_set_dma_mask(pdev, 0xFFFFFF00ULL)) ||
-	    (err = pci_set_consistent_dma_mask(pdev, 0xFFFFFF00ULL))) {
+	if ((err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) ||
+	    (err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32)))) {
 		printk(KERN_ERR "%s (rtl8180): No suitable DMA available\n",
 		       pci_name(pdev));
 		goto err_free_reg;
Signature · 1 line
1.6.4
Signature · 2 lines
John W. Linville		Someday the world will need a hero, and you
[email protected]			might be all we have.  Be ready.