diff options
Diffstat (limited to 'drivers/gdisp/SSD1289/gdisp_lld_SSD1289.c')
-rw-r--r-- | drivers/gdisp/SSD1289/gdisp_lld_SSD1289.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/drivers/gdisp/SSD1289/gdisp_lld_SSD1289.c b/drivers/gdisp/SSD1289/gdisp_lld_SSD1289.c index d49e5268..0af1339e 100644 --- a/drivers/gdisp/SSD1289/gdisp_lld_SSD1289.c +++ b/drivers/gdisp/SSD1289/gdisp_lld_SSD1289.c @@ -31,6 +31,12 @@ #ifndef GDISP_INITIAL_BACKLIGHT #define GDISP_INITIAL_BACKLIGHT 100 #endif +#ifndef GDISP_USE_DMA + #define GDISP_USE_DMA FALSE +#endif +#ifndef GDISP_NO_DMA_FROM_STACK + #define GDISP_NO_DMA_FROM_STACK FALSE +#endif /*===========================================================================*/ /* Driver local functions. */ @@ -229,9 +235,13 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) { } #endif -#if GDISP_HARDWARE_FILLS && defined(GDISP_USE_DMA) +#if GDISP_HARDWARE_FILLS && GDISP_USE_DMA LLDSPEC void gdisp_lld_fill_area(GDisplay *g) { - uint16_t c; + #if GDISP_NO_DMA_FROM_STACK + static LLDCOLOR_TYPE c; + #else + LLDCOLOR_TYPE c; + #endif c = gdispColor2Native(g->p.color); acquire_bus(g); @@ -242,7 +252,7 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) { } #endif -#if GDISP_HARDWARE_BITFILLS && defined(GDISP_USE_DMA) +#if GDISP_HARDWARE_BITFILLS && GDISP_USE_DMA #if GDISP_PIXELFORMAT != GDISP_LLD_PIXELFORMAT #error "GDISP: SSD1289: BitBlit is only available in RGB565 pixel format" #endif |