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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Oct 26, 2016 at 04:02:57PM +0200, Daniel Vetter wrote:
> On Wed, Oct 26, 2016 at 04:35:50PM +0300, Ville Syrjälä wrote:
> > On Wed, Oct 26, 2016 at 04:30:33PM +0300, ville.syrjala@xxxxxxxxxxxxxxx wrote:
> > > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> > > 
> > > 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@xxxxxxxx>
> > > Cc: stable@xxxxxxxxxxxxxxx
> > > Cc: Carlos Santa <carlos.santa@xxxxxxxxx>
> > > Cc: Kirill A. Shutemov <kirill@xxxxxxxxxxxxx>
> > > Tested-by: Carlos Santa <carlos.santa@xxxxxxxxx> (v1)
> > > Tested-by: Kirill A. Shutemov <kirill@xxxxxxxxxxxxx> (v1)
> > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97666
> > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> > > ---
> > >  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.
> 
> With the commit message amended like you say here:
> 
> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx>

Bikeshedded while applying and put the bunch into drm-misc-fixes.
-Daniel

> 
> > 
> > >  	}
> > >  	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@xxxxxxxxxxxxxxxxxxxxx
> > > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> > 
> > -- 
> > Ville Syrjälä
> > Intel OTC
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@xxxxxxxxxxxxxxxxxxxxx
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux