return 0;
}
+static int nvhost_ioctl_ctrl_syncpt_read_max(struct nvhost_ctrl_userctx *ctx,
+ struct nvhost_ctrl_syncpt_read_args *args)
+{
+ if (args->id >= nvhost_syncpt_nb_pts(&ctx->dev->syncpt))
+ return -EINVAL;
+ args->value = nvhost_syncpt_read_max(&ctx->dev->syncpt, args->id);
+ return 0;
+}
+
static long nvhost_ctrlctl(struct file *filp,
unsigned int cmd, unsigned long arg)
{
case NVHOST_IOCTL_CTRL_GET_VERSION:
err = nvhost_ioctl_ctrl_get_version(priv, (void *)buf);
break;
+ case NVHOST_IOCTL_CTRL_SYNCPT_READ_MAX:
+ err = nvhost_ioctl_ctrl_syncpt_read_max(priv, (void *)buf);
+ break;
default:
err = -ENOTTY;
break;
#define NVHOST_IOCTL_CTRL_GET_VERSION \
_IOR(NVHOST_IOCTL_MAGIC, 7, struct nvhost_get_param_args)
+#define NVHOST_IOCTL_CTRL_SYNCPT_READ_MAX \
+ _IOWR(NVHOST_IOCTL_MAGIC, 8, struct nvhost_ctrl_syncpt_read_args)
+
#define NVHOST_IOCTL_CTRL_LAST \
- _IOC_NR(NVHOST_IOCTL_CTRL_GET_VERSION)
+ _IOC_NR(NVHOST_IOCTL_CTRL_SYNCPT_READ_MAX)
#define NVHOST_IOCTL_CTRL_MAX_ARG_SIZE \
sizeof(struct nvhost_ctrl_module_regrdwr_args)