* [U-Boot] [PATCH v2] video: ipuv3_fb: skip IPU shutdown if IPU was not enabled before
@ 2017-09-04 21:58 Anatolij Gustschin
2017-09-05 11:22 ` Anatolij Gustschin
0 siblings, 1 reply; 2+ messages in thread
From: Anatolij Gustschin @ 2017-09-04 21:58 UTC (permalink / raw)
To: u-boot
Boards can skip display interface init using board_video_skip().
If display interface was not initialized (e.g. no ipuv3 framebuffer
registered or IPU clock disabled), booting Linux stops due to the
crash in IPU shutdown function, when accessing IPU registers.
Check IPU clock and skip shutdown if clock is not enabled.
Signed-off-by: Anatolij Gustschin <agust@denx.de>
---
Changes in v2:
- fixed build breakage when building mx5 targets
drivers/video/ipu.h | 1 +
drivers/video/ipu_common.c | 5 +++++
drivers/video/mxc_ipuv3_fb.c | 3 +++
3 files changed, 9 insertions(+)
diff --git a/drivers/video/ipu.h b/drivers/video/ipu.h
index 348be58..ff91d18 100644
--- a/drivers/video/ipu.h
+++ b/drivers/video/ipu.h
@@ -253,6 +253,7 @@ struct clk *clk_get_parent(struct clk *clk);
void ipu_dump_registers(void);
int ipu_probe(void);
+bool ipu_clk_enabled(void);
void ipu_dmfc_init(int dmfc_type, int first);
void ipu_init_dc_mappings(void);
diff --git a/drivers/video/ipu_common.c b/drivers/video/ipu_common.c
index f8d4488..f259fb9 100644
--- a/drivers/video/ipu_common.c
+++ b/drivers/video/ipu_common.c
@@ -1243,3 +1243,8 @@ int ipu_set_ldb_clock(int rate)
return 0;
}
+
+bool ipu_clk_enabled(void)
+{
+ return g_ipu_clk_enabled;
+}
diff --git a/drivers/video/mxc_ipuv3_fb.c b/drivers/video/mxc_ipuv3_fb.c
index 0d0a0a9..1ab5cb7 100644
--- a/drivers/video/mxc_ipuv3_fb.c
+++ b/drivers/video/mxc_ipuv3_fb.c
@@ -571,6 +571,9 @@ void ipuv3_fb_shutdown(void)
int i;
struct ipu_stat *stat = (struct ipu_stat *)IPU_STAT;
+ if (!ipu_clk_enabled())
+ return;
+
for (i = 0; i < ARRAY_SIZE(mxcfb_info); i++) {
struct fb_info *fbi = mxcfb_info[i];
if (fbi) {
--
2.7.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [U-Boot] [PATCH v2] video: ipuv3_fb: skip IPU shutdown if IPU was not enabled before
2017-09-04 21:58 [U-Boot] [PATCH v2] video: ipuv3_fb: skip IPU shutdown if IPU was not enabled before Anatolij Gustschin
@ 2017-09-05 11:22 ` Anatolij Gustschin
0 siblings, 0 replies; 2+ messages in thread
From: Anatolij Gustschin @ 2017-09-05 11:22 UTC (permalink / raw)
To: u-boot
On Mon, 4 Sep 2017 23:58:17 +0200
Anatolij Gustschin agust at denx.de wrote:
> Boards can skip display interface init using board_video_skip().
> If display interface was not initialized (e.g. no ipuv3 framebuffer
> registered or IPU clock disabled), booting Linux stops due to the
> crash in IPU shutdown function, when accessing IPU registers.
> Check IPU clock and skip shutdown if clock is not enabled.
>
> Signed-off-by: Anatolij Gustschin <agust@denx.de>
> ---
> Changes in v2:
> - fixed build breakage when building mx5 targets
>
> drivers/video/ipu.h | 1 +
> drivers/video/ipu_common.c | 5 +++++
> drivers/video/mxc_ipuv3_fb.c | 3 +++
> 3 files changed, 9 insertions(+)
Applied to u-boot-video/master.
--
Anatolij
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-09-05 11:22 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-04 21:58 [U-Boot] [PATCH v2] video: ipuv3_fb: skip IPU shutdown if IPU was not enabled before Anatolij Gustschin
2017-09-05 11:22 ` Anatolij Gustschin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox