Skip to contentSkip to conversation

powerpc/qe: Implement qe_alive_during_sleep() helper function

PATCH Applied Anton Vorontsov 1 participant 1 message Aug 27, 2009

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 2/5 powerpc/qe: Implement qe_alive_during_sleep() helper function

In some CPUs (i.e. MPC8569) QE shuts down completely during sleep, drivers may want to know that to reinitialize registers and buffer descriptors.

This patch implements qe_alive_during_sleep() helper function, so far it just checks if MPC8569-compatible power management controller is present, which is a sign that QE turns off during sleep.

---
 arch/powerpc/include/asm/qe.h   |    1 +
 arch/powerpc/sysdev/qe_lib/qe.c |   13 +++++++++++++
 2 files changed, 14 insertions(+), 0 deletions(-)
arch/powerpc/include/asm/qe.h +1 -0
index e8232bb..20c0b07 100644
@@ -163,6 +163,7 @@ 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);
 
 /* we actually use cpm_muram implementation, define this for convenience */
 #define qe_muram_init cpm_muram_init
arch/powerpc/sysdev/qe_lib/qe.c +13 -0
index f485d5a..a765f9c 100644
@@ -65,6 +65,19 @@ 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;
Signature · 1 line
1.6.3.3