[Intel-gfx] [PATCH] drm/i915: Do not create a new max_bpc prop for MST connectors
Li, Sun peng (Leo)
Sunpeng.Li at amd.com
Wed Aug 21 17:33:50 UTC 2019
On 2019-08-20 12:16 p.m., Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> We're not allowed to create new properties after device registration
> so for MST connectors we need to either create the max_bpc property
> earlier, or we reuse one we already have. Let's do the latter apporach
> since the corresponding SST connector already has the prop and its
> min/max are correct also for the MST connector.
>
> The problem was highlighted by commit 4f5368b5541a ("drm/kms:
> Catch mode_object lifetime errors") which results in the following
> spew:
> [ 1330.878941] WARNING: CPU: 2 PID: 1554 at drivers/gpu/drm/drm_mode_object.c:45 __drm_mode_object_add+0xa0/0xb0 [drm]
> ...
> [ 1330.879008] Call Trace:
> [ 1330.879023] drm_property_create+0xba/0x180 [drm]
> [ 1330.879036] drm_property_create_range+0x15/0x30 [drm]
> [ 1330.879048] drm_connector_attach_max_bpc_property+0x62/0x80 [drm]
> [ 1330.879086] intel_dp_add_mst_connector+0x11f/0x140 [i915]
> [ 1330.879094] drm_dp_add_port.isra.20+0x20b/0x440 [drm_kms_helper]
> ...
>
> Cc: stable at vger.kernel.org
> Cc: Lyude Paul <lyude at redhat.com>
> Cc: sunpeng.li at amd.com
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> Cc: Sean Paul <sean at poorly.run>
> Fixes: 5ca0ef8a56b8 ("drm/i915: Add max_bpc property for DP MST")
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
Thanks for following up, I had forgotten about this issue.
Reviewed-by: Leo Li <sunpeng.li at amd.com>
> ---
> drivers/gpu/drm/i915/display/intel_dp_mst.c | 10 +++++++++-
> 1 file changed, 9 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp_mst.c b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> index 83faa246e361..9748581c1d62 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp_mst.c
> @@ -536,7 +536,15 @@ static struct drm_connector *intel_dp_add_mst_connector(struct drm_dp_mst_topolo
>
> intel_attach_force_audio_property(connector);
> intel_attach_broadcast_rgb_property(connector);
> - drm_connector_attach_max_bpc_property(connector, 6, 12);
> +
> + /*
> + * Reuse the prop from the SST connector because we're
> + * not allowed to create new props after device registration.
> + */
> + connector->max_bpc_property =
> + intel_dp->attached_connector->base.max_bpc_property;
> + if (connector->max_bpc_property)
> + drm_connector_attach_max_bpc_property(connector, 6, 12);
>
> return connector;
>
>
More information about the Intel-gfx
mailing list