[PATCH 5/5] i2c: geni: sdm845: dont perform DMA for the oneplus6

Caleb Connolly
2020-10-07T17:49:52Z

The OnePlus 6/T has the same issues as the c630 causing a crash when DMA
is used for i2c, so disable it.

https://patchwork.kernel.org/patch/11133827/
Signed-off-by: Caleb Connolly <caleb@connolly.tech>
---
drivers/i2c/busses/i2c-qcom-geni.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/i2c/busses/i2c-qcom-geni.c b/drivers/i2c/busses/i2c-qcom-geni.c
index dead5db3315a..50a0674a6553 100644
--- a/drivers/i2c/busses/i2c-qcom-geni.c
+++ b/drivers/i2c/busses/i2c-qcom-geni.c
@@ -358,7 +358,8 @@ static int geni_i2c_rx_one_msg(struct geni_i2c_dev *gi2c, struct i2c_msg *msg,
struct geni_se *se = &gi2c->se;
size_t len = msg->len;

- if (!of_machine_is_compatible("lenovo,yoga-c630"))
+ if (!of_machine_is_compatible("lenovo,yoga-c630") &&
+ !of_machine_is_compatible("oneplus,oneplus6"))
dma_buf = i2c_get_dma_safe_msg_buf(msg, 32);

if (dma_buf)
@@ -400,7 +401,8 @@ static int geni_i2c_tx_one_msg(struct geni_i2c_dev *gi2c, struct i2c_msg *msg,
struct geni_se *se = &gi2c->se;
size_t len = msg->len;

- if (!of_machine_is_compatible("lenovo,yoga-c630"))
+ if (!of_machine_is_compatible("lenovo,yoga-c630") &&
+ !of_machine_is_compatible("oneplus,oneplus6"))
dma_buf = i2c_get_dma_safe_msg_buf(msg, 32);

if (dma_buf)
--
2.28.0