mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2025-12-28 05:10:13 +01:00
only acknowledge interrupts we handle - others could be used outside the
DRM
This commit is contained in:
parent
f93afda186
commit
164485d34a
2 changed files with 16 additions and 10 deletions
|
|
@ -61,7 +61,11 @@ void DRM(dma_service)( DRM_IRQ_ARGS )
|
|||
(drm_radeon_private_t *)dev->dev_private;
|
||||
u32 stat;
|
||||
|
||||
stat = RADEON_READ(RADEON_GEN_INT_STATUS);
|
||||
/* Only consider the bits we're interested in - others could be used
|
||||
* outside the DRM
|
||||
*/
|
||||
stat = RADEON_READ(RADEON_GEN_INT_STATUS)
|
||||
& (RADEON_SW_INT_TEST | RADEON_CRTC_VBLANK_STAT);
|
||||
if (!stat)
|
||||
return;
|
||||
|
||||
|
|
@ -77,15 +81,14 @@ void DRM(dma_service)( DRM_IRQ_ARGS )
|
|||
DRM(vbl_send_signals)( dev );
|
||||
}
|
||||
|
||||
/* Acknowledge all the bits in GEN_INT_STATUS -- seem to get
|
||||
* more than we asked for...
|
||||
*/
|
||||
/* Acknowledge interrupts we handle */
|
||||
RADEON_WRITE(RADEON_GEN_INT_STATUS, stat);
|
||||
}
|
||||
|
||||
static __inline__ void radeon_acknowledge_irqs(drm_radeon_private_t *dev_priv)
|
||||
{
|
||||
u32 tmp = RADEON_READ( RADEON_GEN_INT_STATUS );
|
||||
u32 tmp = RADEON_READ( RADEON_GEN_INT_STATUS )
|
||||
& (RADEON_SW_INT_TEST_ACK | RADEON_CRTC_VBLANK_STAT);
|
||||
if (tmp)
|
||||
RADEON_WRITE( RADEON_GEN_INT_STATUS, tmp );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,7 +61,11 @@ void DRM(dma_service)( DRM_IRQ_ARGS )
|
|||
(drm_radeon_private_t *)dev->dev_private;
|
||||
u32 stat;
|
||||
|
||||
stat = RADEON_READ(RADEON_GEN_INT_STATUS);
|
||||
/* Only consider the bits we're interested in - others could be used
|
||||
* outside the DRM
|
||||
*/
|
||||
stat = RADEON_READ(RADEON_GEN_INT_STATUS)
|
||||
& (RADEON_SW_INT_TEST | RADEON_CRTC_VBLANK_STAT);
|
||||
if (!stat)
|
||||
return;
|
||||
|
||||
|
|
@ -77,15 +81,14 @@ void DRM(dma_service)( DRM_IRQ_ARGS )
|
|||
DRM(vbl_send_signals)( dev );
|
||||
}
|
||||
|
||||
/* Acknowledge all the bits in GEN_INT_STATUS -- seem to get
|
||||
* more than we asked for...
|
||||
*/
|
||||
/* Acknowledge interrupts we handle */
|
||||
RADEON_WRITE(RADEON_GEN_INT_STATUS, stat);
|
||||
}
|
||||
|
||||
static __inline__ void radeon_acknowledge_irqs(drm_radeon_private_t *dev_priv)
|
||||
{
|
||||
u32 tmp = RADEON_READ( RADEON_GEN_INT_STATUS );
|
||||
u32 tmp = RADEON_READ( RADEON_GEN_INT_STATUS )
|
||||
& (RADEON_SW_INT_TEST_ACK | RADEON_CRTC_VBLANK_STAT);
|
||||
if (tmp)
|
||||
RADEON_WRITE( RADEON_GEN_INT_STATUS, tmp );
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue