msm: kgsl: Add idlestats sleep event notification
Change-Id: Ie632d3f44661575ad8c7b41f064eff5f3b068f62
Signed-off-by: Lucille Sylvester <lsylvest@codeaurora.org>
diff --git a/drivers/gpu/msm/kgsl_pwrscale_idlestats.c b/drivers/gpu/msm/kgsl_pwrscale_idlestats.c
index c4dcb22..923b4fe 100644
--- a/drivers/gpu/msm/kgsl_pwrscale_idlestats.c
+++ b/drivers/gpu/msm/kgsl_pwrscale_idlestats.c
@@ -82,6 +82,13 @@
msm_idle_stats_idle_start(&priv->idledev);
}
+static void idlestats_sleep(struct kgsl_device *device,
+ struct kgsl_pwrscale *pwrscale)
+{
+ struct idlestats_priv *priv = pwrscale->priv;
+ priv->idledev.stats->event |= MSM_IDLE_STATS_EVENT_IDLE_TIMER_EXPIRED;
+}
+
static int idlestats_init(struct kgsl_device *device,
struct kgsl_pwrscale *pwrscale)
{
@@ -130,5 +137,6 @@
.init = idlestats_init,
.idle = idlestats_idle,
.busy = idlestats_busy,
+ .sleep = idlestats_sleep,
.close = idlestats_close
};
diff --git a/include/linux/idle_stats_device.h b/include/linux/idle_stats_device.h
index 0b1ee39..7906d18 100644
--- a/include/linux/idle_stats_device.h
+++ b/include/linux/idle_stats_device.h
@@ -9,6 +9,7 @@
#define MSM_IDLE_STATS_EVENT_BUSY_TIMER_EXPIRED_RESET 2
#define MSM_IDLE_STATS_EVENT_COLLECTION_NEARLY_FULL 4
#define MSM_IDLE_STATS_EVENT_COLLECTION_FULL 8
+#define MSM_IDLE_STATS_EVENT_IDLE_TIMER_EXPIRED 16
/*
* All time, timer, and time interval values are in units of