diff options
author | Tejun Heo <tj@kernel.org> | 2011-01-03 08:49:32 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-01-05 23:32:16 -0500 |
commit | 32c87fca2fac490e34a9fa900b45f2fbb4faacf9 (patch) | |
tree | 181e9c1d1493124f0a0f5a8a65be4bf29053b77e /drivers/gpu/drm/radeon/evergreen.c | |
parent | af5dd83b873efd4e1477f2265b6fa15a825aff26 (diff) |
drm/radeon: use system_wq instead of dev_priv->wq
With cmwq, there's no reason for radeon to use a dedicated workqueue.
Drop dev_priv->wq and use system_wq instead.
Because radeon_driver_irq_uninstall_kms() may be called from
unsleepable context, the work items can't be flushed from there.
Instead, init and flush from radeon_irq_kms_init/fini().
While at it, simplify canceling/flushing of rdev->pm.dynpm_idle_work.
Always initialize and sync cancel instead of being unnecessarily smart
about it.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Alex Deucher <alexdeucher@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/evergreen.c')
-rw-r--r-- | drivers/gpu/drm/radeon/evergreen.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c index 3ae63ceb9c33..eaf4fba90b72 100644 --- a/drivers/gpu/drm/radeon/evergreen.c +++ b/drivers/gpu/drm/radeon/evergreen.c | |||
@@ -2756,7 +2756,7 @@ restart_ih: | |||
2756 | if (wptr != rdev->ih.wptr) | 2756 | if (wptr != rdev->ih.wptr) |
2757 | goto restart_ih; | 2757 | goto restart_ih; |
2758 | if (queue_hotplug) | 2758 | if (queue_hotplug) |
2759 | queue_work(rdev->wq, &rdev->hotplug_work); | 2759 | schedule_work(&rdev->hotplug_work); |
2760 | rdev->ih.rptr = rptr; | 2760 | rdev->ih.rptr = rptr; |
2761 | WREG32(IH_RB_RPTR, rdev->ih.rptr); | 2761 | WREG32(IH_RB_RPTR, rdev->ih.rptr); |
2762 | spin_unlock_irqrestore(&rdev->ih.lock, flags); | 2762 | spin_unlock_irqrestore(&rdev->ih.lock, flags); |