|
@@ -341,8 +341,7 @@ enum {
|
|
|
|
|
|
/* quirks for Nvidia */
|
|
|
#define AZX_DCAPS_PRESET_NVIDIA \
|
|
|
- (AZX_DCAPS_NO_MSI | /*AZX_DCAPS_ALIGN_BUFSIZE |*/ \
|
|
|
- AZX_DCAPS_NO_64BIT | AZX_DCAPS_CORBRP_SELF_CLEAR |\
|
|
|
+ (AZX_DCAPS_NO_MSI | AZX_DCAPS_CORBRP_SELF_CLEAR |\
|
|
|
AZX_DCAPS_SNOOP_TYPE(NVIDIA))
|
|
|
|
|
|
#define AZX_DCAPS_PRESET_CTHDA \
|
|
@@ -1716,6 +1715,10 @@ static int azx_first_init(struct azx *chip)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /* NVidia hardware normally only supports up to 40 bits of DMA */
|
|
|
+ if (chip->pci->vendor == PCI_VENDOR_ID_NVIDIA)
|
|
|
+ dma_bits = 40;
|
|
|
+
|
|
|
/* disable 64bit DMA address on some devices */
|
|
|
if (chip->driver_caps & AZX_DCAPS_NO_64BIT) {
|
|
|
dev_dbg(card->dev, "Disabling 64bit DMA\n");
|