summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/host/host1x/host1x_syncpt.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/tegra/host/host1x/host1x_syncpt.c')
-rw-r--r--drivers/video/tegra/host/host1x/host1x_syncpt.c34
1 files changed, 20 insertions, 14 deletions
diff --git a/drivers/video/tegra/host/host1x/host1x_syncpt.c b/drivers/video/tegra/host/host1x/host1x_syncpt.c
index b431fa350638..b7d6587acc61 100644
--- a/drivers/video/tegra/host/host1x/host1x_syncpt.c
+++ b/drivers/video/tegra/host/host1x/host1x_syncpt.c
@@ -19,10 +19,14 @@
*/
#include <linux/nvhost_ioctl.h>
+#include <linux/io.h>
+#include <trace/events/nvhost.h>
#include "nvhost_syncpt.h"
+#include "nvhost_acm.h"
#include "dev.h"
#include "host1x_syncpt.h"
#include "host1x_hardware.h"
+#include "chip_support.h"
/**
* Write the current syncpoint value back to hw.
@@ -122,6 +126,8 @@ static int t20_syncpt_wait_check(struct nvhost_syncpt *sp,
u32 override;
BUG_ON(wait->syncpt_id >= NV_HOST1X_SYNCPT_NB_PTS);
+ trace_nvhost_syncpt_wait_check(wait->mem, wait->offset,
+ wait->syncpt_id, wait->thresh);
if (nvhost_syncpt_is_expired(sp,
wait->syncpt_id, wait->thresh)) {
/*
@@ -135,7 +141,7 @@ static int t20_syncpt_wait_check(struct nvhost_syncpt *sp,
dev_dbg(&syncpt_to_dev(sp)->dev->dev,
"drop WAIT id %d (%s) thresh 0x%x, min 0x%x\n",
wait->syncpt_id,
- syncpt_op(sp).name(sp, wait->syncpt_id),
+ syncpt_op().name(sp, wait->syncpt_id),
wait->thresh,
nvhost_syncpt_read_min(sp, wait->syncpt_id));
@@ -189,7 +195,7 @@ static void t20_syncpt_debug(struct nvhost_syncpt *sp)
continue;
dev_info(&syncpt_to_dev(sp)->dev->dev,
"id %d (%s) min %d max %d\n",
- i, syncpt_op(sp).name(sp, i),
+ i, syncpt_op().name(sp, i),
min, max);
}
@@ -223,23 +229,23 @@ static void syncpt_mutex_unlock(struct nvhost_syncpt *sp,
writel(0, sync_regs + (HOST1X_SYNC_MLOCK_0 + idx * 4));
}
-int host1x_init_syncpt_support(struct nvhost_master *host)
+int host1x_init_syncpt_support(struct nvhost_master *host,
+ struct nvhost_chip_support *op)
{
-
host->sync_aperture = host->aperture +
(NV_HOST1X_CHANNEL0_BASE +
HOST1X_CHANNEL_SYNC_REG_BASE);
- host->op.syncpt.reset = t20_syncpt_reset;
- host->op.syncpt.reset_wait_base = t20_syncpt_reset_wait_base;
- host->op.syncpt.read_wait_base = t20_syncpt_read_wait_base;
- host->op.syncpt.update_min = t20_syncpt_update_min;
- host->op.syncpt.cpu_incr = t20_syncpt_cpu_incr;
- host->op.syncpt.wait_check = t20_syncpt_wait_check;
- host->op.syncpt.debug = t20_syncpt_debug;
- host->op.syncpt.name = t20_syncpt_name;
- host->op.syncpt.mutex_try_lock = syncpt_mutex_try_lock;
- host->op.syncpt.mutex_unlock = syncpt_mutex_unlock;
+ op->syncpt.reset = t20_syncpt_reset;
+ op->syncpt.reset_wait_base = t20_syncpt_reset_wait_base;
+ op->syncpt.read_wait_base = t20_syncpt_read_wait_base;
+ op->syncpt.update_min = t20_syncpt_update_min;
+ op->syncpt.cpu_incr = t20_syncpt_cpu_incr;
+ op->syncpt.wait_check = t20_syncpt_wait_check;
+ op->syncpt.debug = t20_syncpt_debug;
+ op->syncpt.name = t20_syncpt_name;
+ op->syncpt.mutex_try_lock = syncpt_mutex_try_lock;
+ op->syncpt.mutex_unlock = syncpt_mutex_unlock;
host->syncpt.nb_pts = NV_HOST1X_SYNCPT_NB_PTS;
host->syncpt.nb_bases = NV_HOST1X_SYNCPT_NB_BASES;