drm/edid: add function to help find SADs
Add a function to find the start of the SADs in the ELD. This complements the helper to retrieve the SAD count. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
@ -347,6 +347,25 @@ static inline int drm_eld_mnl(const uint8_t *eld)
|
|||||||
return (eld[DRM_ELD_CEA_EDID_VER_MNL] & DRM_ELD_MNL_MASK) >> DRM_ELD_MNL_SHIFT;
|
return (eld[DRM_ELD_CEA_EDID_VER_MNL] & DRM_ELD_MNL_MASK) >> DRM_ELD_MNL_SHIFT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* drm_eld_sad - Get ELD SAD structures.
|
||||||
|
* @eld: pointer to an eld memory structure with sad_count set
|
||||||
|
*/
|
||||||
|
static inline const uint8_t *drm_eld_sad(const uint8_t *eld)
|
||||||
|
{
|
||||||
|
unsigned int ver, mnl;
|
||||||
|
|
||||||
|
ver = (eld[DRM_ELD_VER] & DRM_ELD_VER_MASK) >> DRM_ELD_VER_SHIFT;
|
||||||
|
if (ver != 2 && ver != 31)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
mnl = drm_eld_mnl(eld);
|
||||||
|
if (mnl > 16)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return eld + DRM_ELD_CEA_SAD(mnl, 0);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* drm_eld_sad_count - Get ELD SAD count.
|
* drm_eld_sad_count - Get ELD SAD count.
|
||||||
* @eld: pointer to an eld memory structure with sad_count set
|
* @eld: pointer to an eld memory structure with sad_count set
|
||||||
|
Reference in New Issue
Block a user