From 09269e71bfe9ff445ba42e2b88b17d323e434896 Mon Sep 17 00:00:00 2001 From: Roy Pledge Date: Mon, 16 Dec 2019 16:59:32 -0500 Subject: [PATCH] drivers/staging/fsl_qbman: Disable Portal Channel IRQs Disable portal channel IRQs to avoid them stopping QBMan from entering idle mode. Since push mode is used in this driver these interrupts are not needed/used. Signed-off-by: Roy Pledge (cherry picked from commit 977cf95ef173bf22b1816e7dbafcbb0f8a151133) --- drivers/staging/fsl_qbman/qman_high.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) --- a/drivers/staging/fsl_qbman/qman_high.c +++ b/drivers/staging/fsl_qbman/qman_high.c @@ -737,7 +737,12 @@ struct qman_portal *qman_create_portal( } /* Success */ portal->config = config; - qm_isr_disable_write(__p, 0); + /* + * Undisable all the IRQs except the dequeue available bits. + * If left enabled they cause problems with sleep mode. Since + * they are not used in push mode we can safely turn them off + */ + qm_isr_disable_write(__p, QM_DQAVAIL_MASK); qm_isr_uninhibit(__p); /* Write a sane SDQCR */ qm_dqrr_sdqcr_set(__p, portal->sdqcr);