I had treated these two dma masks as dependent. Yes, they should be independent.
Thanks, Ayaz -----Original Message----- From: Manfred Spraul [mailto:[EMAIL PROTECTED] Sent: Sunday, March 05, 2006 3:45 AM To: Ayaz Abdulla Cc: netdev@vger.kernel.org; Jeff Garzik Subject: Re: [PATCH 2/3] forcedeth: Add support for 64bit rings Hi Ayaz, sorry for the slow reply: Ayaz Abdulla wrote: > This forcedeth patch adds high dma support for tx/rx rings. > >@@ -2529,7 +2548,14 @@ > printk(KERN_INFO "forcedeth: 64-bit DMA failed, using 32-bit addressing for device %s.\n", > pci_name(pci_dev)); > } else { >- dev->features |= NETIF_F_HIGHDMA; >+ if (pci_set_consistent_dma_mask(pci_dev, 0x0000007fffffffffULL)) { >+ printk(KERN_INFO "forcedeth: 64-bit DMA (consistent) failed for device %s.\n", >+ pci_name(pci_dev)); >+ goto out_relreg; >+ } else { >+ dev->features |= NETIF_F_HIGHDMA; >+ printk(KERN_INFO "forcedeth: using HIGHDMA\n"); >+ } > } > np->txrxctl_bits = NVREG_TXRXCTL_DESC_3; > } else if (id->driver_data & DEV_HAS_LARGEDESC) { > > I don't understand this change: set_consistent_dma_mask is the memory allocation mask for the driver internal ring buffer. I don't see why it should affect NETIF_F_HIGHDMA. If HIGHDMA is set, then the network stack will skip the double buffering for _data buffers_ that are located above 4 GB. That's unrelated to the ring buffer allocation. What about the attached patch? It just replaces the shown hunk. Completely untested, I have only 512 MB memory.... -- Manfred - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html