drm_edid_to_eld: check for CEA data blocks only from structure revision 3 on
Subsystems (2)
PATCH 1/1 drm_edid_to_eld: check for CEA data blocks only from structure revision 3 on
CEA datablocks are only defined from revision 3 onwards. Only check for them if the revision says so.
Signed-of-by Christian Schmidt <[email protected]>
drivers/gpu/drm/drm_edid.c +22 -19
@@ -1459,26 +1459,29 @@ eld[18 ] = edid->prod_code[0 ]; eld[19 ] = edid->prod_code[1 ]; -for (db = cea +4 ; db < cea + cea[2 ]; db += dbl +1 ) { - dbl = db[0 ] &0x1f ; - -switch ((db[0 ] &0xe0 ) >>5 ) { -case AUDIO_BLOCK :/* Audio Data Block, contains SADs */ - sad_count = dbl /3 ; -memcpy (eld +20 + mnl, &db[1 ], dbl); -break ; -case SPEAKER_BLOCK :/* Speaker Allocation Data Block */ - eld[7 ] = db[1 ]; -break ; -case VENDOR_BLOCK : -/* HDMI Vendor-Specific Data Block */ -if (db[1 ] ==0x03 && db[2 ] ==0x0c && db[3 ] ==0 ) -parse_hdmi_vsdb (connector, db); -break ; -default : -break ; +if (cea[1 ] >=3 ) +for (db = cea +4 ; db < cea + cea[2 ]; db += dbl +1 ) { + dbl = db[0 ] &0x1f ; + +switch ((db[0 ] &0xe0 ) >>5 ) { +case AUDIO_BLOCK : +/* Audio Data Block, contains SADs */ + sad_count = dbl /3 ; +memcpy (eld +20 + mnl, &db[1 ], dbl); +break ; +case SPEAKER_BLOCK : +/* Speaker Allocation Data Block */ + eld[7 ] = db[1 ]; +break ; +case VENDOR_BLOCK : +/* HDMI Vendor-Specific Data Block */ +if (db[1 ] ==0x03 && db[2 ] ==0x0c && db[3 ] ==0 ) +parse_hdmi_vsdb (connector, db); +break ; +default : +break ; + } } - } eld[5 ] |= sad_count <<4 ; eld[2 ] = (20 + mnl + sad_count *3 +3 ) /4 ;
_______________________________________________
dri-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dri-devel
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"CS" == Christian Schmidt <[email protected]> writes:
CS> CEA datablocks are only defined from revision 3 onwards. Only check for CS> them if the revision says so.
CS> Signed-of-by: Christian Schmidt <[email protected]>
Tested-by James Cloos <[email protected]>
Works fine here on top of Linus’ 7f80850d3f9f with a Radeon HD 4290 and an hdmi-connected tv.
-JimC
Signature · 5 lines
James Cloos <[email protected]> OpenPGP: 1024D/ED7DAEA6 _______________________________________________ dri-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/dri-devel