[PATCH v6 00/15] tc358767 driver improvements

From: Andrey Smirnov
Date: Wed Jun 19 2019 - 01:32:41 EST


Everyone:

This series contains various improvements (at least in my mind) and
fixes that I made to tc358767 while working with the code of the
driver. Hopefuly each patch is self explanatory.

Feedback is welcome!

Thanks,
Andrey Smirnov

Changes since [v5]:

- Fixed regression in "drm/bridge: tc358767: Add support for
address-only I2C transfers" that broke EDID reading

- Moved said patch to be the last in case it is still causing
problems and needs to be dropped

Changes since [v4]:

- tc_pllupdate_pllen() renamed to tc_pllupdate()

- Collected Reviewed-bys from Andrzej for the rest of the series

Changes since [v3]:

- Collected Reviewed-bys from Andrzej

- Dropped explicit check for -ETIMEDOUT in "drm/bridge: tc358767:
Simplify polling in tc_main_link_setup()" for consistency

- AUX transfer code converted to user regmap_raw_read(),
regmap_raw_write()

Changes since [v2]:

- Patchset rebased on top of v4 of Tomi's series that recently
went in (https://patchwork.freedesktop.org/series/58176/#rev5)

- AUX transfer code converted to user regmap_bulk_read(),
regmap_bulk_write()

Changes since [v1]:

- Patchset rebased on top of
https://patchwork.freedesktop.org/series/58176/

- Patches to remove both tc_write() and tc_read() helpers added

- Patches to rework AUX transfer code added

- Both "drm/bridge: tc358767: Simplify polling in
tc_main_link_setup()" and "drm/bridge: tc358767: Simplify
polling in tc_link_training()" changed to use tc_poll_timeout()
instead of regmap_read_poll_timeout()

[v5] lkml.kernel.org/r/20190612083252.15321-1-andrew.smirnov@xxxxxxxxx
[v4] lkml.kernel.org/r/20190607044550.13361-1-andrew.smirnov@xxxxxxxxx
[v3] lkml.kernel.org/r/20190605070507.11417-1-andrew.smirnov@xxxxxxxxx
[v2] lkml.kernel.org/r/20190322032901.12045-1-andrew.smirnov@xxxxxxxxx
[v1] lkml.kernel.org/r/20190226193609.9862-1-andrew.smirnov@xxxxxxxxx

Andrey Smirnov (15):
drm/bridge: tc358767: Simplify tc_poll_timeout()
drm/bridge: tc358767: Simplify polling in tc_main_link_setup()
drm/bridge: tc358767: Simplify polling in tc_link_training()
drm/bridge: tc358767: Simplify tc_set_video_mode()
drm/bridge: tc358767: Drop custom tc_write()/tc_read() accessors
drm/bridge: tc358767: Simplify AUX data read
drm/bridge: tc358767: Simplify AUX data write
drm/bridge: tc358767: Increase AUX transfer length limit
drm/bridge: tc358767: Use reported AUX transfer size
drm/bridge: tc358767: Introduce tc_set_syspllparam()
drm/bridge: tc358767: Introduce tc_pllupdate()
drm/bridge: tc358767: Simplify tc_aux_wait_busy()
drm/bridge: tc358767: Drop unnecessary 8 byte buffer
drm/bridge: tc358767: Replace magic number in tc_main_link_enable()
drm/bridge: tc358767: Add support for address-only I2C transfers

drivers/gpu/drm/bridge/tc358767.c | 651 +++++++++++++++++-------------
1 file changed, 376 insertions(+), 275 deletions(-)

--
2.21.0