Commit 33f7ec81 authored by Benoit Cousson's avatar Benoit Cousson Committed by Paul Walmsley

OMAP4: hwmod: Replace OCPIF_HAS_IDLEST by HWMOD_NO_IDLEST

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: default avatarBenoit Cousson <b-cousson@ti.com>
Signed-off-by: default avatarPaul Walmsley <paul@pwsan.com>
parent 9a23dfe1
...@@ -808,7 +808,7 @@ static int _wait_target_ready(struct omap_hwmod *oh) ...@@ -808,7 +808,7 @@ static int _wait_target_ready(struct omap_hwmod *oh)
os = *oh->slaves + oh->_mpu_port_index; os = *oh->slaves + oh->_mpu_port_index;
if (!(os->flags & OCPIF_HAS_IDLEST)) if (oh->flags & HWMOD_NO_IDLEST)
return 0; return 0;
/* XXX check module SIDLEMODE */ /* XXX check module SIDLEMODE */
......
...@@ -176,9 +176,8 @@ struct omap_hwmod_addr_space { ...@@ -176,9 +176,8 @@ struct omap_hwmod_addr_space {
#define OCP_USER_SDMA (1 << 1) #define OCP_USER_SDMA (1 << 1)
/* omap_hwmod_ocp_if.flags bits */ /* omap_hwmod_ocp_if.flags bits */
#define OCPIF_HAS_IDLEST (1 << 0) #define OCPIF_SWSUP_IDLE (1 << 0)
#define OCPIF_SWSUP_IDLE (1 << 1) #define OCPIF_CAN_BURST (1 << 1)
#define OCPIF_CAN_BURST (1 << 2)
/** /**
* struct omap_hwmod_ocp_if - OCP interface data * struct omap_hwmod_ocp_if - OCP interface data
...@@ -351,6 +350,8 @@ struct omap_hwmod_omap4_prcm { ...@@ -351,6 +350,8 @@ struct omap_hwmod_omap4_prcm {
* when module is enabled, rather than the default, which is to * when module is enabled, rather than the default, which is to
* enable autoidle * enable autoidle
* HWMOD_SET_DEFAULT_CLOCKACT: program CLOCKACTIVITY bits at startup * 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_SIDLE (1 << 0)
#define HWMOD_SWSUP_MSTANDBY (1 << 1) #define HWMOD_SWSUP_MSTANDBY (1 << 1)
...@@ -358,6 +359,7 @@ struct omap_hwmod_omap4_prcm { ...@@ -358,6 +359,7 @@ struct omap_hwmod_omap4_prcm {
#define HWMOD_INIT_NO_IDLE (1 << 3) #define HWMOD_INIT_NO_IDLE (1 << 3)
#define HWMOD_NO_OCP_AUTOIDLE (1 << 4) #define HWMOD_NO_OCP_AUTOIDLE (1 << 4)
#define HWMOD_SET_DEFAULT_CLOCKACT (1 << 5) #define HWMOD_SET_DEFAULT_CLOCKACT (1 << 5)
#define HWMOD_NO_IDLEST (1 << 6)
/* /*
* omap_hwmod._int_flags definitions * omap_hwmod._int_flags definitions
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment