From: Tomi Valkeinen <tomi.valkeinen@ti.com> To: linux-omap@vger.kernel.org, paul@pwsan.com, linux-arm-kernel@lists.infradead.org Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Subject: [PATCH 6/9] OMAP4: HWMOD: Add HWMOD_CONTROL_OPT_CLKS_IN_RESET for dss_core Date: Tue, 23 Aug 2011 15:28:16 +0300 [thread overview] Message-ID: <1314102499-30407-7-git-send-email-tomi.valkeinen@ti.com> (raw) In-Reply-To: <1314102499-30407-1-git-send-email-tomi.valkeinen@ti.com> DSS needs all DSS clocks to be enabled to be able to finish reset properly. Before v3.1-rc1 the omapdss driver was managing clocks and resets correctly. However, when omapdss started using runtime PM at v3.1-rc1, the responsibility for the reset moved to HWMOD framework. HWMOD framework does not currently enable all the DSS clocks when resetting the DSS hardware. This causes the HWMOD frameworks boot-time reset to fail, possibly leaving the DSS hardware in undefined state. This patch sets HWMOD_CONTROL_OPT_CLKS_IN_RESET for dss_core. The flag is actually not used on OMAP4, because dss_core hardware does not have soft-reset functionality and thus the HWMOD framework never resets nor waits for the reset to finish. However, while the flag is not strictly needed currently, I think it represents the HW correctly: all the DSS clocks should be enabled after power-on to allow DSS hardware to finish its reset. A custom reset function will be added in the following patches which manages this correctly for OMAP4. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> --- arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c index 48c0458..4c2ac7e 100644 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c @@ -1262,6 +1262,7 @@ static struct omap_hwmod_opt_clk dss_opt_clks[] = { static struct omap_hwmod omap44xx_dss_hwmod = { .name = "dss_core", + .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, .class = &omap44xx_dss_hwmod_class, .clkdm_name = "l3_dss_clkdm", .main_clk = "dss_dss_clk", -- 1.7.4.1
WARNING: multiple messages have this Message-ID (diff)
From: tomi.valkeinen@ti.com (Tomi Valkeinen) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 6/9] OMAP4: HWMOD: Add HWMOD_CONTROL_OPT_CLKS_IN_RESET for dss_core Date: Tue, 23 Aug 2011 15:28:16 +0300 [thread overview] Message-ID: <1314102499-30407-7-git-send-email-tomi.valkeinen@ti.com> (raw) In-Reply-To: <1314102499-30407-1-git-send-email-tomi.valkeinen@ti.com> DSS needs all DSS clocks to be enabled to be able to finish reset properly. Before v3.1-rc1 the omapdss driver was managing clocks and resets correctly. However, when omapdss started using runtime PM at v3.1-rc1, the responsibility for the reset moved to HWMOD framework. HWMOD framework does not currently enable all the DSS clocks when resetting the DSS hardware. This causes the HWMOD frameworks boot-time reset to fail, possibly leaving the DSS hardware in undefined state. This patch sets HWMOD_CONTROL_OPT_CLKS_IN_RESET for dss_core. The flag is actually not used on OMAP4, because dss_core hardware does not have soft-reset functionality and thus the HWMOD framework never resets nor waits for the reset to finish. However, while the flag is not strictly needed currently, I think it represents the HW correctly: all the DSS clocks should be enabled after power-on to allow DSS hardware to finish its reset. A custom reset function will be added in the following patches which manages this correctly for OMAP4. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com> --- arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c index 48c0458..4c2ac7e 100644 --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c @@ -1262,6 +1262,7 @@ static struct omap_hwmod_opt_clk dss_opt_clks[] = { static struct omap_hwmod omap44xx_dss_hwmod = { .name = "dss_core", + .flags = HWMOD_CONTROL_OPT_CLKS_IN_RESET, .class = &omap44xx_dss_hwmod_class, .clkdm_name = "l3_dss_clkdm", .main_clk = "dss_dss_clk", -- 1.7.4.1
next prev parent reply other threads:[~2011-08-23 12:28 UTC|newest] Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top 2011-08-23 12:28 [PATCH 0/9] OMAP: HWMOD: DSS patches Tomi Valkeinen 2011-08-23 12:28 ` Tomi Valkeinen 2011-08-23 12:28 ` [PATCH 1/9] OMAP2xxx: HWMOD: Fix DSS reset Tomi Valkeinen 2011-08-23 12:28 ` Tomi Valkeinen 2011-10-03 16:53 ` Paul Walmsley 2011-10-03 16:53 ` Paul Walmsley 2011-08-23 12:28 ` [PATCH 2/9] OMAP2xxx: HWMOD: fix DSS clock data Tomi Valkeinen 2011-08-23 12:28 ` Tomi Valkeinen 2011-08-23 12:28 ` [PATCH 3/9] OMAP3: HWMOD: Fix DSS reset Tomi Valkeinen 2011-08-23 12:28 ` Tomi Valkeinen 2011-10-03 16:54 ` Paul Walmsley 2011-10-03 16:54 ` Paul Walmsley 2011-08-23 12:28 ` [PATCH 4/9] OMAP3: HWMOD: fix DSS clock data Tomi Valkeinen 2011-08-23 12:28 ` Tomi Valkeinen 2011-08-23 12:28 ` [PATCH 5/9] OMAP4: HWMOD: remove extra clocks Tomi Valkeinen 2011-08-23 12:28 ` Tomi Valkeinen 2011-08-23 12:28 ` Tomi Valkeinen [this message] 2011-08-23 12:28 ` [PATCH 6/9] OMAP4: HWMOD: Add HWMOD_CONTROL_OPT_CLKS_IN_RESET for dss_core Tomi Valkeinen 2011-08-23 12:28 ` [PATCH 7/9] OMAP4: HWMOD: fix DSS clock data Tomi Valkeinen 2011-08-23 12:28 ` Tomi Valkeinen 2011-08-23 12:28 ` [PATCH 8/9] OMAP2/3: HWMOD: Add SYSS_HAS_RESET_STATUS for dss Tomi Valkeinen 2011-08-23 12:28 ` Tomi Valkeinen 2011-08-23 12:28 ` [PATCH 9/9] OMAP: HWMOD: Unify DSS resets for OMAPs Tomi Valkeinen 2011-08-23 12:28 ` Tomi Valkeinen 2011-08-28 6:12 ` [PATCH 0/9] OMAP: HWMOD: DSS patches Paul Walmsley 2011-08-28 6:12 ` Paul Walmsley
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1314102499-30407-7-git-send-email-tomi.valkeinen@ti.com \ --to=tomi.valkeinen@ti.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-omap@vger.kernel.org \ --cc=paul@pwsan.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.