[PATCH v2 3/4] drm/dp/mst: Clear port->pdt when tearing down the i2c adapter

Ville Syrjälä ville.syrjala at linux.intel.com
Wed Oct 26 13:35:50 UTC 2016


On Wed, Oct 26, 2016 at 04:30:33PM +0300, ville.syrjala at linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> The i2c adapter is only relevant for some peer device types, so
> let's clear the pdt if it's still the same as the old_pdt when we
> tear down the i2c adapter.
> 
> I don't really like this design pattern of updating port->whatever
> before doing the accompanying changes and passing around old_whatever
> to figure stuff out. Would make much more sense to me to the pass the
> new value around and only update the port->whatever when things are
> consistent. But let's try to work with what we have right now.
> 
> v2: Clear port->pdt in the caller, if needed (Daniel)
> 
> Cc: Daniel Vetter <daniel at ffwll.ch>
> Cc: stable at vger.kernel.org
> Cc: Carlos Santa <carlos.santa at intel.com>
> Cc: Kirill A. Shutemov <kirill at shutemov.name>
> Tested-by: Carlos Santa <carlos.santa at intel.com> (v1)
> Tested-by: Kirill A. Shutemov <kirill at shutemov.name> (v1)
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97666
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>  drivers/gpu/drm/drm_dp_mst_topology.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
> index 04e457117980..ba13f9d8720b 100644
> --- a/drivers/gpu/drm/drm_dp_mst_topology.c
> +++ b/drivers/gpu/drm/drm_dp_mst_topology.c
> @@ -914,6 +914,7 @@ static void drm_dp_destroy_port(struct kref *kref)
>  		/* no need to clean up vcpi
>  		 * as if we have no connector we never setup a vcpi */
>  		drm_dp_port_teardown_pdt(port, port->pdt);
> +		port->pdt = DP_PEER_DEVICE_NONE;

And naturally I forgot to amend the commit message w.r.t. this guy.
We don't really need to do this here, but I figured I'd try to be a
bit more consistent by having it, just to avoid accidental mistakes
if/when someone changes this stuff again later.

>  	}
>  	kfree(port);
>  }
> @@ -2919,6 +2920,7 @@ static void drm_dp_destroy_connector_work(struct work_struct *work)
>  		mgr->cbs->destroy_connector(mgr, port->connector);
>  
>  		drm_dp_port_teardown_pdt(port, port->pdt);
> +		port->pdt = DP_PEER_DEVICE_NONE;
>  
>  		if (!port->input && port->vcpi.vcpi > 0) {
>  			drm_dp_mst_reset_vcpi_slots(mgr, port);
> -- 
> 2.7.4
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Ville Syrjälä
Intel OTC


More information about the dri-devel mailing list