mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-15 09:34:17 +00:00
drm/edid: parse source physical address
CEC needs the source physical address. Parsing it is trivial with the existing EDID CEA DB infrastructure. Default to CEC_PHYS_ADDR_INVALID (0xffff) instead of 0 to cater for easier CEC usage. Cc: Hans Verkuil <hverkuil-cisco@xs4all.nl> Cc: linux-media@vger.kernel.org Signed-off-by: Jani Nikula <jani.nikula@intel.com> Reviewed-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Acked-by: Maxime Ripard <mripard@kernel.org> Link: https://patchwork.freedesktop.org/patch/msgid/8c6b6403932536b6849e0b44e1ee6e7ebdbe4a69.1692884619.git.jani.nikula@intel.com
This commit is contained in:
parent
e1039cde68
commit
82b599ece3
@ -29,6 +29,7 @@
|
||||
*/
|
||||
|
||||
#include <linux/bitfield.h>
|
||||
#include <linux/cec.h>
|
||||
#include <linux/hdmi.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/kernel.h>
|
||||
@ -6205,6 +6206,8 @@ drm_parse_hdmi_vsdb_video(struct drm_connector *connector, const u8 *db)
|
||||
|
||||
info->is_hdmi = true;
|
||||
|
||||
info->source_physical_address = (db[4] << 8) | db[5];
|
||||
|
||||
if (len >= 6)
|
||||
info->dvi_dual = db[6] & 1;
|
||||
if (len >= 7)
|
||||
@ -6483,6 +6486,8 @@ static void drm_reset_display_info(struct drm_connector *connector)
|
||||
info->vics_len = 0;
|
||||
|
||||
info->quirks = 0;
|
||||
|
||||
info->source_physical_address = CEC_PHYS_ADDR_INVALID;
|
||||
}
|
||||
|
||||
static void update_displayid_info(struct drm_connector *connector,
|
||||
|
@ -816,6 +816,14 @@ struct drm_display_info {
|
||||
* @quirks: EDID based quirks. Internal to EDID parsing.
|
||||
*/
|
||||
u32 quirks;
|
||||
|
||||
/**
|
||||
* @source_physical_address: Source Physical Address from HDMI
|
||||
* Vendor-Specific Data Block, for CEC usage.
|
||||
*
|
||||
* Defaults to CEC_PHYS_ADDR_INVALID (0xffff).
|
||||
*/
|
||||
u16 source_physical_address;
|
||||
};
|
||||
|
||||
int drm_display_info_set_bus_formats(struct drm_display_info *info,
|
||||
|
Loading…
x
Reference in New Issue
Block a user