Explorar o código

drm/radeon/kms: avoid oops on mac r4xx cards

They don't have an atombios so don't attempt to use it for
eng/mem clocks.

Reported by spoonb on #radeon
fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=28671

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Alex Deucher %!s(int64=15) %!d(string=hai) anos
pai
achega
07bb084c93
Modificáronse 1 ficheiros con 7 adicións e 0 borrados
  1. 7 0
      drivers/gpu/drm/radeon/radeon_asic.c

+ 7 - 0
drivers/gpu/drm/radeon/radeon_asic.c

@@ -780,6 +780,13 @@ int radeon_asic_init(struct radeon_device *rdev)
 	case CHIP_R423:
 	case CHIP_R423:
 	case CHIP_RV410:
 	case CHIP_RV410:
 		rdev->asic = &r420_asic;
 		rdev->asic = &r420_asic;
+		/* handle macs */
+		if (rdev->bios == NULL) {
+			rdev->asic->get_engine_clock = &radeon_legacy_get_engine_clock;
+			rdev->asic->set_engine_clock = &radeon_legacy_set_engine_clock;
+			rdev->asic->get_memory_clock = &radeon_legacy_get_memory_clock;
+			rdev->asic->set_memory_clock = NULL;
+		}
 		break;
 		break;
 	case CHIP_RS400:
 	case CHIP_RS400:
 	case CHIP_RS480:
 	case CHIP_RS480: