mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-24 01:41:39 +00:00
drm/i915/gen9: Use flush_work to synchronize with dmc loader
During driver unload to ensure we dont have any pending task, flush_work added to complete firmware loading task. v1: Initial version. v2: As per review comments from Daniel, Removed flush_work from skl_set_power_well. As we have taken power well refernece and rpm count during firmware loading by using display_power_domain_get/put - this will always ensure rpm will be blocked if firmware is not loaded. Cc: Daniel Vetter <daniel.vetter@intel.com> Cc: Damien Lespiau <damien.lespiau@intel.com> Cc: Imre Deak <imre.deak@intel.com> Cc: Sunil Kamath <sunil.kamath@intel.com> Signed-off-by: Animesh Manna <animesh.manna@intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com> Tested-by: Daniel Stone <daniels@collabora.com> # SKL Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1446069547-24760-12-git-send-email-imre.deak@intel.com
This commit is contained in:
parent
8144ac59bd
commit
15e72c1fc1
2 changed files with 2 additions and 2 deletions
|
@ -1067,8 +1067,6 @@ static int i915_pm_resume(struct device *dev)
|
||||||
|
|
||||||
static int skl_suspend_complete(struct drm_i915_private *dev_priv)
|
static int skl_suspend_complete(struct drm_i915_private *dev_priv)
|
||||||
{
|
{
|
||||||
/* Enabling DC6 is not a hard requirement to enter runtime D3 */
|
|
||||||
|
|
||||||
skl_uninit_cdclk(dev_priv);
|
skl_uninit_cdclk(dev_priv);
|
||||||
|
|
||||||
if (dev_priv->csr.dmc_payload)
|
if (dev_priv->csr.dmc_payload)
|
||||||
|
|
|
@ -446,5 +446,7 @@ void intel_csr_ucode_fini(struct drm_i915_private *dev_priv)
|
||||||
if (!HAS_CSR(dev_priv))
|
if (!HAS_CSR(dev_priv))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
flush_work(&dev_priv->csr.work);
|
||||||
|
|
||||||
kfree(dev_priv->csr.dmc_payload);
|
kfree(dev_priv->csr.dmc_payload);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue