[RFC PATCH v1 00/12] drm,usb/typec: uABI for USB-C DisplayPort connectors

From: Dmitry Baryshkov
Date: Sun Sep 03 2023 - 17:42:02 EST


During the discussion regarding DisplayPort wrapped in the USB-C
connectors (via the USB-C altmode) it was pointed out that currently
there is no good way to let userspace know if the DRM connector in
question is the 'native' DP connector or if it is the USB-C connector.

An attempt to use DRM_MODE_CONNECTOR_USB for such connectors was
declined, as existing DP drivers (i915, AMD) use
DRM_MODE_CONNECTOR_DisplayPort. New drivers should behave in the same
way.

An attempt to use subconnector property was also declined. It is defined
to the type of the DP dongle connector rather than the host connector.

This attempt targets reusing the connector's PATH property. Currently
this property is only used for the DP MST connectors. This patchset
reuses it to point out to the corresponding registered typec port
device.

Dmitry Baryshkov (12):
Revert "drm/sysfs: Link DRM connectors to corresponding Type-C
connectors"
drm/sysfs: link DRM connector device to the connector's fw nodes
drm/connector: extend PATH property to covert Type-C case
drm/bridge-connector: set the PATH property for the connector
drm/bridge: remove conditionals around devicetree pointers
soc: qcom: pmic_glink_altmode: fix DRM connector type
soc: qcom: pmic_glink_altmode: report that this is a Type-C connector
usb: typec: support generating Type-C port names for userspace
usb: typec: tcpm: support generating Type-C port names for userspace
usb: typec: qcom: implement proper error path in probe()
usb: typec: qcom: extract DRM bridge functionality to separate file
usb: typec: qcom: define the bridge's path

drivers/gpu/drm/bridge/panel.c | 2 -
drivers/gpu/drm/drm_bridge_connector.c | 14 ++++-
drivers/gpu/drm/drm_connector.c | 10 +++-
drivers/gpu/drm/drm_sysfs.c | 42 +-------------
drivers/soc/qcom/pmic_glink_altmode.c | 3 +-
drivers/usb/typec/class.c | 14 +++++
drivers/usb/typec/tcpm/qcom/Makefile | 4 ++
drivers/usb/typec/tcpm/qcom/qcom_pmic_typec.c | 56 ++++++-------------
.../usb/typec/tcpm/qcom/qcom_pmic_typec_drm.c | 40 +++++++++++++
.../usb/typec/tcpm/qcom/qcom_pmic_typec_drm.h | 22 ++++++++
drivers/usb/typec/tcpm/tcpm.c | 14 +++++
include/drm/drm_bridge.h | 9 ++-
include/linux/usb/tcpm.h | 2 +
include/linux/usb/typec.h | 2 +
14 files changed, 146 insertions(+), 88 deletions(-)
create mode 100644 drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_drm.c
create mode 100644 drivers/usb/typec/tcpm/qcom/qcom_pmic_typec_drm.h

--
2.39.2