Lines Matching refs:hw_id

112 		ret = snprintf(name, sizeof(name), "s%d_p1%s", priv->sensor[i].hw_id,
121 ret = snprintf(name, sizeof(name), "s%d_p2%s", priv->sensor[i].hw_id,
377 static void tsens_set_interrupt_v1(struct tsens_priv *priv, u32 hw_id,
384 index = UP_INT_CLEAR_0 + hw_id;
387 index = LOW_INT_CLEAR_0 + hw_id;
396 static void tsens_set_interrupt_v2(struct tsens_priv *priv, u32 hw_id,
410 index_mask = UP_INT_MASK_0 + hw_id;
411 index_clear = UP_INT_CLEAR_0 + hw_id;
414 index_mask = LOW_INT_MASK_0 + hw_id;
415 index_clear = LOW_INT_CLEAR_0 + hw_id;
418 index_mask = CRIT_INT_MASK_0 + hw_id;
419 index_clear = CRIT_INT_CLEAR_0 + hw_id;
435 * @hw_id: Hardware ID aka. sensor number
443 static void tsens_set_interrupt(struct tsens_priv *priv, u32 hw_id,
446 dev_dbg(priv->dev, "[%u] %s: %s -> %s\n", hw_id, __func__,
450 tsens_set_interrupt_v2(priv, hw_id, irq_type, enable);
452 tsens_set_interrupt_v1(priv, hw_id, irq_type, enable);
458 * @hw_id: Hardware ID aka. sensor number
464 static int tsens_threshold_violated(struct tsens_priv *priv, u32 hw_id,
469 ret = regmap_field_read(priv->rf[UPPER_STATUS_0 + hw_id], &d->up_viol);
472 ret = regmap_field_read(priv->rf[LOWER_STATUS_0 + hw_id], &d->low_viol);
477 ret = regmap_field_read(priv->rf[CRITICAL_STATUS_0 + hw_id],
489 static int tsens_read_irq_state(struct tsens_priv *priv, u32 hw_id,
495 ret = regmap_field_read(priv->rf[UP_INT_CLEAR_0 + hw_id], &d->up_irq_clear);
498 ret = regmap_field_read(priv->rf[LOW_INT_CLEAR_0 + hw_id], &d->low_irq_clear);
502 ret = regmap_field_read(priv->rf[UP_INT_MASK_0 + hw_id], &d->up_irq_mask);
505 ret = regmap_field_read(priv->rf[LOW_INT_MASK_0 + hw_id], &d->low_irq_mask);
508 ret = regmap_field_read(priv->rf[CRIT_INT_CLEAR_0 + hw_id],
512 ret = regmap_field_read(priv->rf[CRIT_INT_MASK_0 + hw_id],
517 d->crit_thresh = tsens_hw_to_mC(s, CRIT_THRESH_0 + hw_id);
527 d->up_thresh = tsens_hw_to_mC(s, UP_THRESH_0 + hw_id);
528 d->low_thresh = tsens_hw_to_mC(s, LOW_THRESH_0 + hw_id);
531 hw_id, __func__,
536 dev_dbg(priv->dev, "[%u] %s%s: thresh: (%d:%d:%d)\n", hw_id, __func__,
543 static inline u32 masked_irq(u32 hw_id, u32 mask, enum tsens_ver ver)
546 return mask & (1 << hw_id);
598 u32 hw_id = s->hw_id;
602 if (!tsens_threshold_violated(priv, hw_id, &d))
607 hw_id, __func__);
611 tsens_read_irq_state(priv, hw_id, s, &d);
613 !masked_irq(hw_id, d.crit_irq_mask, tsens_version(priv))) {
615 tsens_set_interrupt(priv, hw_id, CRITICAL, false);
645 u32 hw_id = s->hw_id;
649 if (!tsens_threshold_violated(priv, hw_id, &d))
696 u32 hw_id = s->hw_id;
702 hw_id = 0;
706 hw_id, __func__, low, high);
716 tsens_read_irq_state(priv, hw_id, s, &d);
719 regmap_field_write(priv->rf[LOW_THRESH_0 + hw_id], low_val);
720 regmap_field_write(priv->rf[UP_THRESH_0 + hw_id], high_val);
721 tsens_set_interrupt(priv, hw_id, LOWER, true);
722 tsens_set_interrupt(priv, hw_id, UPPER, true);
727 hw_id, __func__, d.low_thresh, d.up_thresh, cl_low, cl_high);
753 int hw_id = s->hw_id;
754 u32 temp_idx = LAST_TEMP_0 + hw_id;
755 u32 valid_idx = VALID_0 + hw_id;
784 int hw_id = s->hw_id;
798 ret = regmap_field_read(priv->rf[LAST_TEMP_0 + hw_id], &last_temp);
822 seq_printf(s, "%8d %8d %8d\n", priv->sensor[i].hw_id,
1203 tzd = devm_thermal_of_zone_register(priv->dev, priv->sensor[i].hw_id,
1288 priv->sensor[i].hw_id = data->hw_ids[i];
1290 priv->sensor[i].hw_id = i;