Merge branch 'staging/kernel-msm/MMI-U1UGS34.23-110-23-2' into lineage-22.2

Based on tag 'MMI-U1UGS34.23-110-23-2' of https://github.com/MotorolaMobilityLLC/kernel-msm

"Fogos push for Android 14"

* staging/kernel-msm/MMI-U1UGS34.23-110-23-2: (698 commits)
  mmc: sdhci-msm: Move MMC_CAP2_MAX_DISCARD_SIZE to prevent merge conflict
  Reapply "UPSTREAM: binder: fix the missing BR_FROZEN_REPLY in binder_return_strings"
  Revert "qseecom: Suppress suspend warning if without bus scaling."
  Revert "Penang: fix for device suspend tests fail. [1/2]"
  Revert "Penang: resolve kasan panic"
  Revert "Penang: kasan panic"
  Revert "penang: device suspend tests fail"
  Revert "net: qrtr: get svc_id before queueing sk_buff"
  Revert "af_unix: Do not use atomic ops for unix_sk(sk)->inflight."
  Revert "af_unix: Fix garbage collector racing against connect()"
  Revert "BACKPORT: net: fix __dst_negative_advice() race"
  Revert "ANDROID: ABI fixup for abi break in struct dst_ops"
  Revert "BACKPORT:sched: Provide sched_set_fifo()"
  Revert "msm: npu: Fix use after free issue"
  Revert "fs:EROFS:Porting 5.10 erofs to 5.4"
  Revert "BACKPORT:erofs: add per-cpu threads for decompression as an option"
  Revert "UPSTREAM: erofs: fix an error code in z_erofs_init_zip_subsystem()"
  msm: adsprpc: Avoid taking reference for group_info
  adsprpc: Handle UAF scenario in put_args
  msm: adsprpc: use-after-free (UAF) in global maps
  ...

Change-Id: Ia48438f247670d77560472205994632fa62062dd
This commit is contained in:
Michael Bestas 2025-03-21 18:12:10 +02:00
commit 869b1e64a6
No known key found for this signature in database
229 changed files with 20042 additions and 329 deletions

View file

@ -54,6 +54,10 @@ struct vib_ldo_chip {
u64 vib_play_ms;
bool vib_enabled;
bool disable_overdrive;
bool dis_short_long;
int dis_long_ms;
int vmax_uV_long;
};
static inline int qpnp_vib_ldo_poll_status(struct vib_ldo_chip *chip)
@ -63,7 +67,7 @@ static inline int qpnp_vib_ldo_poll_status(struct vib_ldo_chip *chip)
ret = regmap_read_poll_timeout(chip->regmap,
chip->base + QPNP_VIB_LDO_REG_STATUS1, val,
val & QPNP_VIB_LDO_VREG_READY, 100, 1000);
val & QPNP_VIB_LDO_VREG_READY, 100, 2000);
if (ret < 0) {
pr_err("Vibrator LDO vreg_ready timeout, status=0x%02x, ret=%d\n",
val, ret);
@ -144,6 +148,15 @@ static int qpnp_vibrator_play_on(struct vib_ldo_chip *chip)
int ret;
volt_uV = chip->vmax_uV;
if (chip->dis_short_long) {
pr_debug("vib in dis short and long, play ms=%d, dis_longms=%d, vmax_uV=%d, vmax_uV_long=%d\n",
chip->vib_play_ms, chip->dis_long_ms, chip->vmax_uV, chip->vmax_uV_long);
if (chip->vib_play_ms > chip->dis_long_ms) {
volt_uV = chip->vmax_uV_long;
}
}
if (!chip->disable_overdrive)
volt_uV = chip->overdrive_volt_uV ? chip->overdrive_volt_uV
: min(chip->vmax_uV * 2, QPNP_VIB_LDO_VMAX_UV);
@ -386,6 +399,28 @@ static int qpnp_vib_parse_dt(struct device *dev, struct vib_ldo_chip *chip)
return ret;
}
chip->dis_short_long = of_property_read_bool(dev->of_node,
"qcom,vib-dis-short-long");
if (chip->dis_short_long) {
pr_warn("read dis_short_long true");
ret = of_property_read_u32(dev->of_node, "qcom,vib-dis-short-long-val",
&chip->dis_long_ms);
if (ret < 0) {
pr_err("qcom,vib-dis-short-long-val property read failed, ret=%d\n", ret);
return ret;
}
pr_warn("read dis_long_ms=%d\n", chip->dis_long_ms);
ret = of_property_read_u32(dev->of_node, "qcom,vib-ldo-volt-uv-long",
&chip->vmax_uV_long);
if (ret < 0) {
pr_err("qcom,vib-ldo-volt-uv-long property read failed, ret=%d\n", ret);
return ret;
}
pr_warn("read vmax_uV_long=%d\n", chip->vmax_uV_long);
}
chip->disable_overdrive = of_property_read_bool(dev->of_node,
"qcom,disable-overdrive");