X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=drivers%2Fvideo%2Fda8xx-fb.c;h=285633b14d6c275fea880b9e6c2a7cdef43bc593;hb=984df7add1fe6e5a25854eae81f51940806456bc;hp=468f385d8d4d9902e61e526dc72cfff18d828694;hpb=535cce0f90b06f4555ba2e3090ca8118ae724751;p=u-boot diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c index 468f385d8d..285633b14d 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,17 +10,15 @@ * * 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 -#include +#include #include #include @@ -853,9 +852,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 +924,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 +949,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 +972,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;