mbox series

[PATCHv2,00/22] drm/bridge: tc358767: DP support

Message ID 20190326103146.24795-1-tomi.valkeinen@ti.com (mailing list archive)
Headers show
Series drm/bridge: tc358767: DP support | expand

Message

Tomi Valkeinen March 26, 2019, 10:31 a.m. UTC
Hi,

tc358767 bridge was originally implemented for eDP use with an embedded
panel. I've been working to add DP and HPD support, and this series is
the result. I did have a lot of issues with link training, but with
these, it's been working reliably with my devices.

Compared to v1, I dropped the "implement naive HPD handling". I managed
to modify my board to support interrupts, and in this series also
interrupt based HPD is supported with the last two patches. The other
patches should be unchanged to the v1.

While I think the HPD support works ok, I'm unsure about the DT binding.
I first tried implementing the HPD as a gpiochip, but for interrupts I
then needed irqchip, and the amount of code started to increase a lot,
whereas in my current patch the code is quite simple and short.

So, here I have a simple 'hpd-num' DT property to mark which (if any) of
the two GPIO pins is used for HPD.

I have tested this with interrupt and polling based HPD, and also with a
"simulated" eDP panel (DP monitor but defining a simple-panel in the DT
data).

 Tomi

Tomi Valkeinen (22):
  drm/bridge: tc358767: fix tc_aux_get_status error handling
  drm/bridge: tc358767: reset voltage-swing & pre-emphasis
  drm/bridge: tc358767: fix ansi 8b10b use
  drm/bridge: tc358767: cleanup spread & scrambler_dis
  drm/bridge: tc358767: remove unused swing & preemp
  drm/bridge: tc358767: cleanup aux_link_setup
  drm/bridge: tc358767: move video stream setup to tc_main_link_stream
  drm/bridge: tc358767: split stream enable/disable
  drm/bridge: tc358767: move PXL PLL enable/disable to stream
    enable/disable
  drm/bridge: tc358767: add link disable function
  drm/bridge: tc358767: ensure DP is disabled before LT
  drm/bridge: tc358767: remove unnecessary msleep
  drm/bridge: tc358767: use more reliable seq when finishing LT
  drm/bridge: tc358767: cleanup LT result check
  drm/bridge: tc358767: clean-up link training
  drm/bridge: tc358767: remove check for video mode in link enable
  drm/bridge: tc358767: use bridge mode_valid
  drm/bridge: tc358767: remove tc_connector_best_encoder
  drm/bridge: tc358767: copy the mode data, instead of storing the
    pointer
  drm/bridge: tc358767: add GPIO & interrupt registers
  drm/bridge: tc358767: add IRQ and HPD support
  dt-bindings: tc358767: add IRQ & HPD support

 .../display/bridge/toshiba,tc358767.txt       |   3 +
 drivers/gpu/drm/bridge/tc358767.c             | 558 +++++++++++-------
 2 files changed, 353 insertions(+), 208 deletions(-)