mbox series

[0/4] drm: bridge: adv7511: Enable usage with DRM bridge connector helper

Message ID 20200409004610.12346-1-laurent.pinchart+renesas@ideasonboard.com (mailing list archive)
Headers show
Series drm: bridge: adv7511: Enable usage with DRM bridge connector helper | expand

Message

Laurent Pinchart April 9, 2020, 12:46 a.m. UTC
Hello,

This patch series enables usage of the adv7511 driver with the DRM
bridge connector helper (drm_bridge_connector.c).

Patch 1/4 and 2/4 start by splitting EDID read and connector creation to
separate functions to ease review of 3/4 and 4/4. Patch 3/4 performs the
bulk of the work by implementing the DRM bridge connector-related
operations, and patch 4/4 then makes connector creation optional.

I've had trouble wrapping my head around the HPD handling code in the
av7511 driver (this is why I've CC'ed Rob and Sean who last touched
this). The split of the code between the .detect() operation and the HPD
IRQ seems a bit weird to me, and I haven't dared touching it as it also
appears fragile.

In particular, I'm not sure why we need to retrieve modes in the
.detect() operation. git blame didn't help, as the code has been there
since the beginning. I'd like to remove that completely, but to avoid
breakages, patch 3/4 only does so when the adv7511 is used without
creating a DRM connector.

Usage of both adv7511->status and adv7511->connector.status in the two
operations also seems awkward, and I would like to drop usage of the
latter in the new code path, but I also haven't dared refactoring that
yet. Feedback would be welcome.

Laurent Pinchart (4):
  drm: bridge: adv7511: Split EDID read to a separate function
  drm: bridge: adv7511: Split connector creation to a separate function
  drm: bridge: adv7511: Implement bridge connector operations
  drm: bridge: adv7511: Make connector creation optional

 drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 137 +++++++++++++------
 1 file changed, 98 insertions(+), 39 deletions(-)