drm/nouveau: fix display takedown order to match reverse init order
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
This commit is contained in:
parent
5de8037ab4
commit
06b75e3552
|
@ -720,11 +720,16 @@ static void nouveau_card_takedown(struct drm_device *dev)
|
||||||
struct nouveau_engine *engine = &dev_priv->engine;
|
struct nouveau_engine *engine = &dev_priv->engine;
|
||||||
int e;
|
int e;
|
||||||
|
|
||||||
|
drm_kms_helper_poll_fini(dev);
|
||||||
|
nouveau_fbcon_fini(dev);
|
||||||
|
|
||||||
if (dev_priv->channel) {
|
if (dev_priv->channel) {
|
||||||
nouveau_fence_fini(dev);
|
|
||||||
nouveau_channel_put_unlocked(&dev_priv->channel);
|
nouveau_channel_put_unlocked(&dev_priv->channel);
|
||||||
|
nouveau_fence_fini(dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
engine->display.destroy(dev);
|
||||||
|
|
||||||
if (!dev_priv->noaccel) {
|
if (!dev_priv->noaccel) {
|
||||||
engine->fifo.takedown(dev);
|
engine->fifo.takedown(dev);
|
||||||
for (e = NVOBJ_ENGINE_NR - 1; e >= 0; e--) {
|
for (e = NVOBJ_ENGINE_NR - 1; e >= 0; e--) {
|
||||||
|
@ -1063,11 +1068,7 @@ void nouveau_lastclose(struct drm_device *dev)
|
||||||
int nouveau_unload(struct drm_device *dev)
|
int nouveau_unload(struct drm_device *dev)
|
||||||
{
|
{
|
||||||
struct drm_nouveau_private *dev_priv = dev->dev_private;
|
struct drm_nouveau_private *dev_priv = dev->dev_private;
|
||||||
struct nouveau_engine *engine = &dev_priv->engine;
|
|
||||||
|
|
||||||
drm_kms_helper_poll_fini(dev);
|
|
||||||
nouveau_fbcon_fini(dev);
|
|
||||||
engine->display.destroy(dev);
|
|
||||||
nouveau_card_takedown(dev);
|
nouveau_card_takedown(dev);
|
||||||
|
|
||||||
iounmap(dev_priv->mmio);
|
iounmap(dev_priv->mmio);
|
||||||
|
|
Loading…
Reference in New Issue