Merge android13-gs-pixel-5.10-tm-qpr2 into android13-gs-pixel-5.10-tm-qpr3

SBMerger: 478053055
Change-Id: I022b2f47f00a05d2fd2d9f54c1e6bd3c0288b66d
Signed-off-by: SecurityBot <android-nexus-securitybot@system.gserviceaccount.com>
diff --git a/cs35l41/cs35l41.c b/cs35l41/cs35l41.c
index 8c570e0..24d4f9f 100644
--- a/cs35l41/cs35l41.c
+++ b/cs35l41/cs35l41.c
@@ -662,6 +662,11 @@
 	"fast_switch3.txt",
 	"fast_switch4.txt",
 	"fast_switch5.txt",
+	"fast_switch6.txt",
+	"fast_switch7.txt",
+	"fast_switch8.txt",
+	"fast_switch9.txt",
+	"fast_switch10.txt",
 };
 
 static int cs35l41_fast_switch_en_get(struct snd_kcontrol *kcontrol,
diff --git a/cs40l26/cs40l26-sysfs.c b/cs40l26/cs40l26-sysfs.c
index 1f125db..6737894 100644
--- a/cs40l26/cs40l26-sysfs.c
+++ b/cs40l26/cs40l26-sysfs.c
@@ -168,9 +168,19 @@
 		return -EPERM;
 	}
 
+#if IS_ENABLED(CONFIG_GOOG_CUST)
+	/*
+	 * Since HAL will only read this attribute after sysfs_nofity is called,
+	 * removing the mutex_lock to mitigate the chances that HAL only get the
+	 * stopped state in triggering the back-to-back short haptic effect
+	 * (e.g. TICK effct).
+	 */
+	state = cs40l26->vibe_state;
+#else
 	mutex_lock(&cs40l26->lock);
 	state = cs40l26->vibe_state;
 	mutex_unlock(&cs40l26->lock);
+#endif
 
 	return snprintf(buf, PAGE_SIZE, "%u\n", state);
 }
diff --git a/cs40l26/cs40l26.c b/cs40l26/cs40l26.c
index d4d4b3f..122842f 100644
--- a/cs40l26/cs40l26.c
+++ b/cs40l26/cs40l26.c
@@ -3258,8 +3258,14 @@
 			CS40L26_IRQ1_GPIO1_RISE));
 
 	if (mask_gpio)
+#if IS_ENABLED(CONFIG_GOOG_CUST)
+		/* Extend the GPIO trigger mask to ignore GPIO1 falling edge */
+		val = (u32) GENMASK(CS40L26_IRQ1_GPIO4_FALL,
+				CS40L26_IRQ1_GPIO1_FALL);
+#else
 		val = (u32) GENMASK(CS40L26_IRQ1_GPIO4_FALL,
 				CS40L26_IRQ1_GPIO2_RISE);
+#endif
 	else
 		val = 0;