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

Commit eaa458b1 authored by Chandan Uddaraju's avatar Chandan Uddaraju
Browse files

disp: msm: move MDSS resource voting to probe



sync_state driver disables any resources that
don't have any votes after driver probe is completed.
Move MDSS resource votes to probe so that any resources
that are needed for continuous splash are intact until
the bind of all the components is complete.

Change-Id: I0056bf1ec56bcd6a1b620a81143d4b49d7ea2921
Signed-off-by: default avatarChandan Uddaraju <chandanu@codeaurora.org>
parent fa8f6238
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -704,7 +704,6 @@ static struct msm_kms *_msm_drm_component_init_helper(
		return kms;
	}
	priv->kms = kms;
	pm_runtime_enable(dev);

	/**
	 * Since kms->funcs->hw_init(kms) might call
@@ -762,6 +761,14 @@ static int msm_drm_device_init(struct platform_device *pdev,
		goto dbg_init_fail;
	}

	pm_runtime_enable(dev);

	ret = pm_runtime_get_sync(dev);
	if (ret < 0) {
		dev_err(dev, "resource enable failed: %d\n", ret);
		goto pm_runtime_error;
	}

	for (i = 0; i < SDE_POWER_HANDLE_DBUS_ID_MAX; i++)
		sde_power_data_bus_set_quota(&priv->phandle, i,
			SDE_POWER_HANDLE_CONT_SPLASH_BUS_AB_QUOTA,
@@ -769,6 +776,8 @@ static int msm_drm_device_init(struct platform_device *pdev,

	return ret;

pm_runtime_error:
	sde_dbg_destroy();
dbg_init_fail:
	sde_power_resource_deinit(pdev, &priv->phandle);
power_init_fail:
+1 −9
Original line number Diff line number Diff line
@@ -3491,15 +3491,9 @@ static int sde_kms_hw_init(struct msm_kms *kms)
	if (rc)
		SDE_DEBUG("sde splash data fetch failed: %d\n", rc);

	rc = pm_runtime_get_sync(sde_kms->dev->dev);
	if (rc < 0) {
		SDE_ERROR("resource enable failed: %d\n", rc);
		goto error;
	}

	rc = _sde_kms_hw_init_blocks(sde_kms, dev, priv);
	if (rc)
		goto hw_init_err;
		goto error;

	dev->mode_config.min_width = sde_kms->catalog->min_display_width;
	dev->mode_config.min_height = sde_kms->catalog->min_display_height;
@@ -3546,8 +3540,6 @@ static int sde_kms_hw_init(struct msm_kms *kms)

	return 0;

hw_init_err:
	pm_runtime_put_sync(sde_kms->dev->dev);
error:
	_sde_kms_hw_destroy(sde_kms, platformdev);
end: