Skip to content

Commit e3f90f1

Browse files
georgemoussalemdlezcano
authored andcommitted
thermal/drivers/qcom/tsens: Update conditions to strictly evaluate for IP v2+
TSENS v2.0+ leverage features not available to prior versions such as updated interrupts init routine, masked interrupts, and watchdog. Currently, the checks in place evaluate whether the IP version is greater than v1 which invalidates when updates to v1 or v1 minor versions are implemented. As such, update the conditional statements to strictly evaluate whether the version is greater than or equal to v2 (inclusive). Signed-off-by: George Moussalem <george.moussalem@outlook.com> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: Amit Kucheria <amitk@kernel.org> Link: https://lore.kernel.org/r/DS7PR19MB8883434CAA053648E22AA8AC9DCC2@DS7PR19MB8883.namprd19.prod.outlook.com Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
1 parent 77c6d28 commit e3f90f1

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

drivers/thermal/qcom/tsens.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,7 @@ static void tsens_set_interrupt(struct tsens_priv *priv, u32 hw_id,
447447
dev_dbg(priv->dev, "[%u] %s: %s -> %s\n", hw_id, __func__,
448448
irq_type ? ((irq_type == 1) ? "UP" : "CRITICAL") : "LOW",
449449
enable ? "en" : "dis");
450-
if (tsens_version(priv) > VER_1_X)
450+
if (tsens_version(priv) >= VER_2_X)
451451
tsens_set_interrupt_v2(priv, hw_id, irq_type, enable);
452452
else
453453
tsens_set_interrupt_v1(priv, hw_id, irq_type, enable);
@@ -499,7 +499,7 @@ static int tsens_read_irq_state(struct tsens_priv *priv, u32 hw_id,
499499
ret = regmap_field_read(priv->rf[LOW_INT_CLEAR_0 + hw_id], &d->low_irq_clear);
500500
if (ret)
501501
return ret;
502-
if (tsens_version(priv) > VER_1_X) {
502+
if (tsens_version(priv) >= VER_2_X) {
503503
ret = regmap_field_read(priv->rf[UP_INT_MASK_0 + hw_id], &d->up_irq_mask);
504504
if (ret)
505505
return ret;
@@ -543,7 +543,7 @@ static int tsens_read_irq_state(struct tsens_priv *priv, u32 hw_id,
543543

544544
static inline u32 masked_irq(u32 hw_id, u32 mask, enum tsens_ver ver)
545545
{
546-
if (ver > VER_1_X)
546+
if (ver >= VER_2_X)
547547
return mask & (1 << hw_id);
548548

549549
/* v1, v0.1 don't have a irq mask register */
@@ -733,7 +733,7 @@ static int tsens_set_trips(struct thermal_zone_device *tz, int low, int high)
733733
static int tsens_enable_irq(struct tsens_priv *priv)
734734
{
735735
int ret;
736-
int val = tsens_version(priv) > VER_1_X ? 7 : 1;
736+
int val = tsens_version(priv) >= VER_2_X ? 7 : 1;
737737

738738
ret = regmap_field_write(priv->rf[INT_EN], val);
739739
if (ret < 0)
@@ -1040,7 +1040,7 @@ int __init init_common(struct tsens_priv *priv)
10401040
}
10411041
}
10421042

1043-
if (tsens_version(priv) > VER_1_X && ver_minor > 2) {
1043+
if (tsens_version(priv) >= VER_2_X && ver_minor > 2) {
10441044
/* Watchdog is present only on v2.3+ */
10451045
priv->feat->has_watchdog = 1;
10461046
for (i = WDOG_BARK_STATUS; i <= CC_MON_MASK; i++) {

0 commit comments

Comments
 (0)