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

Commit 81a582e5 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: mdss: enable runtime autosuspend for mdp device"

parents 8b7d32f7 3cee7664
Loading
Loading
Loading
Loading
+10 −3
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@
#include "mdss_mdp_trace.h"

#define AXI_HALT_TIMEOUT_US	0x4000
#define AUTOSUSPEND_TIMEOUT_MS	200

struct mdss_data_type *mdss_res;

@@ -728,7 +729,8 @@ void mdss_bus_bandwidth_ctrl(int enable)
		if (!enable) {
			msm_bus_scale_client_update_request(
				mdata->bus_hdl, 0);
			pm_runtime_put(&mdata->pdev->dev);
			pm_runtime_mark_last_busy(&mdata->pdev->dev);
			pm_runtime_put_autosuspend(&mdata->pdev->dev);
		} else {
			pm_runtime_get_sync(&mdata->pdev->dev);
			msm_bus_scale_client_update_request(
@@ -777,8 +779,10 @@ void mdss_mdp_clk_ctrl(int enable)
		if (mdata->vsync_ena)
			mdss_mdp_clk_update(MDSS_CLK_MDP_VSYNC, enable);

		if (!enable)
			pm_runtime_put(&mdata->pdev->dev);
		if (!enable) {
			pm_runtime_mark_last_busy(&mdata->pdev->dev);
			pm_runtime_put_autosuspend(&mdata->pdev->dev);
		}
	}

	mutex_unlock(&mdp_clk_lock);
@@ -1463,6 +1467,9 @@ static int mdss_mdp_probe(struct platform_device *pdev)
		goto probe_done;
	}

	pm_runtime_set_autosuspend_delay(&pdev->dev, AUTOSUSPEND_TIMEOUT_MS);
	if (mdata->idle_pc_enabled)
		pm_runtime_use_autosuspend(&pdev->dev);
	pm_runtime_set_suspended(&pdev->dev);
	pm_runtime_enable(&pdev->dev);
	if (!pm_runtime_enabled(&pdev->dev))