msm: kgsl: Disable the IOMMU clocks on a timestamp
Add a function which adds an event to disable the iommu clocks
based on a timestamp. If timestamp elapses then the event function
will disable the iommu clocks. Remove the disabling of iommu clocks
from the power control code.
Change-Id: Ic1263771f8c532131059283dde05425a73554974
Signed-off-by: Shubhraprakash Das <sadas@codeaurora.org>
diff --git a/drivers/gpu/msm/kgsl.c b/drivers/gpu/msm/kgsl.c
index 5883f08..c597b42 100644
--- a/drivers/gpu/msm/kgsl.c
+++ b/drivers/gpu/msm/kgsl.c
@@ -62,9 +62,9 @@
* @returns - 0 on success or error code on failure
*/
-static int kgsl_add_event(struct kgsl_device *device, u32 id, u32 ts,
+int kgsl_add_event(struct kgsl_device *device, u32 id, u32 ts,
void (*cb)(struct kgsl_device *, void *, u32, u32), void *priv,
- struct kgsl_device_private *owner)
+ void *owner)
{
struct kgsl_event *event;
struct list_head *n;
@@ -122,6 +122,7 @@
queue_work(device->work_queue, &device->ts_expired_ws);
return 0;
}
+EXPORT_SYMBOL(kgsl_add_event);
/**
* kgsl_cancel_events_ctxt - Cancel all events for a context
@@ -162,8 +163,8 @@
* @owner - driver instance that owns the events to cancel
*
*/
-static void kgsl_cancel_events(struct kgsl_device *device,
- struct kgsl_device_private *owner)
+void kgsl_cancel_events(struct kgsl_device *device,
+ void *owner)
{
struct kgsl_event *event, *event_tmp;
unsigned int id, cur;
@@ -189,6 +190,7 @@
kfree(event);
}
}
+EXPORT_SYMBOL(kgsl_cancel_events);
/* kgsl_get_mem_entry - get the mem_entry structure for the specified object
* @ptbase - the pagetable base of the object