Bug 111572

Summary: Changing the "Broadcast RGB" property does not update the AVI InfoFrame
Product: DRI Reporter: Hans Verkuil <hverkuil>
Component: DRM/IntelAssignee: Intel GFX Bugs mailing list <intel-gfx-bugs>
Status: RESOLVED MOVED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: major    
Priority: high CC: intel-gfx-bugs, shashank.sharma, swati2.sharma
Version: DRI git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard: Triaged, ReadyForDev
i915 platform: KBL i915 features: display/LSPCON
Attachments:
Description Flags
Log with drm.debug=0x1e when setting Broadcast RGB none

Description Hans Verkuil 2019-09-06 13:14:38 UTC
Changing the "Broadcast RGB" property while connected to a display will not update the AVI InfoFrame (drm_hdmi_avi_infoframe_quant_range). It does change the video itself, but the AVI InfoFrame is unchanged until you unplug and replug the display.

As far as I can tell, intel_hdmi_compute_avi_infoframe() is only called when something is connected to the HDMI output, and not when relevant properties are changed.

Tested with kernel 5.3-rc4.
Comment 1 Ville Syrjala 2019-09-06 13:57:17 UTC
On HDMI this should result in a full modeset. Can you grab a full dmesg with drm.debug=0x1e so we can see what happens when you change the prop value?
Comment 2 Hans Verkuil 2019-09-10 14:01:56 UTC
Created attachment 145322 [details]
Log with drm.debug=0x1e when setting Broadcast RGB

Attached is prop.log. I added a pr_info in intel_digital_connector_atomic_set_property() when the Broadcast RGB property changes ("HV: set broadcast_rgb to 1").

Note that I'm testing on an Intel NUC7i5BNB where DP-1 is a DP-to-HDMI branch device (MegaChips 2800). So it is not a native HDMI device.

I'm happy to test more if needed.
Comment 3 Ville Syrjala 2019-09-10 14:15:28 UTC
(In reply to Hans Verkuil from comment #2)
> Created attachment 145322 [details]
> Log with drm.debug=0x1e when setting Broadcast RGB
> 
> Attached is prop.log. I added a pr_info in
> intel_digital_connector_atomic_set_property() when the Broadcast RGB
> property changes ("HV: set broadcast_rgb to 1").
> 
> Note that I'm testing on an Intel NUC7i5BNB where DP-1 is a DP-to-HDMI
> branch device (MegaChips 2800). So it is not a native HDMI device.
> 
> I'm happy to test more if needed.

Ah LSPCON. Yeah that's probably borked because we have no readout and hence the infoframe state checker isn't hooked up either, and so the code doesn't realize it needs a full modeset to update the infoframe. Not the only problem in the LSPCON code unfortunately.
Comment 4 Lakshmi 2019-09-11 14:41:39 UTC
(In reply to Ville Syrjala from comment #3)
> (In reply to Hans Verkuil from comment #2)
> > Created attachment 145322 [details]
> > Log with drm.debug=0x1e when setting Broadcast RGB
> > 
> > Attached is prop.log. I added a pr_info in
> > intel_digital_connector_atomic_set_property() when the Broadcast RGB
> > property changes ("HV: set broadcast_rgb to 1").
> > 
> > Note that I'm testing on an Intel NUC7i5BNB where DP-1 is a DP-to-HDMI
> > branch device (MegaChips 2800). So it is not a native HDMI device.
> > 
> > I'm happy to test more if needed.
> 
> Ah LSPCON. Yeah that's probably borked because we have no readout and hence
> the infoframe state checker isn't hooked up either, and so the code doesn't
> realize it needs a full modeset to update the infoframe. Not the only
> problem in the LSPCON code unfortunately.

Swati/Shshank, Latest/upcoming FW will help here?
Comment 5 Ville Syrjala 2019-09-11 14:57:27 UTC
(In reply to Lakshmi from comment #4)
> (In reply to Ville Syrjala from comment #3)
> > (In reply to Hans Verkuil from comment #2)
> > > Created attachment 145322 [details]
> > > Log with drm.debug=0x1e when setting Broadcast RGB
> > > 
> > > Attached is prop.log. I added a pr_info in
> > > intel_digital_connector_atomic_set_property() when the Broadcast RGB
> > > property changes ("HV: set broadcast_rgb to 1").
> > > 
> > > Note that I'm testing on an Intel NUC7i5BNB where DP-1 is a DP-to-HDMI
> > > branch device (MegaChips 2800). So it is not a native HDMI device.
> > > 
> > > I'm happy to test more if needed.
> > 
> > Ah LSPCON. Yeah that's probably borked because we have no readout and hence
> > the infoframe state checker isn't hooked up either, and so the code doesn't
> > realize it needs a full modeset to update the infoframe. Not the only
> > problem in the LSPCON code unfortunately.
> 
> Swati/Shshank, Latest/upcoming FW will help here?

Firmware is no help here. The code needs to:
- precompute the infoframes properly
- read out the infoframe so that the state checker will work
- add a mechanims by which we can disable the infoframe (because I suspect currnely it's sending infoframes to DVI sinks)
Comment 6 Martin Peres 2019-11-29 19:26:13 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/drm/intel/issues/397.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.