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

Commit 44ce0542 authored by Sharat Masetty's avatar Sharat Masetty
Browse files

drm/msm: Disable clocks when GPU is inactive



This patch addresses an issue in the GPU init sequence where
the clocks are turned on during the process but after the
init is complete the clocks are not turned off. Due to this,
the GPU clocks always have a refcount delta of 1 and never
get disabled later even when explicitly requested.

Change-Id: I40fa9a25cd86f5d39fbe6f6e3f83d6ab467d615f
Signed-off-by: default avatarSharat Masetty <smasetty@codeaurora.org>
parent 2e4652fd
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -863,7 +863,14 @@ int msm_gpu_init(struct drm_device *drm, struct platform_device *pdev,
	gpu->dev = drm;
	gpu->funcs = funcs;
	gpu->name = name;
	gpu->inactive = true;
	/*
	 * Set the inactive flag to false, so that when the retire worker
	 * kicks in from the init path, it knows that it has to turn off the
	 * clocks. This should be fine to do since this is the init sequence
	 * and we have an init_lock in msm_open() to protect against bad things
	 * from happening.
	 */
	gpu->inactive = false;

	INIT_LIST_HEAD(&gpu->active_list);
	INIT_WORK(&gpu->retire_work, retire_worker);