Skip to content

drm_hwcomposer: Produce stable port IDs

Gil Dekel requested to merge gildekel/drm-hwcomposer:consistent_port_ids into main

Currently, port IDs are generated by returning a monotonically increasing value (uint64_t hwc2_display_t). This is problematic for two reasons:

  1. hwc2_display_t is a 64bit value, and the returned port is 8bit.
  2. clients of drm-hwc cannot rely on port ID consistency between re-plugs to the same connector.

This patch provides a more stable approach to producing port IDs. We combine the index of the DRM device in the device list, with the index of the connector within a DRM device in a 3/5 bit split. This will allow us to support up to 8 DRM devices, each with 32 independent connectors (ports). If more support is required in the future, we will have to extend the API to return uint16_t port values instead.

Signed-off-by: Gil Dekel gildekel@google.com

Merge request reports

Loading