From: Pavel Pisa <[email protected]>
closes #2634.
---
c/src/lib/libbsp/i386/pc386/console/fb_vesa_rm.c | 2 +-
c/src/lib/libbsp/i386/pc386/include/edid.h | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-)
I have finally found time to update tools to 4.12 and test change on master.
Tested on QEMU only for now. If agreed, I can try to push patch to the master
branch.
diff --git a/c/src/lib/libbsp/i386/pc386/console/fb_vesa_rm.c
b/c/src/lib/libbsp/i386/pc386/console/fb_vesa_rm.c
index b758564..fa41d01 100644
--- a/c/src/lib/libbsp/i386/pc386/console/fb_vesa_rm.c
+++ b/c/src/lib/libbsp/i386/pc386/console/fb_vesa_rm.c
@@ -499,7 +499,7 @@ static int32_t find_mode_using_EDID( Mode_params *mode_list,
while (index < 8)
{
/* check if descriptor is unused */
- if (*(uint16_t*)&edid.STI[index] == EDID_STI_DescriptorUnused)
+ if (edid1_STI_is_unused(&edid.STI[index]))
{
index++;
continue;
diff --git a/c/src/lib/libbsp/i386/pc386/include/edid.h
b/c/src/lib/libbsp/i386/pc386/include/edid.h
index b8c00b1..836294d 100644
--- a/c/src/lib/libbsp/i386/pc386/include/edid.h
+++ b/c/src/lib/libbsp/i386/pc386/include/edid.h
@@ -473,6 +473,14 @@ EDID_INLINE_ROUTINE uint16_t edid1_WhiteY (EDID_edid1
*edid) {
return (edid->WhiteYHigh<<2) | (edid->WhiteBlueLow&0x3);
}
+EDID_INLINE_ROUTINE int edid1_STI_is_unused (
+ const EDID_standard_timing_identification *edid_sti) {
+ return (edid_sti->HorizontalActivePixels ==
+ (uint8_t)EDID_STI_DescriptorUnused) &&
+ (edid_sti->ImageAspectRatio_RefreshRate ==
+ (uint8_t)(EDID_STI_DescriptorUnused >> 8));
+}
+
enum edid1_established_timings {
/* Established Timings I */
EST_800x600_60Hz = 0,
--
1.9.1
_______________________________________________
devel mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/devel