]> git.baikalelectronics.ru Git - kernel.git/commit
drm/bridge: ti-sn65dsi86: Combine register accesses in ti_sn_aux_transfer()
authorStephen Boyd <swboyd@chromium.org>
Mon, 2 Nov 2020 18:11:41 +0000 (10:11 -0800)
committerSam Ravnborg <sam@ravnborg.org>
Sat, 7 Nov 2020 11:06:03 +0000 (12:06 +0100)
commit84950d9c3d437901f0a5a4e15794549056f53cb0
treec88dec1271068ff7e3ff9d222c4e25bf62ef1727
parent9fb1b81521f125e2a0e897aafe66a2b8de0f33b3
drm/bridge: ti-sn65dsi86: Combine register accesses in ti_sn_aux_transfer()

These register reads and writes are sometimes directly next to each
other in the register address space. Let's use regmap bulk read/write
APIs to get the data with one transfer instead of multiple i2c
transfers. This helps cut down on the number of transfers in the case of
something like reading an EDID where we read in blocks of 16 bytes at a
time and the last for loop here is sending an i2c transfer for each of
those 16 bytes, one at a time. Ouch!

Changes in v3:
 - Undid changes in v2

Changes in v2:
 - Combined AUX_CMD register write

Reviewed-by: Douglas Anderson <dianders@chromium.org>
Cc: Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
Cc: Jonas Karlman <jonas@kwiboo.se>
Cc: Jernej Skrabec <jernej.skrabec@siol.net>
Cc: Sean Paul <seanpaul@chromium.org>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20201102181144.3469197-2-swboyd@chromium.org
drivers/gpu/drm/bridge/ti-sn65dsi86.c