drm/msm: Re-trigger preemption upon command completion

Trigger preemption from the interrupt handler. This allows us
to aggressively change ringbuffers especially to lower priority
ones and finish working on pending commands.

Change-Id: Ic05213f3d02b1bb7400461edd0d19e38d5b01ec2
Signed-off-by: Sharat Masetty <smasetty@codeaurora.org>
This commit is contained in:
Sharat Masetty 2017-04-06 15:43:14 +05:30 committed by Gerrit - the friendly Code Review server
parent 4901c7fce4
commit ba1ad63339

View file

@ -1039,8 +1039,10 @@ static irqreturn_t a5xx_irq(struct msm_gpu *gpu)
if (status & A5XX_RBBM_INT_0_MASK_GPMU_VOLTAGE_DROOP) if (status & A5XX_RBBM_INT_0_MASK_GPMU_VOLTAGE_DROOP)
a5xx_gpmu_err_irq(gpu); a5xx_gpmu_err_irq(gpu);
if (status & A5XX_RBBM_INT_0_MASK_CP_CACHE_FLUSH_TS) if (status & A5XX_RBBM_INT_0_MASK_CP_CACHE_FLUSH_TS) {
a5xx_preempt_trigger(gpu);
msm_gpu_retire(gpu); msm_gpu_retire(gpu);
}
if (status & A5XX_RBBM_INT_0_MASK_CP_SW) if (status & A5XX_RBBM_INT_0_MASK_CP_SW)
a5xx_preempt_irq(gpu); a5xx_preempt_irq(gpu);