drm/radeon: Restore sw interrupt on resume
Fixes performance drop after suspend/resume on some systems. Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
committed by
Dave Airlie
parent
70b13d510f
commit
7ecabc53a2
@@ -1292,6 +1292,7 @@ static int radeon_do_resume_cp(struct drm_device * dev)
|
|||||||
radeon_cp_init_ring_buffer(dev, dev_priv);
|
radeon_cp_init_ring_buffer(dev, dev_priv);
|
||||||
|
|
||||||
radeon_do_engine_reset(dev);
|
radeon_do_engine_reset(dev);
|
||||||
|
radeon_enable_interrupt(dev);
|
||||||
|
|
||||||
DRM_DEBUG("radeon_do_resume_cp() complete\n");
|
DRM_DEBUG("radeon_do_resume_cp() complete\n");
|
||||||
|
|
||||||
|
@@ -386,6 +386,7 @@ extern irqreturn_t radeon_driver_irq_handler(DRM_IRQ_ARGS);
|
|||||||
extern void radeon_driver_irq_preinstall(struct drm_device * dev);
|
extern void radeon_driver_irq_preinstall(struct drm_device * dev);
|
||||||
extern void radeon_driver_irq_postinstall(struct drm_device * dev);
|
extern void radeon_driver_irq_postinstall(struct drm_device * dev);
|
||||||
extern void radeon_driver_irq_uninstall(struct drm_device * dev);
|
extern void radeon_driver_irq_uninstall(struct drm_device * dev);
|
||||||
|
extern void radeon_enable_interrupt(struct drm_device *dev);
|
||||||
extern int radeon_vblank_crtc_get(struct drm_device *dev);
|
extern int radeon_vblank_crtc_get(struct drm_device *dev);
|
||||||
extern int radeon_vblank_crtc_set(struct drm_device *dev, int64_t value);
|
extern int radeon_vblank_crtc_set(struct drm_device *dev, int64_t value);
|
||||||
|
|
||||||
|
@@ -234,7 +234,7 @@ int radeon_irq_wait(struct drm_device *dev, void *data, struct drm_file *file_pr
|
|||||||
return radeon_wait_irq(dev, irqwait->irq_seq);
|
return radeon_wait_irq(dev, irqwait->irq_seq);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void radeon_enable_interrupt(struct drm_device *dev)
|
void radeon_enable_interrupt(struct drm_device *dev)
|
||||||
{
|
{
|
||||||
drm_radeon_private_t *dev_priv = (drm_radeon_private_t *) dev->dev_private;
|
drm_radeon_private_t *dev_priv = (drm_radeon_private_t *) dev->dev_private;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user