On Mon, Aug 05, 2013 at 04:54:06PM +0300, Ville Syrjälä wrote:
On Mon, Aug 05, 2013 at 02:36:47PM +0100, Damien Lespiau wrote:
From CEA-861:
Data Byte 1, bit A0 indicates whether Active Format Data is present in Data Byte 2 bits R3 through R0. A source device shall set A0=1 when any of the AFD bits are set.
ie. if we want to set active_aspect, we need to set the active_info_valid bit to 1 as well.
Cc: Thierry Reding thierry.reding@avionic-design.de Signed-off-by: Damien Lespiau damien.lespiau@intel.com
Reviewed-by: Ville Syrjälä ville.syrjala@linux.intel.com
But why don't we just kill active_info_valid and instead just check active_aspect in hdmi_avi_infoframe_pack()?
Right, so I thought about that, I'd love to have an API that doesn't allow its user to do something wrong. My reflections so far:
1/ I did not want to depend on a fix that was outside of the drm/ directory for people that pull that directory between different kernels, they will end up missing the patch in video/hdmi.c.
On the other hand, we could just tell people to sync drivers/video/hdmi.c and include/linux/hdmi.h along with drm/.
2/ I was thinking that killing the _valid bits in the hdmi_avi_infoframe struct would not allow an _unpack() function that can check if the infoframe was valid.
Probably thinking too much though...