[PATCH 0/3] Propagate DP-over-Type-C hotplug events from Type-C subsys to drm-drivers

Hans de Goede hdegoede at redhat.com
Mon Feb 25 13:20:34 UTC 2019


Hi All,

On some Cherry Trail devices, DisplayPort over Type-C is supported through
a USB-PD microcontroller (e.g. a fusb302) + a mux to switch the superspeed
datalines between USB-3 and DP (e.g. a pi3usb30532). The kernel in this
case does the PD/alt-mode negotiation itself, rather then everything being
handled in firmware.

So the kernel itself picks an alt-mode, tells the Type-C "dongle" to switch
to DP mode and sets the mux accordingly. In this setup the HPD pin is not
connected, so the i915 driver needs to respond to a software event and scan
the DP port for changes manually.

Thanks to Heikki's great work on the DisplayPort altmode support in the
typec subsys, we now correctly tell the dongle to switch to DP altmode
and we correctly set the mux and orientation switches to connect the
DP lines to the Type-C connector.

This just leaves sending an out-of-band hotplug event from the Type-C
subsystem to the i915 driver and then we've fully working DP over Type-C
on these devices.

This series implements this. The first patch adds a generic mechanism
for oob hotplug events to be send to the drm subsys, the second patch
adds support for this mechanism to the i915 driver and the third patch
makes the typec displayport_altmode driver send these events.

The commit message of the first patch explains why I've chosen to things
the way these patches do them.

Regards,

Hans



More information about the dri-devel mailing list