mirror of https://gitee.com/openkylin/linux.git
Blackfin arch: Move write to VR_CTL closer to IDLE
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
9ae246cd85
commit
d1b945fdb6
|
@ -63,12 +63,14 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val)
|
||||||
{
|
{
|
||||||
unsigned long flags, iwr;
|
unsigned long flags, iwr;
|
||||||
|
|
||||||
bfin_write16(VR_CTL, val);
|
|
||||||
__builtin_bfin_ssync();
|
|
||||||
/* Enable the PLL Wakeup bit in SIC IWR */
|
/* Enable the PLL Wakeup bit in SIC IWR */
|
||||||
iwr = bfin_read32(SIC_IWR);
|
iwr = bfin_read32(SIC_IWR);
|
||||||
/* Only allow PPL Wakeup) */
|
/* Only allow PPL Wakeup) */
|
||||||
bfin_write32(SIC_IWR, IWR_ENABLE(0));
|
bfin_write32(SIC_IWR, IWR_ENABLE(0));
|
||||||
|
|
||||||
|
bfin_write16(VR_CTL, val);
|
||||||
|
__builtin_bfin_ssync();
|
||||||
|
|
||||||
local_irq_save(flags);
|
local_irq_save(flags);
|
||||||
asm("IDLE;");
|
asm("IDLE;");
|
||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
|
|
|
@ -51,12 +51,14 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val)
|
||||||
{
|
{
|
||||||
unsigned long flags, iwr;
|
unsigned long flags, iwr;
|
||||||
|
|
||||||
bfin_write16(VR_CTL, val);
|
|
||||||
__builtin_bfin_ssync();
|
|
||||||
/* Enable the PLL Wakeup bit in SIC IWR */
|
/* Enable the PLL Wakeup bit in SIC IWR */
|
||||||
iwr = bfin_read32(SIC_IWR);
|
iwr = bfin_read32(SIC_IWR);
|
||||||
/* Only allow PPL Wakeup) */
|
/* Only allow PPL Wakeup) */
|
||||||
bfin_write32(SIC_IWR, IWR_ENABLE(0));
|
bfin_write32(SIC_IWR, IWR_ENABLE(0));
|
||||||
|
|
||||||
|
bfin_write16(VR_CTL, val);
|
||||||
|
__builtin_bfin_ssync();
|
||||||
|
|
||||||
local_irq_save(flags);
|
local_irq_save(flags);
|
||||||
asm("IDLE;");
|
asm("IDLE;");
|
||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
|
|
|
@ -59,12 +59,14 @@ static __inline__ void bfin_write_VR_CTL(unsigned int val)
|
||||||
{
|
{
|
||||||
unsigned long flags, iwr;
|
unsigned long flags, iwr;
|
||||||
|
|
||||||
bfin_write16(VR_CTL, val);
|
|
||||||
__builtin_bfin_ssync();
|
|
||||||
/* Enable the PLL Wakeup bit in SIC IWR */
|
/* Enable the PLL Wakeup bit in SIC IWR */
|
||||||
iwr = bfin_read32(SICA_IWR0);
|
iwr = bfin_read32(SICA_IWR0);
|
||||||
/* Only allow PPL Wakeup) */
|
/* Only allow PPL Wakeup) */
|
||||||
bfin_write32(SICA_IWR0, IWR_ENABLE(0));
|
bfin_write32(SICA_IWR0, IWR_ENABLE(0));
|
||||||
|
|
||||||
|
bfin_write16(VR_CTL, val);
|
||||||
|
__builtin_bfin_ssync();
|
||||||
|
|
||||||
local_irq_save(flags);
|
local_irq_save(flags);
|
||||||
asm("IDLE;");
|
asm("IDLE;");
|
||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
|
|
Loading…
Reference in New Issue