[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250829092947.855974-2-a-dutta@ti.com>
Date: Fri, 29 Aug 2025 14:59:46 +0530
From: Anurag Dutta <a-dutta@...com>
To: <aaro.koskinen@....fi>, <andreas@...nade.info>, <khilman@...libre.com>,
<rogerq@...nel.org>, <tony@...mide.com>
CC: <linux-omap@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<u-kumar1@...com>, <vigneshr@...com>
Subject: [PATCH 1/2] bus: ti-sysc: Add DRA7 SoC matching
From: Sinthu Raja <sinthu.raja@...com>
Kernel Commit 25de4ce5ed02 ("clocksource/drivers/timer-ti-dm: Handle
dra7 timer wrap errata i940") states that "There is a timer wrap issue
on dra7 and as a work around, we need to use timer-ti-dm percpu timers
instead. So, configure dmtimer3 and 4 as percpu timers by default." In
this commit, the author has used ti,no-reset-on-init and ti,no-idle quirks.
The sysc_check_active_timer() checks for these quirks and accordingly,
returns EBUSY error if the quirks match. Because of this, the timer
modules fail to probe as can be observed during bootup :"ti-sysc
4882c000.target-module: probe with driver ti-sysc failed with error -16"
Return 'ENXIO' instead of 'EBUSY' for DRA7 SoC, so that the error is set
to ENXIO and the module gets probed under "certain conditions".
Signed-off-by: Sinthu Raja <sinthu.raja@...com>
Signed-off-by: Anurag Dutta <a-dutta@...com>
---
drivers/bus/ti-sysc.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c
index 5566ad11399e..90766f804706 100644
--- a/drivers/bus/ti-sysc.c
+++ b/drivers/bus/ti-sysc.c
@@ -3117,7 +3117,8 @@ static int sysc_check_active_timer(struct sysc *ddata)
* can be dropped if we stop supporting old beagleboard revisions
* A to B4 at some point.
*/
- if (sysc_soc->soc == SOC_3430 || sysc_soc->soc == SOC_AM35)
+ if (sysc_soc->soc == SOC_3430 || sysc_soc->soc == SOC_AM35 ||
+ sysc_soc->soc == SOC_DRA7)
error = -ENXIO;
else
error = -EBUSY;
--
2.34.1
Powered by blists - more mailing lists