|
@@ -104,7 +104,13 @@ void bcma_core_pll_ctl(struct bcma_device *core, u32 req, u32 status, bool on)
|
|
|
if (i)
|
|
|
bcma_err(core->bus, "PLL enable timeout\n");
|
|
|
} else {
|
|
|
- bcma_warn(core->bus, "Disabling PLL not supported yet!\n");
|
|
|
+ /*
|
|
|
+ * Mask the PLL but don't wait for it to be disabled. PLL may be
|
|
|
+ * shared between cores and will be still up if there is another
|
|
|
+ * core using it.
|
|
|
+ */
|
|
|
+ bcma_mask32(core, BCMA_CLKCTLST, ~req);
|
|
|
+ bcma_read32(core, BCMA_CLKCTLST);
|
|
|
}
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(bcma_core_pll_ctl);
|