Message ID | 20200713225345.20556-3-jonathan@marek.ca (mailing list archive) |
---|---|
State | Accepted |
Commit | 0ded520b182e13277e1076f84ca16247eb9bf150 |
Headers | show |
Series | drm/msm: handle for EPROBE_DEFER for of_icc_get | expand |
On Mon, Jul 13, 2020 at 06:53:41PM -0400, Jonathan Marek wrote: > These never get set back to 0 when probing fails, so an attempt to probe > again results in broken behavior. Fix the problem by setting thse to zero > before they are used. Reviewed-by: Jordan Crouse <jcrouse@codeaurora.org> > Signed-off-by: Jonathan Marek <jonathan@marek.ca> > --- > drivers/gpu/drm/msm/msm_gpu.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c > index a22d30622306..aa9775ab52f0 100644 > --- a/drivers/gpu/drm/msm/msm_gpu.c > +++ b/drivers/gpu/drm/msm/msm_gpu.c > @@ -93,7 +93,11 @@ static void msm_devfreq_init(struct msm_gpu *gpu) > /* > * Don't set the freq_table or max_state and let devfreq build the table > * from OPP > + * After a deferred probe, these may have be left to non-zero values, > + * so set them back to zero before creating the devfreq device > */ > + msm_devfreq_profile.freq_table = NULL; > + msm_devfreq_profile.max_state = 0; > > gpu->devfreq.devfreq = devm_devfreq_add_device(&gpu->pdev->dev, > &msm_devfreq_profile, DEVFREQ_GOV_SIMPLE_ONDEMAND, > -- > 2.26.1 > > _______________________________________________ > Freedreno mailing list > Freedreno@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/freedreno
diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c index a22d30622306..aa9775ab52f0 100644 --- a/drivers/gpu/drm/msm/msm_gpu.c +++ b/drivers/gpu/drm/msm/msm_gpu.c @@ -93,7 +93,11 @@ static void msm_devfreq_init(struct msm_gpu *gpu) /* * Don't set the freq_table or max_state and let devfreq build the table * from OPP + * After a deferred probe, these may have be left to non-zero values, + * so set them back to zero before creating the devfreq device */ + msm_devfreq_profile.freq_table = NULL; + msm_devfreq_profile.max_state = 0; gpu->devfreq.devfreq = devm_devfreq_add_device(&gpu->pdev->dev, &msm_devfreq_profile, DEVFREQ_GOV_SIMPLE_ONDEMAND,
These never get set back to 0 when probing fails, so an attempt to probe again results in broken behavior. Fix the problem by setting thse to zero before they are used. Signed-off-by: Jonathan Marek <jonathan@marek.ca> --- drivers/gpu/drm/msm/msm_gpu.c | 4 ++++ 1 file changed, 4 insertions(+)