Patch "soc: ti: omap-prm: Fix occasional abort on reset deassert for dra7 iva" has been added to the 5.10-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    soc: ti: omap-prm: Fix occasional abort on reset deassert for dra7 iva

to the 5.10-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     soc-ti-omap-prm-fix-occasional-abort-on-reset-deasse.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 9c996a9ccf46b96343e2e88b3672a7ffb9d37a55
Author: Tony Lindgren <tony@xxxxxxxxxxx>
Date:   Thu Feb 18 13:46:33 2021 +0200

    soc: ti: omap-prm: Fix occasional abort on reset deassert for dra7 iva
    
    [ Upstream commit effe89e40037038db7711bdab5d3401fe297d72c ]
    
    On reset deassert, we must wait a bit after the rstst bit change before
    we allow clockdomain autoidle again. Otherwise we get the following oops
    sometimes on dra7 with iva:
    
    Unhandled fault: imprecise external abort (0x1406) at 0x00000000
    44000000.ocp:L3 Standard Error: MASTER MPU TARGET IVA_CONFIG (Read Link):
    At Address: 0x0005A410 : Data Access in User mode during Functional access
    Internal error: : 1406 [#1] SMP ARM
    ...
    (sysc_write_sysconfig) from [<c0782cb0>] (sysc_enable_module+0xcc/0x260)
    (sysc_enable_module) from [<c0782f0c>] (sysc_runtime_resume+0xc8/0x174)
    (sysc_runtime_resume) from [<c0a3e1ac>] (genpd_runtime_resume+0x94/0x224)
    (genpd_runtime_resume) from [<c0a33f0c>] (__rpm_callback+0xd8/0x180)
    
    It is unclear what all devices this might affect, but presumably other
    devices with the rstst bit too can be affected. So let's just enable the
    delay for all the devices with rstst bit for now. Later on we may want to
    limit the list to the know affected devices if needed.
    
    Fixes: d30cd83f6853 ("soc: ti: omap-prm: add support for denying idle for reset clockdomain")
    Reported-by: Yongqin Liu <yongqin.liu@xxxxxxxxxx>
    Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/soc/ti/omap_prm.c b/drivers/soc/ti/omap_prm.c
index c8b14b3a171f..fb067b5e4a97 100644
--- a/drivers/soc/ti/omap_prm.c
+++ b/drivers/soc/ti/omap_prm.c
@@ -522,8 +522,12 @@ static int omap_reset_deassert(struct reset_controller_dev *rcdev,
 		       reset->prm->data->name, id);
 
 exit:
-	if (reset->clkdm)
+	if (reset->clkdm) {
+		/* At least dra7 iva needs a delay before clkdm idle */
+		if (has_rstst)
+			udelay(1);
 		pdata->clkdm_allow_idle(reset->clkdm);
+	}
 
 	return ret;
 }



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux