Explorar o código

drm: radeon: implement RADEON_PARAM_SCRATCH_OFFSET getparam

When this succeeds, userspace can read the scratch register contents from th    mapped writeback page directly.

Signed-off-by: Dave Airlie <airlied@linux.ie>
Michel Dänzer %!s(int64=19) %!d(string=hai) anos
pai
achega
8624ecbf68
Modificáronse 1 ficheiros con 5 adicións e 1 borrados
  1. 5 1
      drivers/char/drm/radeon_state.c

+ 5 - 1
drivers/char/drm/radeon_state.c

@@ -2987,7 +2987,11 @@ static int radeon_cp_getparam(DRM_IOCTL_ARGS)
 	case RADEON_PARAM_GART_TEX_HANDLE:
 		value = dev_priv->gart_textures_offset;
 		break;
-	
+	case RADEON_PARAM_SCRATCH_OFFSET:
+		if (!dev_priv->writeback_works)
+			return DRM_ERR(EINVAL);
+		value = RADEON_SCRATCH_REG_OFFSET;
+		break;
 	case RADEON_PARAM_CARD_TYPE:
 		if (dev_priv->flags & CHIP_IS_PCIE)
 			value = RADEON_CARD_PCIE;