On Thu, Apr 05, 2018 at 10:08:57PM +0200, Daniel Vetter wrote: > On Thu, Apr 05, 2018 at 10:50:29PM +0300, Ville Syrjala wrote: > > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > > > We want to stop using plane->fb with atomic driver, so stop looking at > > it. > > > > I have no idea what this code is trying to achieve. There is no > > corresponding check in the enable path. Also since > > arc_pgu_set_pxl_fmt() will anyway oops if there is no fb I'm going > > to assuming that I can just remove the check entirely. There seems > > to be a general shortage of .atomic_check() in this driver... > > I think arcpgu is the perfect example of a small driver that _really_ > wants to use drm_simple_display_pipe_helper. Which would address the > outright lack of any and all atomic_check code (beyond basic mode > validation through mode_valid). > > I also just noticed that it still has a bunch of the legacy hooks set, > e.g. mode_set, mode_set_base are all no longer used in atomic. > > I think the code won't be able to oops, since if there's no fb, we don't > enable the plane (and it happily allows that), so should be all > non-oopsing. Even with this check here removed. arc_pgu_set_pxl_fmt() gets called from the .mode_set_nofb() hook which I assume doesn't care about planes at all. So to me it looks like it'll definitely oops. > > Ofc the hw might get pissed at us in this case, but I can't tell that. > Like I said, conversion to drm_simple_display_pipe_helper is probably the > way to go. > > Anyway, this patch here looks good, if you adjust the commit message to > explain why it can't oops: > > Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > > > > > Cc: Alexey Brodkin <abrodkin@xxxxxxxxxxxx> > > Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> > > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > --- > > drivers/gpu/drm/arc/arcpgu_crtc.c | 3 --- > > 1 file changed, 3 deletions(-) > > > > diff --git a/drivers/gpu/drm/arc/arcpgu_crtc.c b/drivers/gpu/drm/arc/arcpgu_crtc.c > > index 16903dc7fe0d..c3349b8fb58b 100644 > > --- a/drivers/gpu/drm/arc/arcpgu_crtc.c > > +++ b/drivers/gpu/drm/arc/arcpgu_crtc.c > > @@ -136,9 +136,6 @@ static void arc_pgu_crtc_atomic_disable(struct drm_crtc *crtc, > > { > > struct arcpgu_drm_private *arcpgu = crtc_to_arcpgu_priv(crtc); > > > > - if (!crtc->primary->fb) > > - return; > > - > > clk_disable_unprepare(arcpgu->clk); > > arc_pgu_write(arcpgu, ARCPGU_REG_CTRL, > > arc_pgu_read(arcpgu, ARCPGU_REG_CTRL) & > > -- > > 2.16.1 > > > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch -- Ville Syrjälä Intel OTC _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel