X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=drivers%2Fvideo%2Fda8xx-fb.c;h=5fb68865ef4631adffba5be54598ed35ef6d2360;hb=7c351ff5e0e50359d9feb49272650bd01417f721;hp=bbd384df5e64ff8b738d7787915ba628d9f0972a;hpb=cbe7706ab8aab06c18edaa9b120371f9c8012728;p=oweals%2Fu-boot.git diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c index bbd384df5e..5fb68865ef 100644 --- a/drivers/video/da8xx-fb.c +++ b/drivers/video/da8xx-fb.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0+ /* * Porting to u-boot: * @@ -9,12 +10,11 @@ * * Based on the LCD driver for TI Avalanche processors written by * Ajay Singh and Shalom Hai. - * - * SPDX-License-Identifier: GPL-2.0+ */ #include #include +#include #include #include #include @@ -853,9 +853,10 @@ static u32 wait_for_event(u32 event) do { ret = lcdc_irq_handler(); udelay(1000); - } while (!(ret & event)); + --timeout; + } while (!(ret & event) && timeout); - if (timeout <= 0) { + if (!(ret & event)) { printf("%s: event %d not hit\n", __func__, event); return -1; } @@ -924,7 +925,7 @@ void *video_hw_init(void) da8xx_lcd_cfg->bpp); size = sizeof(struct fb_info) + sizeof(struct da8xx_fb_par); - da8xx_fb_info = malloc(size); + da8xx_fb_info = malloc_cache_aligned(size); debug("da8xx_fb_info at %x\n", (unsigned int)da8xx_fb_info); if (!da8xx_fb_info) { @@ -949,7 +950,7 @@ void *video_hw_init(void) da8xx_lcd_cfg->bpp; par->vram_size = par->vram_size * LCD_NUM_BUFFERS / 8; - par->vram_virt = malloc(par->vram_size); + par->vram_virt = malloc_cache_aligned(par->vram_size); par->vram_phys = (dma_addr_t) par->vram_virt; debug("Requesting 0x%x bytes for framebuffer at 0x%x\n", @@ -972,7 +973,7 @@ void *video_hw_init(void) da8xx_fb_fix.line_length - 1; /* allocate palette buffer */ - par->v_palette_base = malloc(PALETTE_SIZE); + par->v_palette_base = malloc_cache_aligned(PALETTE_SIZE); if (!par->v_palette_base) { printf("GLCD: malloc for palette buffer failed\n"); goto err_release_fb_mem;