Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f8744bbe authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: kgsl: Add a property to find if secure context is supported"

parents dc46020c c4d4c2d8
Loading
Loading
Loading
Loading
+39 −0
Original line number Diff line number Diff line
@@ -1397,6 +1397,45 @@ long kgsl_ioctl_device_getproperty(struct kgsl_device_private *dev_priv,
		kgsl_context_put(context);
		break;
	}
	case KGSL_PROP_SECURE_BUFFER_ALIGNMENT:
	{
		unsigned int align;

		if (param->sizebytes != sizeof(unsigned int)) {
			result = -EINVAL;
			break;
		}
		/*
		 * XPUv2 impose the constraint of 1MB memory alignment,
		 * on the other hand Hypervisor does not have such
		 * constraints. So driver should fulfill such
		 * requirements when allocating secure memory.
		 */
		align = MMU_FEATURE(&dev_priv->device->mmu,
				KGSL_MMU_HYP_SECURE_ALLOC) ? PAGE_SIZE : SZ_1M;

		if (copy_to_user(param->value, &align, sizeof(align)))
			result = -EFAULT;

		break;
	}
	case KGSL_PROP_SECURE_CTXT_SUPPORT:
	{
		unsigned int secure_ctxt;

		if (param->sizebytes != sizeof(unsigned int)) {
			result = -EINVAL;
			break;
		}

		secure_ctxt = dev_priv->device->mmu.secured ? 1 : 0;

		if (copy_to_user(param->value, &secure_ctxt,
				sizeof(secure_ctxt)))
			result = -EFAULT;

		break;
	}
	default:
		if (is_compat_task())
			result = dev_priv->device->ftbl->getproperty_compat(
+2 −0
Original line number Diff line number Diff line
@@ -332,6 +332,8 @@ enum kgsl_timestamp_type {
#define KGSL_PROP_UBWC_MODE		0x1B
#define KGSL_PROP_DEVICE_QTIMER		0x20
#define KGSL_PROP_L3_PWR_CONSTRAINT     0x22
#define KGSL_PROP_SECURE_BUFFER_ALIGNMENT 0x23
#define KGSL_PROP_SECURE_CTXT_SUPPORT 0x24

struct kgsl_shadowprop {
	unsigned long gpuaddr;