summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/tegra/drm.c
diff options
context:
space:
mode:
authorThomas Zimmermann <tzimmermann@suse.de>2023-04-16 18:50:39 +0200
committerThomas Zimmermann <tzimmermann@suse.de>2023-04-16 20:11:53 +0200
commit7f6f26d7adee150e09d7537acc6d6894c27c0b7a (patch)
tree8706529cde6e982b9382fc6bf83b3ff470493342 /drivers/gpu/drm/tegra/drm.c
parent116b1c5a364bcbdc40be64d4f3ec9dbc32e264dd (diff)
parentafa351a15d80993f8ba6ae28652cc23127237e37 (diff)
downloadlinux-stable-7f6f26d7adee150e09d7537acc6d6894c27c0b7a.tar.gz
linux-stable-7f6f26d7adee150e09d7537acc6d6894c27c0b7a.tar.bz2
linux-stable-7f6f26d7adee150e09d7537acc6d6894c27c0b7a.zip
Merge drm/drm-next into drm-misc-next
Backmerging drm-next to sync with msm tree. Resolves a conflict between aperture-helper changes and msm's use of those interfaces. Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Diffstat (limited to 'drivers/gpu/drm/tegra/drm.c')
-rw-r--r--drivers/gpu/drm/tegra/drm.c23
1 files changed, 4 insertions, 19 deletions
diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c
index d11d259f9399..35ff303c6674 100644
--- a/drivers/gpu/drm/tegra/drm.c
+++ b/drivers/gpu/drm/tegra/drm.c
@@ -56,9 +56,6 @@ static int tegra_atomic_check(struct drm_device *drm,
static const struct drm_mode_config_funcs tegra_drm_mode_config_funcs = {
.fb_create = tegra_fb_create,
-#ifdef CONFIG_DRM_FBDEV_EMULATION
- .output_poll_changed = drm_fb_helper_output_poll_changed,
-#endif
.atomic_check = tegra_atomic_check,
.atomic_commit = drm_atomic_helper_commit,
};
@@ -885,7 +882,6 @@ static const struct drm_driver tegra_drm_driver = {
DRIVER_ATOMIC | DRIVER_RENDER | DRIVER_SYNCOBJ,
.open = tegra_drm_open,
.postclose = tegra_drm_postclose,
- .lastclose = drm_fb_helper_lastclose,
#if defined(CONFIG_DEBUG_FS)
.debugfs_init = tegra_debugfs_init,
@@ -1185,15 +1181,11 @@ static int host1x_drm_probe(struct host1x_device *dev)
drm->mode_config.funcs = &tegra_drm_mode_config_funcs;
drm->mode_config.helper_private = &tegra_drm_mode_config_helpers;
- err = tegra_drm_fb_prepare(drm);
- if (err < 0)
- goto config;
-
drm_kms_helper_poll_init(drm);
err = host1x_device_init(dev);
if (err < 0)
- goto fbdev;
+ goto poll;
/*
* Now that all display controller have been initialized, the maximum
@@ -1256,18 +1248,14 @@ static int host1x_drm_probe(struct host1x_device *dev)
if (err < 0)
goto hub;
- err = tegra_drm_fb_init(drm);
+ err = drm_dev_register(drm, 0);
if (err < 0)
goto hub;
- err = drm_dev_register(drm, 0);
- if (err < 0)
- goto fb;
+ tegra_fbdev_setup(drm);
return 0;
-fb:
- tegra_drm_fb_exit(drm);
hub:
if (tegra->hub)
tegra_display_hub_cleanup(tegra->hub);
@@ -1280,10 +1268,8 @@ device:
}
host1x_device_exit(dev);
-fbdev:
+poll:
drm_kms_helper_poll_fini(drm);
- tegra_drm_fb_free(drm);
-config:
drm_mode_config_cleanup(drm);
domain:
if (tegra->domain)
@@ -1304,7 +1290,6 @@ static int host1x_drm_remove(struct host1x_device *dev)
drm_dev_unregister(drm);
drm_kms_helper_poll_fini(drm);
- tegra_drm_fb_exit(drm);
drm_atomic_helper_shutdown(drm);
drm_mode_config_cleanup(drm);