Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Renesas GLCDC dirver #6221

Merged
merged 2 commits into from
May 22, 2024
Merged

Renesas GLCDC dirver #6221

merged 2 commits into from
May 22, 2024

Conversation

becseya
Copy link
Contributor

@becseya becseya commented May 14, 2024

Add display driver to support Renesas GLCDC peripheral.

@becseya
Copy link
Contributor Author

becseya commented May 14, 2024

tests/src/lv_test_conf_full.h was not extended with the new config macro, as build would fail, due to missing FSP libraries. I'm assuming this is preferred over mocking everything. @kisvegabor

@kisvegabor
Copy link
Member

I'm assuming this is preferred over mocking everything.

Correct, normally we don't compile the hardware specific code.

src/drivers/display/renesas_glcdc/lv_renesas_glcdc.c Outdated Show resolved Hide resolved
src/drivers/display/renesas_glcdc/lv_renesas_glcdc.c Outdated Show resolved Hide resolved
src/drivers/display/renesas_glcdc/lv_renesas_glcdc.c Outdated Show resolved Hide resolved

int32_t w = lv_area_get_width(area);
int32_t h = lv_area_get_height(area);
SCB_CleanInvalidateDCache_by_Addr(px_map, w * h * 2);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It should be called in line 204 for the frame buffer.

SCB_CleanInvalidateDCache_by_Addr(fb, DISPLAY_HSIZE_INPUT0 * DISPLAY_VSIZE_INPUT0 * 2);

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

replacing 191 or keep both? and why call for the whole buffer in partial mode?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only at line 191.
It would be more optimal to invalidate on the changed area. It can be added now or in a later PR as an optimization.

Copy link
Contributor Author

@becseya becseya May 20, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The suggested line does not work, as fb is being incremented in the loop, and pointing to a bad location by line 204.
This works* at the end of function:

SCB_CleanInvalidateDCache_by_Addr(fb_background[1], sizeof(fb_background[1]));

Or this in the loop:

SCB_CleanInvalidateDCache_by_Addr(fb, w * 2);

However it only works for the artifacts seen at switch transition. Pressing the "Log out" button also creates artifacts and they are not resolved by cache invalidation. It might be a different issue, as the stripes are inside the button, with white color. At no point the animation should be that, so it's not a "slow transition" related to cache emptying out.

image

This is not present in direct mode, however a scroll bar appears after pressing the button once. The bar does not appear in the PC emulator with matching screen resolution.

src/drivers/display/renesas_glcdc/lv_renesas_glcdc.h Outdated Show resolved Hide resolved
src/drivers/display/renesas_glcdc/lv_renesas_glcdc.h Outdated Show resolved Hide resolved
kisvegabor
kisvegabor previously approved these changes May 15, 2024
src/drivers/display/renesas_glcdc/lv_renesas_glcdc.h Outdated Show resolved Hide resolved
Copy link
Member

@kisvegabor kisvegabor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good in general, just a few comments.

@kisvegabor kisvegabor dismissed their stale review May 15, 2024 09:53

Approved by accident

Copy link
Member

@kisvegabor kisvegabor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! We can fix the issue of the partial rendering in a separate PR.

The failing CI is unrelated and being discussed here.

@becseya
Copy link
Contributor Author

becseya commented May 22, 2024

Please merge without squashing @kisvegabor

@kisvegabor kisvegabor merged commit 4d12d64 into lvgl:master May 22, 2024
19 checks passed
@kisvegabor
Copy link
Member

Merged, thank you Akos!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants