mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 14:41:31 +00:00
video: ipuv3_fb: skip IPU shutdown if IPU was not enabled before
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>
This commit is contained in:
parent
0e88cdd17d
commit
f8ba7f2774
3 changed files with 9 additions and 0 deletions
|
@ -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);
|
||||
|
|
|
@ -1243,3 +1243,8 @@ int ipu_set_ldb_clock(int rate)
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool ipu_clk_enabled(void)
|
||||
{
|
||||
return g_ipu_clk_enabled;
|
||||
}
|
||||
|
|
|
@ -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) {
|
||||
|
|
Loading…
Add table
Reference in a new issue