aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/omap_hsi
diff options
context:
space:
mode:
authorZiyann <jaraidaniel@gmail.com>2014-07-11 12:39:19 +0200
committerZiyann <jaraidaniel@gmail.com>2014-11-19 21:12:54 +0100
commit435575a21f91913af2207a95770719851772b212 (patch)
tree4df16c76101e6ac15adb51cafaea792229f35bb5 /drivers/omap_hsi
parentba8528cc16500866abf42f3c7384053f1c9f7c5d (diff)
downloadkernel_samsung_tuna-435575a21f91913af2207a95770719851772b212.zip
kernel_samsung_tuna-435575a21f91913af2207a95770719851772b212.tar.gz
kernel_samsung_tuna-435575a21f91913af2207a95770719851772b212.tar.bz2
Revert "OMAP4: DPLL cascading: usage of DPLL cascading blocker API on HSI activity"
This reverts commit 053b228cb68b554b1d94ffb7fa0e22af745f86c5.
Diffstat (limited to 'drivers/omap_hsi')
-rwxr-xr-xdrivers/omap_hsi/hsi_driver.c51
1 files changed, 7 insertions, 44 deletions
diff --git a/drivers/omap_hsi/hsi_driver.c b/drivers/omap_hsi/hsi_driver.c
index a216c99..a2ed3c2 100755
--- a/drivers/omap_hsi/hsi_driver.c
+++ b/drivers/omap_hsi/hsi_driver.c
@@ -43,17 +43,6 @@
#define HSI_RESETDONE_NORMAL_RETRIES 1 /* Reset should complete in 1 R/W */
/* cycle */
-#ifdef CONFIG_OMAP4_DPLL_CASCADING
-struct hsi_dpll_cascading_blocker {
- bool lock_dpll_cascading;
- struct device *dev;
- struct work_struct dpll_blocker_work;
-};
-
-static struct hsi_dpll_cascading_blocker dpll_blocker = {
- .lock_dpll_cascading = true,
-};
-#endif
void hsi_hsr_suspend(struct hsi_dev *hsi_ctrl)
{
@@ -665,22 +654,6 @@ static int __init hsi_init_gdd_chan_count(struct hsi_dev *hsi_ctrl)
return 0;
}
-#ifdef CONFIG_OMAP4_DPLL_CASCADING
-static void hsi_dpll_cascading_blocker_work(struct work_struct *work)
-{
- struct hsi_dpll_cascading_blocker *dpll_blocker;
-
- dpll_blocker = container_of(work,
- struct hsi_dpll_cascading_blocker,
- dpll_blocker_work);
-
- if (dpll_blocker->lock_dpll_cascading)
- omap4_dpll_cascading_blocker_hold(dpll_blocker->dev);
- else
- omap4_dpll_cascading_blocker_release(dpll_blocker->dev);
-}
-#endif
-
/**
* hsi_clocks_disable_channel - virtual wrapper for disabling HSI clocks for
* a given channel
@@ -717,11 +690,10 @@ void hsi_clocks_disable_channel(struct device *dev, u8 channel_number,
if (hsi_is_hst_controller_busy(hsi_ctrl))
dev_dbg(dev, "Disabling clocks with HST FSM not IDLE !\n");
-#ifdef CONFIG_OMAP4_DPLL_CASCADING
+#ifdef K3_0_PORTING_HSI_MISSING_FEATURE
/* Allow Fclk to change */
- dpll_blocker.lock_dpll_cascading = false;
- dpll_blocker.dev = dev;
- schedule_work(&dpll_blocker.dpll_blocker_work);
+ if (dpll_cascading_blocker_release(dev) < 0)
+ dev_warn(dev, "Error releasing DPLL cascading constraint\n");
#endif
pm_runtime_put_sync_suspend(dev);
@@ -759,11 +731,10 @@ int hsi_clocks_enable_channel(struct device *dev, u8 channel_number,
return -EEXIST;
}
-#ifdef CONFIG_OMAP4_DPLL_CASCADING
- /* Prevent Fclk to change */
- dpll_blocker.lock_dpll_cascading = true;
- dpll_blocker.dev = dev;
- schedule_work(&dpll_blocker.dpll_blocker_work);
+#ifdef K3_0_PORTING_HSI_MISSING_FEATURE
+ /* Prevent Fclk change */
+ if (dpll_cascading_blocker_hold(dev) < 0)
+ dev_warn(dev, "Error holding DPLL cascading constraint\n");
#endif
return pm_runtime_get_sync(dev);
@@ -1252,11 +1223,6 @@ static int __init hsi_driver_init(void)
goto rback1;
}
-#ifdef CONFIG_OMAP4_DPLL_CASCADING
- INIT_WORK(&dpll_blocker.dpll_blocker_work,
- hsi_dpll_cascading_blocker_work);
-#endif
-
/* Register the HSI platform driver */
err = platform_driver_probe(&hsi_pdriver, hsi_platform_device_probe);
if (err < 0) {
@@ -1274,9 +1240,6 @@ rback1:
static void __exit hsi_driver_exit(void)
{
-#ifdef CONFIG_OMAP4_DPLL_CASCADING
- flush_work_sync(&dpll_blocker.dpll_blocker_work);
-#endif
platform_driver_unregister(&hsi_pdriver);
hsi_debug_exit();
hsi_bus_exit();