diff options
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0400-drivers-staging-fsl_qbman-Disable-Portal-Channel-IRQ.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/701-net-0400-drivers-staging-fsl_qbman-Disable-Portal-Channel-IRQ.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0400-drivers-staging-fsl_qbman-Disable-Portal-Channel-IRQ.patch b/target/linux/layerscape/patches-5.4/701-net-0400-drivers-staging-fsl_qbman-Disable-Portal-Channel-IRQ.patch new file mode 100644 index 0000000000..d9e4b432c2 --- /dev/null +++ b/target/linux/layerscape/patches-5.4/701-net-0400-drivers-staging-fsl_qbman-Disable-Portal-Channel-IRQ.patch @@ -0,0 +1,31 @@ +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); |