Commit d7f9bb65 authored by Ben Skeggs's avatar Ben Skeggs

drm/nouveau: allocate kernel channel(s) before initialising display

Some of the pre-NV50 depends on SW methods to implement synchronisation
for page flips, and we want to move this setup out of common code, thus
we require the channel to have been allocation before display init.
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent a8ce8b65
...@@ -504,6 +504,8 @@ nouveau_drm_device_init(struct drm_device *dev) ...@@ -504,6 +504,8 @@ nouveau_drm_device_init(struct drm_device *dev)
if (ret) if (ret)
goto fail_bios; goto fail_bios;
nouveau_accel_init(drm);
ret = nouveau_display_create(dev); ret = nouveau_display_create(dev);
if (ret) if (ret)
goto fail_dispctor; goto fail_dispctor;
...@@ -516,7 +518,6 @@ nouveau_drm_device_init(struct drm_device *dev) ...@@ -516,7 +518,6 @@ nouveau_drm_device_init(struct drm_device *dev)
nouveau_debugfs_init(drm); nouveau_debugfs_init(drm);
nouveau_hwmon_init(dev); nouveau_hwmon_init(dev);
nouveau_accel_init(drm);
nouveau_fbcon_init(dev); nouveau_fbcon_init(dev);
nouveau_led_init(dev); nouveau_led_init(dev);
...@@ -534,6 +535,7 @@ nouveau_drm_device_init(struct drm_device *dev) ...@@ -534,6 +535,7 @@ nouveau_drm_device_init(struct drm_device *dev)
fail_dispinit: fail_dispinit:
nouveau_display_destroy(dev); nouveau_display_destroy(dev);
fail_dispctor: fail_dispctor:
nouveau_accel_fini(drm);
nouveau_bios_takedown(dev); nouveau_bios_takedown(dev);
fail_bios: fail_bios:
nouveau_ttm_fini(drm); nouveau_ttm_fini(drm);
...@@ -559,7 +561,6 @@ nouveau_drm_device_fini(struct drm_device *dev) ...@@ -559,7 +561,6 @@ nouveau_drm_device_fini(struct drm_device *dev)
nouveau_led_fini(dev); nouveau_led_fini(dev);
nouveau_fbcon_fini(dev); nouveau_fbcon_fini(dev);
nouveau_accel_fini(drm);
nouveau_hwmon_fini(dev); nouveau_hwmon_fini(dev);
nouveau_debugfs_fini(drm); nouveau_debugfs_fini(drm);
...@@ -567,6 +568,7 @@ nouveau_drm_device_fini(struct drm_device *dev) ...@@ -567,6 +568,7 @@ nouveau_drm_device_fini(struct drm_device *dev)
nouveau_display_fini(dev, false, false); nouveau_display_fini(dev, false, false);
nouveau_display_destroy(dev); nouveau_display_destroy(dev);
nouveau_accel_fini(drm);
nouveau_bios_takedown(dev); nouveau_bios_takedown(dev);
nouveau_ttm_fini(drm); nouveau_ttm_fini(drm);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment