ecore-drm: Fix ecore_drm_output_edid_get to return a hex string
Summary: As we will use the edid string inside RandR code to store unique information about an output, we should be returning this edid in a "readable" form. @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
parent
956eb9318b
commit
df28c380d3
|
@ -165,7 +165,7 @@ _ecore_drm_output_edid_find(Ecore_Drm_Output *output, drmModeConnector *conn)
|
||||||
|
|
||||||
if (!blob) return;
|
if (!blob) return;
|
||||||
|
|
||||||
output->edid_blob = (char *)eina_memdup(blob->data, blob->length, 1);
|
output->edid_blob = eina_memdup(blob->data, blob->length, 1);
|
||||||
|
|
||||||
ret = _ecore_drm_output_edid_parse(output, blob->data, blob->length);
|
ret = _ecore_drm_output_edid_parse(output, blob->data, blob->length);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
|
@ -1235,10 +1235,27 @@ ecore_drm_output_backlight_get(Ecore_Drm_Output *output)
|
||||||
EAPI char *
|
EAPI char *
|
||||||
ecore_drm_output_edid_get(Ecore_Drm_Output *output)
|
ecore_drm_output_edid_get(Ecore_Drm_Output *output)
|
||||||
{
|
{
|
||||||
|
char *edid_str = NULL;
|
||||||
|
|
||||||
EINA_SAFETY_ON_NULL_RETURN_VAL(output, NULL);
|
EINA_SAFETY_ON_NULL_RETURN_VAL(output, NULL);
|
||||||
EINA_SAFETY_ON_NULL_RETURN_VAL(output->edid_blob, NULL);
|
EINA_SAFETY_ON_NULL_RETURN_VAL(output->edid_blob, NULL);
|
||||||
|
|
||||||
return strdup(output->edid_blob);
|
edid_str = malloc((128 * 2) + 1);
|
||||||
|
if (edid_str)
|
||||||
|
{
|
||||||
|
unsigned int k, kk;
|
||||||
|
const char *hexch = "0123456789abcdef";
|
||||||
|
|
||||||
|
for (kk = 0, k = 0; k < 128; k++)
|
||||||
|
{
|
||||||
|
edid_str[kk] = hexch[(output->edid_blob[k] >> 4) & 0xf];
|
||||||
|
edid_str[kk + 1] = hexch[output->edid_blob[k] & 0xf];
|
||||||
|
kk += 2;
|
||||||
|
}
|
||||||
|
edid_str[kk] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return edid_str;
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Eina_List *
|
EAPI Eina_List *
|
||||||
|
|
|
@ -123,7 +123,7 @@ struct _Ecore_Drm_Output
|
||||||
Ecore_Drm_Output_Mode *current_mode;
|
Ecore_Drm_Output_Mode *current_mode;
|
||||||
Eina_List *modes;
|
Eina_List *modes;
|
||||||
|
|
||||||
char *edid_blob;
|
unsigned char *edid_blob;
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue