Message ID | 20180207174027.24468-1-thierry.reding@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Reviewed-by: Lyude Paul <lyude@redhat.com> On Wed, 2018-02-07 at 18:40 +0100, Thierry Reding wrote: > From: Thierry Reding <treding@nvidia.com> > > The recently introduced clock gate support breaks on Tegra chips because > no thermal support is enabled for those devices. Conditionalize the code > on the existence of thermal support to fix this. > > Fixes: b138eca661cc ("drm/nouveau: Add support for basic clockgating on > Kepler1") > Cc: Martin Peres <martin.peres@free.fr> > Cc: Lyude Paul <lyude@redhat.com> > Signed-off-by: Thierry Reding <treding@nvidia.com> > --- > drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c > b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c > index bf62303571b3..3695cde669f8 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c > +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c > @@ -301,7 +301,7 @@ nvkm_therm_attr_set(struct nvkm_therm *therm, > void > nvkm_therm_clkgate_enable(struct nvkm_therm *therm) > { > - if (!therm->func->clkgate_enable || !therm->clkgating_enabled) > + if (!therm || !therm->func->clkgate_enable || !therm- > >clkgating_enabled) > return; > > nvkm_debug(&therm->subdev, > @@ -312,7 +312,7 @@ nvkm_therm_clkgate_enable(struct nvkm_therm *therm) > void > nvkm_therm_clkgate_fini(struct nvkm_therm *therm, bool suspend) > { > - if (!therm->func->clkgate_fini || !therm->clkgating_enabled) > + if (!therm || !therm->func->clkgate_fini || !therm- > >clkgating_enabled) > return; > > nvkm_debug(&therm->subdev, > @@ -395,7 +395,7 @@ void > nvkm_therm_clkgate_init(struct nvkm_therm *therm, > const struct nvkm_therm_clkgate_pack *p) > { > - if (!therm->func->clkgate_init || !therm->clkgating_enabled) > + if (!therm || !therm->func->clkgate_init || !therm- > >clkgating_enabled) > return; > > therm->func->clkgate_init(therm, p);
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c index bf62303571b3..3695cde669f8 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/therm/base.c @@ -301,7 +301,7 @@ nvkm_therm_attr_set(struct nvkm_therm *therm, void nvkm_therm_clkgate_enable(struct nvkm_therm *therm) { - if (!therm->func->clkgate_enable || !therm->clkgating_enabled) + if (!therm || !therm->func->clkgate_enable || !therm->clkgating_enabled) return; nvkm_debug(&therm->subdev, @@ -312,7 +312,7 @@ nvkm_therm_clkgate_enable(struct nvkm_therm *therm) void nvkm_therm_clkgate_fini(struct nvkm_therm *therm, bool suspend) { - if (!therm->func->clkgate_fini || !therm->clkgating_enabled) + if (!therm || !therm->func->clkgate_fini || !therm->clkgating_enabled) return; nvkm_debug(&therm->subdev, @@ -395,7 +395,7 @@ void nvkm_therm_clkgate_init(struct nvkm_therm *therm, const struct nvkm_therm_clkgate_pack *p) { - if (!therm->func->clkgate_init || !therm->clkgating_enabled) + if (!therm || !therm->func->clkgate_init || !therm->clkgating_enabled) return; therm->func->clkgate_init(therm, p);