Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7ecabc53 authored by Dennis Kasprzyk's avatar Dennis Kasprzyk Committed by Dave Airlie
Browse files

drm/radeon: Restore sw interrupt on resume



Fixes performance drop after suspend/resume on some systems.

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 70b13d51
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1292,6 +1292,7 @@ static int radeon_do_resume_cp(struct drm_device * dev)
	radeon_cp_init_ring_buffer(dev, dev_priv);

	radeon_do_engine_reset(dev);
	radeon_enable_interrupt(dev);

	DRM_DEBUG("radeon_do_resume_cp() complete\n");

+1 −0
Original line number Diff line number Diff line
@@ -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_postinstall(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_set(struct drm_device *dev, int64_t value);

+1 −1
Original line number Diff line number Diff line
@@ -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);
}

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;