driver: lsm6dsm: simplify interrupt processing
driver: lsm6dsm: simplify interrupt processing

Follow linux kernel iio model (see st_lsm6dsx_handler_thread() in
driver/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c:
"""
  /*
   * If we are using edge IRQs, new samples can arrive while
   * processing current interrupt since there are no hw
   * guarantees the irq line stays "low" long enough to properly
   * detect the new interrupt. In this case the new sample will
   * be missed.
   * Polling FIFO status register allow us to read new
   * samples even if the interrupt arrives while processing
   * previous data and the timeslot where the line is "low" is
   * too short to be properly detected.
   */
"""

Replace commit 1a98cd7c32 ("driver: lsm6dsm: Fix missing events")

BUG=b:207055975,b:129159505
BRANCH="asurada atlas chameleon dedede drallion endeavour fpmcu grunt
hatch icarus kalista keeby kukui mistral nami nocturne octopus poppy
puff quiche rammus sarien trogdor volteer zork"

TEST=Pass CTS Sensor test on drawcia.

Signed-off-by: Gwendal Grignou <190c5a5edfcf62e0246559bf31fa7548674de3ad@chromium.org>
Change-Id: I1a892e9b52276e4a8acdd5c8be673ad6b95e3b29
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3328805
Reviewed-by: Diana Z <cb2016afc7183e5356c690dc63b4ba817470501a@chromium.org>

coreboot/chrome-ec,coreboot/chrome-ec,coreboot/chrome-ec,coreboot/chrome-ec,coreboot/chrome-ec,coreboot/chrome-ec