Commit 439fc29d authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge tag 'drm-fixes-2025-11-09' of https://gitlab.freedesktop.org/drm/kernel

Pull drm fix from Dave Airlie:
 "Brown paper bag, the dma mask fix which I applied and actually looked
  through for bad things, actually broke newer GPUs, there might be some
  latent part in the boot path that is assuming 32-bit still, but we
  will figure that out elsewhere.

  nouveau:
   - revert DMA mask change"

* tag 'drm-fixes-2025-11-09' of https://gitlab.freedesktop.org/drm/kernel:
  Revert "drm/nouveau: set DMA mask before creating the flush page"
parents 41d318c4 41133615
Loading
Loading
Loading
Loading
+12 −12
Original line number Diff line number Diff line
@@ -1695,18 +1695,6 @@ nvkm_device_pci_new(struct pci_dev *pci_dev, const char *cfg, const char *dbg,
	*pdevice = &pdev->device;
	pdev->pdev = pci_dev;

	/* Set DMA mask based on capabilities reported by the MMU subdev. */
	if (pdev->device.mmu && !pdev->device.pci->agp.bridge)
		bits = pdev->device.mmu->dma_bits;
	else
		bits = 32;

	ret = dma_set_mask_and_coherent(&pci_dev->dev, DMA_BIT_MASK(bits));
	if (ret && bits != 32) {
		dma_set_mask_and_coherent(&pci_dev->dev, DMA_BIT_MASK(32));
		pdev->device.mmu->dma_bits = 32;
	}

	ret = nvkm_device_ctor(&nvkm_device_pci_func, quirk, &pci_dev->dev,
			       pci_is_pcie(pci_dev) ? NVKM_DEVICE_PCIE :
			       pci_find_capability(pci_dev, PCI_CAP_ID_AGP) ?
@@ -1720,5 +1708,17 @@ nvkm_device_pci_new(struct pci_dev *pci_dev, const char *cfg, const char *dbg,
	if (ret)
		return ret;

	/* Set DMA mask based on capabilities reported by the MMU subdev. */
	if (pdev->device.mmu && !pdev->device.pci->agp.bridge)
		bits = pdev->device.mmu->dma_bits;
	else
		bits = 32;

	ret = dma_set_mask_and_coherent(&pci_dev->dev, DMA_BIT_MASK(bits));
	if (ret && bits != 32) {
		dma_set_mask_and_coherent(&pci_dev->dev, DMA_BIT_MASK(32));
		pdev->device.mmu->dma_bits = 32;
	}

	return 0;
}