powerpc/qe: QE also shuts down on MPC8568
It appears that QE shuts down on all MPC85xx CPUs (i.e. MPC8568 and MPC8569) and thus needs reset upon resume. So modify qe_alive_during_sleep() to account that. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
This commit is contained in:
Родитель
0c7b87b085
Коммит
46d2293470
|
@ -154,7 +154,28 @@ int qe_get_snum(void);
|
|||
void qe_put_snum(u8 snum);
|
||||
unsigned int qe_get_num_of_risc(void);
|
||||
unsigned int qe_get_num_of_snums(void);
|
||||
int qe_alive_during_sleep(void);
|
||||
|
||||
static inline int qe_alive_during_sleep(void)
|
||||
{
|
||||
/*
|
||||
* MPC8568E reference manual says:
|
||||
*
|
||||
* "...power down sequence waits for all I/O interfaces to become idle.
|
||||
* In some applications this may happen eventually without actively
|
||||
* shutting down interfaces, but most likely, software will have to
|
||||
* take steps to shut down the eTSEC, QUICC Engine Block, and PCI
|
||||
* interfaces before issuing the command (either the write to the core
|
||||
* MSR[WE] as described above or writing to POWMGTCSR) to put the
|
||||
* device into sleep state."
|
||||
*
|
||||
* MPC8569E reference manual has a similar paragraph.
|
||||
*/
|
||||
#ifdef CONFIG_PPC_85xx
|
||||
return 0;
|
||||
#else
|
||||
return 1;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* we actually use cpm_muram implementation, define this for convenience */
|
||||
#define qe_muram_init cpm_muram_init
|
||||
|
|
|
@ -65,19 +65,6 @@ static unsigned int qe_num_of_snum;
|
|||
|
||||
static phys_addr_t qebase = -1;
|
||||
|
||||
int qe_alive_during_sleep(void)
|
||||
{
|
||||
static int ret = -1;
|
||||
|
||||
if (ret != -1)
|
||||
return ret;
|
||||
|
||||
ret = !of_find_compatible_node(NULL, NULL, "fsl,mpc8569-pmc");
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(qe_alive_during_sleep);
|
||||
|
||||
phys_addr_t get_qe_base(void)
|
||||
{
|
||||
struct device_node *qe;
|
||||
|
|
Загрузка…
Ссылка в новой задаче