fix(pxp): fix issues in pxp cache management callback (#5685)

Signed-off-by: Hatim-Pierre FAZILEABASSE <hatim-pierre.fazileabasse@ingenico.com>
This commit is contained in:
Hatim-Pierre FAZILEABASSE
2024-02-22 10:19:33 +01:00
committed by GitHub
parent 7d77a509a5
commit cde82c193c
6 changed files with 14 additions and 14 deletions

View File

@@ -70,7 +70,7 @@ void * lv_draw_buf_align(void * data, lv_color_format_t color_format)
else return NULL;
}
void lv_draw_buf_invalidate_cache(lv_draw_buf_t * draw_buf, const lv_area_t * area)
void lv_draw_buf_invalidate_cache(const lv_draw_buf_t * draw_buf, const lv_area_t * area)
{
if(handlers.invalidate_cache_cb) {
LV_ASSERT_NULL(draw_buf);

View File

@@ -74,7 +74,7 @@ typedef void (*lv_draw_buf_free_cb)(void * draw_buf);
typedef void * (*lv_draw_buf_align_cb)(void * buf, lv_color_format_t color_format);
typedef void (*lv_draw_buf_invalidate_cache_cb)(lv_draw_buf_t * draw_buf, const lv_area_t * area);
typedef void (*lv_draw_buf_invalidate_cache_cb)(const lv_draw_buf_t * draw_buf, const lv_area_t * area);
typedef uint32_t (*lv_draw_buf_width_to_stride_cb)(uint32_t w, lv_color_format_t color_format);
@@ -116,7 +116,7 @@ void * lv_draw_buf_align(void * buf, lv_color_format_t color_format);
* @param area the area to invalidate in the buffer,
* use NULL to invalidate the whole draw buffer address range
*/
void lv_draw_buf_invalidate_cache(lv_draw_buf_t * draw_buf, const lv_area_t * area);
void lv_draw_buf_invalidate_cache(const lv_draw_buf_t * draw_buf, const lv_area_t * area);
/**
* Calculate the stride in bytes based on a width and color format

View File

@@ -33,7 +33,7 @@
* STATIC PROTOTYPES
**********************/
static void _invalidate_cache(void * buf, uint32_t stride, lv_color_format_t cf, const lv_area_t * area);
static void _invalidate_cache(const lv_draw_buf_t * draw_buf, const lv_area_t * area);
/**********************
* STATIC VARIABLES
@@ -58,7 +58,7 @@ void lv_draw_buf_pxp_init_handlers(void)
* STATIC FUNCTIONS
**********************/
static void _invalidate_cache(lv_draw_buf_t * draw_buf, const lv_area_t * area)
static void _invalidate_cache(const lv_draw_buf_t * draw_buf, const lv_area_t * area)
{
const lv_image_header_t * header = &draw_buf->header;
uint32_t stride = header->stride;
@@ -68,11 +68,11 @@ static void _invalidate_cache(lv_draw_buf_t * draw_buf, const lv_area_t * area)
uint16_t size = stride * lv_area_get_height(area);
/* Invalidate full buffer. */
DEMO_CleanInvalidateCacheByAddr((void *)buf, size);
DCACHE_CleanInvalidateByRange((uint32_t)draw_buf->data, size);
return;
}
const uint8_t * buf_u8 = buf;
const uint8_t * buf_u8 = draw_buf->data;
/* ARM require a 32 byte aligned address. */
uint8_t align_bytes = 32;
uint8_t bits_per_pixel = lv_color_format_get_bpp(cf);
@@ -103,7 +103,7 @@ static void _invalidate_cache(lv_draw_buf_t * draw_buf, const lv_area_t * area)
for(uint16_t y = 0; y < area_height; y++) {
const void * line_addr = buf_u8 + y * stride;
DEMO_CleanInvalidateCacheByAddr((void *)line_addr, line_size);
DCACHE_CleanInvalidateByRange((uint32_t)line_addr, line_size);
}
}

View File

@@ -37,7 +37,7 @@ static void * _buf_malloc(size_t size_bytes, lv_color_format_t cf);
static void * _buf_align(void * buf, lv_color_format_t cf);
static void _invalidate_cache(void * buf, uint32_t stride, lv_color_format_t cf, const lv_area_t * area);
static void _invalidate_cache(const void * buf, uint32_t stride, lv_color_format_t cf, const lv_area_t * area);
static uint32_t _width_to_stride(uint32_t w, lv_color_format_t cf);
@@ -90,7 +90,7 @@ static void * _buf_align(void * buf, lv_color_format_t cf)
return buf_u8;
}
static void _invalidate_cache(lv_draw_buf_t * draw_buf, const lv_area_t * area)
static void _invalidate_cache(const lv_draw_buf_t * draw_buf, const lv_area_t * area)
{
const lv_image_header_t * header = &draw_buf->header;
uint32_t stride = header->stride;

View File

@@ -29,7 +29,7 @@ static void execute_drawing(lv_draw_dave2d_unit_t * u);
#if defined(RENESAS_CORTEX_M85)
#if (BSP_CFG_DCACHE_ENABLED)
static void _dave2d_buf_invalidate_cache_cb(lv_draw_buf_t * draw_buf, const lv_area_t * area);
static void _dave2d_buf_invalidate_cache_cb(const lv_draw_buf_t * draw_buf, const lv_area_t * area);
#endif
#endif
@@ -122,7 +122,7 @@ static void lv_draw_buf_dave2d_init_handlers(void)
#if defined(RENESAS_CORTEX_M85)
#if (BSP_CFG_DCACHE_ENABLED)
static void _dave2d_buf_invalidate_cache_cb(lv_draw_buf_t * draw_buf, const lv_area_t * area)
static void _dave2d_buf_invalidate_cache_cb(const lv_draw_buf_t * draw_buf, const lv_area_t * area)
{
const lv_image_header_t * header = &draw_buf->header;
uint32_t stride = header->stride;

View File

@@ -26,7 +26,7 @@
* STATIC PROTOTYPES
**********************/
static void invalidate_cache(lv_draw_buf_t * draw_buf, const lv_area_t * area);
static void invalidate_cache(const lv_draw_buf_t * draw_buf, const lv_area_t * area);
/**********************
* STATIC VARIABLES
@@ -50,7 +50,7 @@ void lv_nuttx_cache_init(void)
* STATIC FUNCTIONS
**********************/
static void invalidate_cache(lv_draw_buf_t * draw_buf, const lv_area_t * area)
static void invalidate_cache(const lv_draw_buf_t * draw_buf, const lv_area_t * area)
{
LV_ASSERT_NULL(draw_buf);
void * buf = draw_buf->data;