Message ID | 20240309014732.722139-1-tjakobi@math.uni-bielefeld.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/amd/display: Add MSF panel to DPCD 0x317 patch list | expand |
On 3/9/24 02:47, tjakobi@math.uni-bielefeld.de wrote: > From: Tobias Jakobi <tjakobi@math.uni-bielefeld.de> > > This 8.4 inch panel is integrated in the Ayaneo Kun handheld > device. The panel resolution is 2560×1600, i.e. it has > portrait dimensions. > > Decoding the EDID shows: > Manufacturer: MSF > Model: 4099 > Display Product Name: 'TV080WUM-NL0 ' > > Judging from the product name this might be a clone of a > BOE panel, but with larger dimensions. > > Panel frequently shows non-functional backlight control. Adding > some debug prints to update_connector_ext_caps() shows that > something the OLED bit of ext_caps is set, and then the driver > assumes that backlight is controlled via AUX. > > Forcing backlight control to PWM via amdgpu.backlight=0 restores > backlight operation. > > Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de> > --- > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c > index 7a09a72e182f..5a017ba94e3c 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c > @@ -68,6 +68,7 @@ static void apply_edid_quirks(struct edid *edid, struct dc_edid_caps *edid_caps) > case drm_edid_encode_panel_id('A', 'U', 'O', 0xE69B): > case drm_edid_encode_panel_id('B', 'O', 'E', 0x092A): > case drm_edid_encode_panel_id('L', 'G', 'D', 0x06D1): > + case drm_edid_encode_panel_id('M', 'S', 'F', 0x1003): > DRM_DEBUG_DRIVER("Clearing DPCD 0x317 on monitor with panel id %X\n", panel_id); > edid_caps->panel_patch.remove_sink_ext_caps = true; > break; Gentle ping...
On 3/9/24 02:47, tjakobi@math.uni-bielefeld.de wrote: > From: Tobias Jakobi <tjakobi@math.uni-bielefeld.de> > > This 8.4 inch panel is integrated in the Ayaneo Kun handheld > device. The panel resolution is 2560×1600, i.e. it has > portrait dimensions. > > Decoding the EDID shows: > Manufacturer: MSF > Model: 4099 > Display Product Name: 'TV080WUM-NL0 ' > > Judging from the product name this might be a clone of a > BOE panel, but with larger dimensions. > > Panel frequently shows non-functional backlight control. Adding > some debug prints to update_connector_ext_caps() shows that > something the OLED bit of ext_caps is set, and then the driver > assumes that backlight is controlled via AUX. > > Forcing backlight control to PWM via amdgpu.backlight=0 restores > backlight operation. > > Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de> > --- > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c > index 7a09a72e182f..5a017ba94e3c 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c > @@ -68,6 +68,7 @@ static void apply_edid_quirks(struct edid *edid, struct dc_edid_caps *edid_caps) > case drm_edid_encode_panel_id('A', 'U', 'O', 0xE69B): > case drm_edid_encode_panel_id('B', 'O', 'E', 0x092A): > case drm_edid_encode_panel_id('L', 'G', 'D', 0x06D1): > + case drm_edid_encode_panel_id('M', 'S', 'F', 0x1003): > DRM_DEBUG_DRIVER("Clearing DPCD 0x317 on monitor with panel id %X\n", panel_id); > edid_caps->panel_patch.remove_sink_ext_caps = true; > break; Another gentle ping!
Applied. Thanks! On Fri, Mar 8, 2024 at 8:58 PM <tjakobi@math.uni-bielefeld.de> wrote: > > From: Tobias Jakobi <tjakobi@math.uni-bielefeld.de> > > This 8.4 inch panel is integrated in the Ayaneo Kun handheld > device. The panel resolution is 2560×1600, i.e. it has > portrait dimensions. > > Decoding the EDID shows: > Manufacturer: MSF > Model: 4099 > Display Product Name: 'TV080WUM-NL0 ' > > Judging from the product name this might be a clone of a > BOE panel, but with larger dimensions. > > Panel frequently shows non-functional backlight control. Adding > some debug prints to update_connector_ext_caps() shows that > something the OLED bit of ext_caps is set, and then the driver > assumes that backlight is controlled via AUX. > > Forcing backlight control to PWM via amdgpu.backlight=0 restores > backlight operation. > > Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de> > --- > drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c > index 7a09a72e182f..5a017ba94e3c 100644 > --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c > +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c > @@ -68,6 +68,7 @@ static void apply_edid_quirks(struct edid *edid, struct dc_edid_caps *edid_caps) > case drm_edid_encode_panel_id('A', 'U', 'O', 0xE69B): > case drm_edid_encode_panel_id('B', 'O', 'E', 0x092A): > case drm_edid_encode_panel_id('L', 'G', 'D', 0x06D1): > + case drm_edid_encode_panel_id('M', 'S', 'F', 0x1003): > DRM_DEBUG_DRIVER("Clearing DPCD 0x317 on monitor with panel id %X\n", panel_id); > edid_caps->panel_patch.remove_sink_ext_caps = true; > break; > -- > 2.43.0 >
diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c index 7a09a72e182f..5a017ba94e3c 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c @@ -68,6 +68,7 @@ static void apply_edid_quirks(struct edid *edid, struct dc_edid_caps *edid_caps) case drm_edid_encode_panel_id('A', 'U', 'O', 0xE69B): case drm_edid_encode_panel_id('B', 'O', 'E', 0x092A): case drm_edid_encode_panel_id('L', 'G', 'D', 0x06D1): + case drm_edid_encode_panel_id('M', 'S', 'F', 0x1003): DRM_DEBUG_DRIVER("Clearing DPCD 0x317 on monitor with panel id %X\n", panel_id); edid_caps->panel_patch.remove_sink_ext_caps = true; break;