From d502b78e6be8f4a9dd0c32bb7669907ad28f15d9 Mon Sep 17 00:00:00 2001 From: Fenglin Wu Date: Wed, 9 Feb 2022 15:42:41 +0800 Subject: [PATCH] input: qcom-hv-haptics: update mmap logic for preload FIFO effect Correct the logic of finding an available PAT_MEMx source to store preload FIFO effect. Also add a debug print for preload property when dumping FIFO effect settings. Change-Id: If328e8bdb32f28495ac893a5a31f2be48fedd2b9 Signed-off-by: Fenglin Wu --- drivers/input/misc/qcom-hv-haptics.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/input/misc/qcom-hv-haptics.c b/drivers/input/misc/qcom-hv-haptics.c index 8555ff8d3ed5..08e7349cff83 100644 --- a/drivers/input/misc/qcom-hv-haptics.c +++ b/drivers/input/misc/qcom-hv-haptics.c @@ -728,9 +728,9 @@ static void __dump_effects(struct haptics_chip *chip) dev_dbg(chip->dev, "%s\n", str); kfree(str); - dev_dbg(chip->dev, "FIFO data play rate: %s\n", - period_str[effect->fifo->period_per_s]); - dev_dbg(chip->dev, "FIFO data play length: %dus\n", + dev_dbg(chip->dev, "FIFO data preload: %d, play rate: %s, play length: %uus\n", + effect->fifo->preload, + period_str[effect->fifo->period_per_s], effect->fifo->play_length_us); } @@ -2630,10 +2630,9 @@ static int haptics_mmap_preload_fifo_effect(struct haptics_chip *chip, } for (i = PAT4_MEM; i >= PAT1_MEM; i--) { - if (chip->mmap.pat_sel_mmap[i].in_use) - continue; - if (length > chip->mmap.pat_sel_mmap[i].max_size) - continue; + if (!chip->mmap.pat_sel_mmap[i].in_use && + (length <= chip->mmap.pat_sel_mmap[i].max_size)) + break; } if (i < PAT1_MEM) {