MGS-2664-7 [#imx-403] request "gpu2d" and "gpuvg" resets as shared
authorPrabhu Sundararaj <prabhu.sundararaj@nxp.com>
Fri, 17 Feb 2017 20:22:43 +0000 (14:22 -0600)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:10:45 +0000 (15:10 -0500)
These resets are shared at least on im6q, so request them as shared to
avoid devm_reset_control_get() failures since Linux 4.9 upstream has modified it
to assume exclusive usage.

Date: Feb 17, 2016
Signed-off-by: Octavian Purdila <octavian.purdila@nxp.com>
Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
drivers/mxc/gpu-viv/hal/os/linux/kernel/platform/freescale/gc_hal_kernel_platform_imx6.c

index 0082e1f..8a06b47 100644 (file)
@@ -617,9 +617,15 @@ _GetPower(
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)
     rstc = devm_reset_control_get(pdev, "gpu3d");
     priv->rstc[gcvCORE_MAJOR] = IS_ERR(rstc) ? NULL : rstc;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0)
     rstc = devm_reset_control_get_shared(pdev, "gpu2d");
     priv->rstc[gcvCORE_2D] = IS_ERR(rstc) ? NULL : rstc;
     rstc = devm_reset_control_get_shared(pdev, "gpuvg");
+#else
+    rstc = devm_reset_control_get(pdev, "gpu2d");
+    priv->rstc[gcvCORE_2D] = IS_ERR(rstc) ? NULL : rstc;
+    rstc = devm_reset_control_get(pdev, "gpuvg");
+#endif
     priv->rstc[gcvCORE_VG] = IS_ERR(rstc) ? NULL : rstc;
 #endif
 #endif