Re: [PATCH 3/4] drm/uapi: document the USB subconnector type

From: Dmitry Baryshkov
Date: Wed Aug 02 2023 - 15:23:22 EST


2 августа 2023 г. 22:13:51 GMT+03:00, Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> пишет:
>On Wed, Aug 02, 2023 at 10:01:19PM +0300, Dmitry Baryshkov wrote:
>> On 02/08/2023 21:55, Laurent Pinchart wrote:
>> > Hi Dmitry,
>> >
>> > Thank you for the patch.
>> >
>> > On Sat, Jul 29, 2023 at 03:49:12AM +0300, Dmitry Baryshkov wrote:
>> >> To properly define the USB-C DP altmode connectors, add the USB
>> >> subconnector type.
>> >>
>> >> Suggested-by: Simon Ser <contact@xxxxxxxxxxx>
>> >> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
>> >> ---
>> >> drivers/gpu/drm/drm_connector.c | 1 +
>> >> include/uapi/drm/drm_mode.h | 1 +
>> >> 2 files changed, 2 insertions(+)
>> >>
>> >> diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c
>> >> index a6066e4a5e9a..9e96b038f5d0 100644
>> >> --- a/drivers/gpu/drm/drm_connector.c
>> >> +++ b/drivers/gpu/drm/drm_connector.c
>> >> @@ -1050,6 +1050,7 @@ static const struct drm_prop_enum_list drm_dp_subconnector_enum_list[] = {
>> >> { DRM_MODE_SUBCONNECTOR_DisplayPort, "DP" }, /* DP */
>> >> { DRM_MODE_SUBCONNECTOR_Wireless, "Wireless" }, /* DP */
>> >> { DRM_MODE_SUBCONNECTOR_Native, "Native" }, /* DP */
>> >> + { DRM_MODE_SUBCONNECTOR_USB, "USB" }, /* DP */
>> >
>> > Should this be DRM_MODE_SUBCONNECTOR_USB_C and "USB-C", in case we get
>> > another USB type later ?
>>
>> Hmm, which id should I use for micro-USB then? (consider anx7808,
>> SlimPort). I thought about using DRM_MODE_SUBCONNECTOR_USB for both of
>> them. But maybe I should add another subtype for SlimPort.
>
>I suppose it depends on whether userspace needs a way to differentiate
>those. Do you have a good visibility on the userspace use cases ?

No. I'm not even sure, which userspace handles subtypes properly.

For the reference, SlimPort is mostly legacy hardware, think about Nexus 4, 5, 6, 7 (2013)


>
>> >> };
>> >>
>> >> DRM_ENUM_NAME_FN(drm_get_dp_subconnector_name,
>> >> diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h
>> >> index 92d96a2b6763..0f74918b011c 100644
>> >> --- a/include/uapi/drm/drm_mode.h
>> >> +++ b/include/uapi/drm/drm_mode.h
>> >> @@ -398,6 +398,7 @@ enum drm_mode_subconnector {
>> >> DRM_MODE_SUBCONNECTOR_HDMIA = 11, /* DP */
>> >> DRM_MODE_SUBCONNECTOR_Native = 15, /* DP */
>> >> DRM_MODE_SUBCONNECTOR_Wireless = 18, /* DP */
>> >> + DRM_MODE_SUBCONNECTOR_USB = 20, /* DP */
>> >> };
>> >>
>> >> #define DRM_MODE_CONNECTOR_Unknown 0
>