You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.1 KiB
Diff
32 lines
1.1 KiB
Diff
From 09269e71bfe9ff445ba42e2b88b17d323e434896 Mon Sep 17 00:00:00 2001
|
|
From: Roy Pledge <roy.pledge@nxp.com>
|
|
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 <roy.pledge@nxp.com>
|
|
(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);
|