OMAP4: hwmod: Replace OCPIF_HAS_IDLEST by HWMOD_NO_IDLEST
authorBenoit Cousson <b-cousson@ti.com>
Thu, 20 May 2010 18:31:09 +0000 (12:31 -0600)
committerPaul Walmsley <paul@pwsan.com>
Thu, 20 May 2010 18:31:09 +0000 (12:31 -0600)
Some initiator modules in OMAP2 & 3 does not have IDLEST bit,
in that case we cannot detect the module readiness by
polling that bit and must exist the function immediately
assuming that the module is ready.

The previous flag was affected to the OCP interface. While it is
technically true that the idlest is related to the L4 slave
interface of the module, the PRCM status belong to the module.

Signed-off-by: Benoit Cousson <b-cousson@ti.com>
Signed-off-by: Paul Walmsley <paul@pwsan.com>
arch/arm/mach-omap2/omap_hwmod.c
arch/arm/plat-omap/include/plat/omap_hwmod.h

index 4a134c4d2271f997467cdbe295c0cf30f4890d46..6459d07785b70808d280ec16a6760d8faaf37e27 100644 (file)
@@ -808,7 +808,7 @@ static int _wait_target_ready(struct omap_hwmod *oh)
 
        os = *oh->slaves + oh->_mpu_port_index;
 
-       if (!(os->flags & OCPIF_HAS_IDLEST))
+       if (oh->flags & HWMOD_NO_IDLEST)
                return 0;
 
        /* XXX check module SIDLEMODE */
index 4965bbe8efb724bba27db3b8b5952815c692996c..0eccc09ac4a9f634ebc782b88b979548d6da3c38 100644 (file)
@@ -176,9 +176,8 @@ struct omap_hwmod_addr_space {
 #define OCP_USER_SDMA                  (1 << 1)
 
 /* omap_hwmod_ocp_if.flags bits */
-#define OCPIF_HAS_IDLEST               (1 << 0)
-#define OCPIF_SWSUP_IDLE               (1 << 1)
-#define OCPIF_CAN_BURST                        (1 << 2)
+#define OCPIF_SWSUP_IDLE               (1 << 0)
+#define OCPIF_CAN_BURST                        (1 << 1)
 
 /**
  * struct omap_hwmod_ocp_if - OCP interface data
@@ -351,6 +350,8 @@ struct omap_hwmod_omap4_prcm {
  *     when module is enabled, rather than the default, which is to
  *     enable autoidle
  * HWMOD_SET_DEFAULT_CLOCKACT: program CLOCKACTIVITY bits at startup
+ * HWMOD_NO_IDLEST : this module does not have idle status - this is the case
+ *     only for few initiator modules on OMAP2 & 3.
  */
 #define HWMOD_SWSUP_SIDLE                      (1 << 0)
 #define HWMOD_SWSUP_MSTANDBY                   (1 << 1)
@@ -358,6 +359,7 @@ struct omap_hwmod_omap4_prcm {
 #define HWMOD_INIT_NO_IDLE                     (1 << 3)
 #define HWMOD_NO_OCP_AUTOIDLE                  (1 << 4)
 #define HWMOD_SET_DEFAULT_CLOCKACT             (1 << 5)
+#define HWMOD_NO_IDLEST                                (1 << 6)
 
 /*
  * omap_hwmod._int_flags definitions