0007-HACK-radeon-Don-t-set-PCI-DMA-mask.patch 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. From 820e6a80587c0191c630641583e8d98687942146 Mon Sep 17 00:00:00 2001
  2. From: Alistair Francis <alistair.francis@wdc.com>
  3. Date: Wed, 27 Feb 2019 15:31:29 -0800
  4. Subject: [PATCH 10/10] HACK: radeon: Don't set PCI DMA mask
  5. Setting a PCI DMA mask when running on RISC-V results in these messages
  6. beeing seen during boot:
  7. [drm:r600_ring_test] *ERROR* radeon: ring 0 test failed (scratch(0x8504)=0xCAFEDEAD)
  8. radeon 0000:04:00.0: disabling GPU acceleration
  9. and results with a partially working graphcis card. By not setting a DMA
  10. mask the messages aren't seen and the GPU works.
  11. Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
  12. Upstream-Status: Denied
  13. ---
  14. drivers/gpu/drm/radeon/radeon_device.c | 11 +++++------
  15. 1 file changed, 5 insertions(+), 6 deletions(-)
  16. diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
  17. index 53f29a115104..add186346544 100644
  18. --- a/drivers/gpu/drm/radeon/radeon_device.c
  19. +++ b/drivers/gpu/drm/radeon/radeon_device.c
  20. @@ -1377,12 +1377,11 @@ int radeon_device_init(struct radeon_device *rdev,
  21. #endif
  22. dma_bits = rdev->need_dma32 ? 32 : 40;
  23. - r = pci_set_dma_mask(rdev->pdev, DMA_BIT_MASK(dma_bits));
  24. - if (r) {
  25. - rdev->need_dma32 = true;
  26. - dma_bits = 32;
  27. - pr_warn("radeon: No suitable DMA available\n");
  28. - }
  29. +
  30. + rdev->need_dma32 = true;
  31. + dma_bits = 32;
  32. + pr_warn("radeon: No suitable DMA available\n");
  33. +
  34. r = pci_set_consistent_dma_mask(rdev->pdev, DMA_BIT_MASK(dma_bits));
  35. if (r) {
  36. pci_set_consistent_dma_mask(rdev->pdev, DMA_BIT_MASK(32));
  37. --
  38. 2.21.0