mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 18:10:50 +07:00
ARM: OMAP3: fix workaround for EMU clockdomain
Commit b71c721
(ARM: OMAP2+: clockdomain/hwmod: add workaround for EMU
clockdomain idle problems) added a workaround for the EMU clock domain on
OMAP3/4 devices to prevent the clock domain for transitioning while it is
in use.
In the proposed patch [1] code was added to the omap3xxx_clkdm_clk_enable()
and omap3xxx_clkdm_clk_disable() functions to check for the flag
CLKDM_MISSING_IDLE_REPORTING and perform the appropriate action. However, in the
merged patch it appears that this code was added to the omap2_clkdm_clk_enable()
and omap2_clkdm_clk_disable() functions by mistake.
[1] http://marc.info/?l=linux-arm-kernel&m=134383567112518&w=2
Signed-off-by: Jon Hunter <jon-hunter@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
This commit is contained in:
parent
695f0117e7
commit
cf956d9f07
@ -183,17 +183,6 @@ static int omap2_clkdm_clk_enable(struct clockdomain *clkdm)
|
|||||||
if (!clkdm->clktrctrl_mask)
|
if (!clkdm->clktrctrl_mask)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/*
|
|
||||||
* The CLKDM_MISSING_IDLE_REPORTING flag documentation has
|
|
||||||
* more details on the unpleasant problem this is working
|
|
||||||
* around
|
|
||||||
*/
|
|
||||||
if (clkdm->flags & CLKDM_MISSING_IDLE_REPORTING &&
|
|
||||||
!(clkdm->flags & CLKDM_CAN_FORCE_SLEEP)) {
|
|
||||||
_enable_hwsup(clkdm);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
hwsup = omap2_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs,
|
hwsup = omap2_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs,
|
||||||
clkdm->clktrctrl_mask);
|
clkdm->clktrctrl_mask);
|
||||||
|
|
||||||
@ -217,17 +206,6 @@ static int omap2_clkdm_clk_disable(struct clockdomain *clkdm)
|
|||||||
if (!clkdm->clktrctrl_mask)
|
if (!clkdm->clktrctrl_mask)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/*
|
|
||||||
* The CLKDM_MISSING_IDLE_REPORTING flag documentation has
|
|
||||||
* more details on the unpleasant problem this is working
|
|
||||||
* around
|
|
||||||
*/
|
|
||||||
if ((clkdm->flags & CLKDM_MISSING_IDLE_REPORTING) &&
|
|
||||||
(clkdm->flags & CLKDM_CAN_FORCE_WAKEUP)) {
|
|
||||||
omap3_clkdm_wakeup(clkdm);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
hwsup = omap2_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs,
|
hwsup = omap2_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs,
|
||||||
clkdm->clktrctrl_mask);
|
clkdm->clktrctrl_mask);
|
||||||
|
|
||||||
@ -269,6 +247,17 @@ static int omap3xxx_clkdm_clk_enable(struct clockdomain *clkdm)
|
|||||||
if (!clkdm->clktrctrl_mask)
|
if (!clkdm->clktrctrl_mask)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The CLKDM_MISSING_IDLE_REPORTING flag documentation has
|
||||||
|
* more details on the unpleasant problem this is working
|
||||||
|
* around
|
||||||
|
*/
|
||||||
|
if ((clkdm->flags & CLKDM_MISSING_IDLE_REPORTING) &&
|
||||||
|
(clkdm->flags & CLKDM_CAN_FORCE_WAKEUP)) {
|
||||||
|
omap3_clkdm_wakeup(clkdm);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
hwsup = omap2_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs,
|
hwsup = omap2_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs,
|
||||||
clkdm->clktrctrl_mask);
|
clkdm->clktrctrl_mask);
|
||||||
|
|
||||||
@ -292,6 +281,17 @@ static int omap3xxx_clkdm_clk_disable(struct clockdomain *clkdm)
|
|||||||
if (!clkdm->clktrctrl_mask)
|
if (!clkdm->clktrctrl_mask)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The CLKDM_MISSING_IDLE_REPORTING flag documentation has
|
||||||
|
* more details on the unpleasant problem this is working
|
||||||
|
* around
|
||||||
|
*/
|
||||||
|
if (clkdm->flags & CLKDM_MISSING_IDLE_REPORTING &&
|
||||||
|
!(clkdm->flags & CLKDM_CAN_FORCE_SLEEP)) {
|
||||||
|
_enable_hwsup(clkdm);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
hwsup = omap2_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs,
|
hwsup = omap2_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs,
|
||||||
clkdm->clktrctrl_mask);
|
clkdm->clktrctrl_mask);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user