diff options
author | Souptick Joarder <jrdr.linux@gmail.com> | 2018-07-31 16:07:05 -0400 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2018-09-18 10:53:54 -0400 |
commit | 53f1e0620b9b67f786b23c7e7fee96323bf2aa45 (patch) | |
tree | eca100f53378ee7bc1af15ac52bd960a7d8d3b14 | |
parent | 5b394b2ddf0347bef56e50c69a58773c94343ff3 (diff) |
drm/tegra: Convert drm_atomic_helper_suspend/resume()
convert drm_atomic_helper_suspend/resume() to use
drm_mode_config_helper_suspend/resume().
With this conversion, tegra_drm_fb_suspend() and
tegra_drm_fb_resume() will not be used anymore.
Both of these functions can be removed.
Also, in tegra_drm struct's member state will not be
used anymore. So this can be removed forever.
Fixed one sparse warning.
Signed-off-by: Souptick Joarder <jrdr.linux@gmail.com>
Signed-off-by: Ajit Negi <ajitn.linux@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
-rw-r--r-- | drivers/gpu/drm/tegra/drm.c | 20 | ||||
-rw-r--r-- | drivers/gpu/drm/tegra/drm.h | 4 | ||||
-rw-r--r-- | drivers/gpu/drm/tegra/fb.c | 24 |
3 files changed, 3 insertions, 45 deletions
diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index a2bd5876c633..9a0efcea217a 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c | |||
@@ -1212,31 +1212,15 @@ static int host1x_drm_remove(struct host1x_device *dev) | |||
1212 | static int host1x_drm_suspend(struct device *dev) | 1212 | static int host1x_drm_suspend(struct device *dev) |
1213 | { | 1213 | { |
1214 | struct drm_device *drm = dev_get_drvdata(dev); | 1214 | struct drm_device *drm = dev_get_drvdata(dev); |
1215 | struct tegra_drm *tegra = drm->dev_private; | ||
1216 | |||
1217 | drm_kms_helper_poll_disable(drm); | ||
1218 | tegra_drm_fb_suspend(drm); | ||
1219 | |||
1220 | tegra->state = drm_atomic_helper_suspend(drm); | ||
1221 | if (IS_ERR(tegra->state)) { | ||
1222 | tegra_drm_fb_resume(drm); | ||
1223 | drm_kms_helper_poll_enable(drm); | ||
1224 | return PTR_ERR(tegra->state); | ||
1225 | } | ||
1226 | 1215 | ||
1227 | return 0; | 1216 | return drm_mode_config_helper_suspend(drm); |
1228 | } | 1217 | } |
1229 | 1218 | ||
1230 | static int host1x_drm_resume(struct device *dev) | 1219 | static int host1x_drm_resume(struct device *dev) |
1231 | { | 1220 | { |
1232 | struct drm_device *drm = dev_get_drvdata(dev); | 1221 | struct drm_device *drm = dev_get_drvdata(dev); |
1233 | struct tegra_drm *tegra = drm->dev_private; | ||
1234 | 1222 | ||
1235 | drm_atomic_helper_resume(drm, tegra->state); | 1223 | return drm_mode_config_helper_resume(drm); |
1236 | tegra_drm_fb_resume(drm); | ||
1237 | drm_kms_helper_poll_enable(drm); | ||
1238 | |||
1239 | return 0; | ||
1240 | } | 1224 | } |
1241 | #endif | 1225 | #endif |
1242 | 1226 | ||
diff --git a/drivers/gpu/drm/tegra/drm.h b/drivers/gpu/drm/tegra/drm.h index 92d248784396..1012335bb489 100644 --- a/drivers/gpu/drm/tegra/drm.h +++ b/drivers/gpu/drm/tegra/drm.h | |||
@@ -60,8 +60,6 @@ struct tegra_drm { | |||
60 | unsigned int pitch_align; | 60 | unsigned int pitch_align; |
61 | 61 | ||
62 | struct tegra_display_hub *hub; | 62 | struct tegra_display_hub *hub; |
63 | |||
64 | struct drm_atomic_state *state; | ||
65 | }; | 63 | }; |
66 | 64 | ||
67 | struct tegra_drm_client; | 65 | struct tegra_drm_client; |
@@ -186,8 +184,6 @@ int tegra_drm_fb_prepare(struct drm_device *drm); | |||
186 | void tegra_drm_fb_free(struct drm_device *drm); | 184 | void tegra_drm_fb_free(struct drm_device *drm); |
187 | int tegra_drm_fb_init(struct drm_device *drm); | 185 | int tegra_drm_fb_init(struct drm_device *drm); |
188 | void tegra_drm_fb_exit(struct drm_device *drm); | 186 | void tegra_drm_fb_exit(struct drm_device *drm); |
189 | void tegra_drm_fb_suspend(struct drm_device *drm); | ||
190 | void tegra_drm_fb_resume(struct drm_device *drm); | ||
191 | 187 | ||
192 | extern struct platform_driver tegra_display_hub_driver; | 188 | extern struct platform_driver tegra_display_hub_driver; |
193 | extern struct platform_driver tegra_dc_driver; | 189 | extern struct platform_driver tegra_dc_driver; |
diff --git a/drivers/gpu/drm/tegra/fb.c b/drivers/gpu/drm/tegra/fb.c index 4c22cdded3c2..b947e82bbeb1 100644 --- a/drivers/gpu/drm/tegra/fb.c +++ b/drivers/gpu/drm/tegra/fb.c | |||
@@ -356,7 +356,7 @@ static void tegra_fbdev_exit(struct tegra_fbdev *fbdev) | |||
356 | /* Undo the special mapping we made in fbdev probe. */ | 356 | /* Undo the special mapping we made in fbdev probe. */ |
357 | if (bo && bo->pages) { | 357 | if (bo && bo->pages) { |
358 | vunmap(bo->vaddr); | 358 | vunmap(bo->vaddr); |
359 | bo->vaddr = 0; | 359 | bo->vaddr = NULL; |
360 | } | 360 | } |
361 | 361 | ||
362 | drm_framebuffer_remove(fbdev->fb); | 362 | drm_framebuffer_remove(fbdev->fb); |
@@ -412,25 +412,3 @@ void tegra_drm_fb_exit(struct drm_device *drm) | |||
412 | tegra_fbdev_exit(tegra->fbdev); | 412 | tegra_fbdev_exit(tegra->fbdev); |
413 | #endif | 413 | #endif |
414 | } | 414 | } |
415 | |||
416 | void tegra_drm_fb_suspend(struct drm_device *drm) | ||
417 | { | ||
418 | #ifdef CONFIG_DRM_FBDEV_EMULATION | ||
419 | struct tegra_drm *tegra = drm->dev_private; | ||
420 | |||
421 | console_lock(); | ||
422 | drm_fb_helper_set_suspend(&tegra->fbdev->base, 1); | ||
423 | console_unlock(); | ||
424 | #endif | ||
425 | } | ||
426 | |||
427 | void tegra_drm_fb_resume(struct drm_device *drm) | ||
428 | { | ||
429 | #ifdef CONFIG_DRM_FBDEV_EMULATION | ||
430 | struct tegra_drm *tegra = drm->dev_private; | ||
431 | |||
432 | console_lock(); | ||
433 | drm_fb_helper_set_suspend(&tegra->fbdev->base, 0); | ||
434 | console_unlock(); | ||
435 | #endif | ||
436 | } | ||