[PATCH] drm: Don't generate invalid AVI infoframes for CEA modes

Damien Lespiau damien.lespiau at intel.com
Mon Aug 5 07:13:07 PDT 2013


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 at avionic-design.de>
> > Signed-off-by: Damien Lespiau <damien.lespiau at intel.com>
> 
> Reviewed-by: Ville Syrjälä <ville.syrjala at 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...

-- 
Damien


More information about the dri-devel mailing list