2019-06-01 10:08:42 +02:00
|
|
|
|
2006-01-20 14:08:59 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-08-17 23:51:55 +02:00
|
|
|
|
drm/sysfs: Link DRM connectors to corresponding Type-C connectors
Create a symlink pointing to USB Type-C connector for DRM connectors
when they are created. The link will be created only if the firmware is
able to describe the connection beween the two connectors.
Currently, even if a display uses a USB Type-C port, there is no way for
the userspace to find which port is used for which display. With the
symlink, display information would be accessible from Type-C connectors
and port information would be accessible from DRM connectors.
Associating the two subsystems, userspace would have potential to expose
and utilize more complex information. ChromeOS intend to use this
information for metrics collection. For example, we want to tell which
port is deriving which displays. Also, combined with USB PD information,
we can tell whether user is charging their device through display.
Chromium patch for parsing the symlink from the kernel is at
http://crrev.com/c/4317207.
We already have a framework in typec port-mapper.c where it goes through
component devices and runs the bind functions for those with matching
_PLD (physical location of device).
https://elixir.bootlin.com/linux/v5.18.1/source/drivers/usb/typec/
port-mapper.c
Since _PLD is ACPI specific field, this linking would only work on ACPI
x86 as long as _PLD field for Type-C connectors and DRM connectors are
correctly added to the firmware.
Currently, USB ports and USB4 ports are added as components to create a
symlink with Type C connector.
USB:
https://lore.kernel.org/all/20211223082349.45616-1-heikki.krogerus
@linux.intel.com/
USB4:
https://lore.kernel.org/all/20220418175932.1809770-3-wonchung@google.com/
So, we follow the same pattern in this patch.
Signed-off-by: Won Chung <wonchung@google.com>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Manasi Navare <navaremanasi@chromium.org>
Signed-off-by: Manasi Navare <navaremanasi@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230427165813.2844530-1-wonchung@google.com
2023-04-27 16:58:13 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2011-08-30 18:16:33 -04:00
|
|
|
|
2019-05-26 19:35:35 +02:00
|
|
|
|
2019-07-26 19:22:55 +02:00
|
|
|
|
2019-05-26 19:35:35 +02:00
|
|
|
|
drm/sysfs: Link DRM connectors to corresponding Type-C connectors
Create a symlink pointing to USB Type-C connector for DRM connectors
when they are created. The link will be created only if the firmware is
able to describe the connection beween the two connectors.
Currently, even if a display uses a USB Type-C port, there is no way for
the userspace to find which port is used for which display. With the
symlink, display information would be accessible from Type-C connectors
and port information would be accessible from DRM connectors.
Associating the two subsystems, userspace would have potential to expose
and utilize more complex information. ChromeOS intend to use this
information for metrics collection. For example, we want to tell which
port is deriving which displays. Also, combined with USB PD information,
we can tell whether user is charging their device through display.
Chromium patch for parsing the symlink from the kernel is at
http://crrev.com/c/4317207.
We already have a framework in typec port-mapper.c where it goes through
component devices and runs the bind functions for those with matching
_PLD (physical location of device).
https://elixir.bootlin.com/linux/v5.18.1/source/drivers/usb/typec/
port-mapper.c
Since _PLD is ACPI specific field, this linking would only work on ACPI
x86 as long as _PLD field for Type-C connectors and DRM connectors are
correctly added to the firmware.
Currently, USB ports and USB4 ports are added as components to create a
symlink with Type C connector.
USB:
https://lore.kernel.org/all/20211223082349.45616-1-heikki.krogerus
@linux.intel.com/
USB4:
https://lore.kernel.org/all/20220418175932.1809770-3-wonchung@google.com/
So, we follow the same pattern in this patch.
Signed-off-by: Won Chung <wonchung@google.com>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Manasi Navare <navaremanasi@chromium.org>
Signed-off-by: Manasi Navare <navaremanasi@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230427165813.2844530-1-wonchung@google.com
2023-04-27 16:58:13 +00:00
|
|
|
|
2019-05-26 19:35:35 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2022-10-31 15:31:07 +02:00
|
|
|
|
2019-05-26 19:35:35 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-10-02 18:01:07 +01:00
|
|
|
|
2019-05-26 19:35:35 +02:00
|
|
|
|
2014-09-10 12:43:53 +02:00
|
|
|
|
2019-08-01 17:11:16 +05:30
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-10-11 14:07:25 +10:00
|
|
|
|
|
|
|
|
|
2007-11-22 14:02:38 +10:00
|
|
|
|
2017-04-04 11:52:55 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-08-20 19:02:31 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-08-17 23:51:54 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-09-09 14:21:30 +02:00
|
|
|
|
|
|
|
|
|
2021-08-17 23:51:55 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-11-23 13:25:20 +01:00
|
|
|
|
2009-04-30 15:23:42 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
drm/sysfs: Link DRM connectors to corresponding Type-C connectors
Create a symlink pointing to USB Type-C connector for DRM connectors
when they are created. The link will be created only if the firmware is
able to describe the connection beween the two connectors.
Currently, even if a display uses a USB Type-C port, there is no way for
the userspace to find which port is used for which display. With the
symlink, display information would be accessible from Type-C connectors
and port information would be accessible from DRM connectors.
Associating the two subsystems, userspace would have potential to expose
and utilize more complex information. ChromeOS intend to use this
information for metrics collection. For example, we want to tell which
port is deriving which displays. Also, combined with USB PD information,
we can tell whether user is charging their device through display.
Chromium patch for parsing the symlink from the kernel is at
http://crrev.com/c/4317207.
We already have a framework in typec port-mapper.c where it goes through
component devices and runs the bind functions for those with matching
_PLD (physical location of device).
https://elixir.bootlin.com/linux/v5.18.1/source/drivers/usb/typec/
port-mapper.c
Since _PLD is ACPI specific field, this linking would only work on ACPI
x86 as long as _PLD field for Type-C connectors and DRM connectors are
correctly added to the firmware.
Currently, USB ports and USB4 ports are added as components to create a
symlink with Type C connector.
USB:
https://lore.kernel.org/all/20211223082349.45616-1-heikki.krogerus
@linux.intel.com/
USB4:
https://lore.kernel.org/all/20220418175932.1809770-3-wonchung@google.com/
So, we follow the same pattern in this patch.
Signed-off-by: Won Chung <wonchung@google.com>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Manasi Navare <navaremanasi@chromium.org>
Signed-off-by: Manasi Navare <navaremanasi@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230427165813.2844530-1-wonchung@google.com
2023-04-27 16:58:13 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
drm: drop obsolete drm_core.h
The drm_core.h header contains a set of constants meant to be used
throughout DRM. However, as it turns out, they're each used just once and
don't bring any benefit. They're also grossly mis-named and lack
name-spacing. This patch inlines them, or moves them into drm_internal.h
as appropriate:
- CORE_AUTHOR and CORE_DESC are inlined into corresponding MODULE_*()
macros. It's just confusing having to follow 2 pointers when trying to
find the definition of these fields. Grep'ping for MODULE_AUTHOR()
should reveal the full information, if there's no strong reason not to.
- CORE_NAME, CORE_DATE, CORE_MAJOR, CORE_MINOR, and CORE_PATCHLEVEL are
inlined into the sysfs 'version' attribute. They're stripped
everywhere else (which is just some printk() statements). CORE_NAME
just doesn't make *any* sense, as we hard-code it in many places,
anyway. The other constants are outdated and just serve
binary-compatibility purposes. Hence, inline them in 'version' sysfs
attribute (we might even try dropping it..).
- DRM_IF_MAJOR and DRM_IF_MINOR are moved into drm_internal.h as they're
only used by the global ioctl handlers. Furthermore, versioning
interfaces breaks backports and as such is deprecated, anyway. We just
keep them for historic reasons. I doubt anyone will ever modify them
again.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20160901124837.680-6-dh.herrmann@gmail.com
2016-09-01 14:48:36 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2015-09-09 14:21:30 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2015-09-09 14:21:30 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2015-09-09 14:21:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2015-09-09 14:21:30 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-10-10 14:23:37 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2023-03-13 19:18:35 +01:00
|
|
|
|
2015-09-09 14:21:30 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-10-10 14:23:37 -07:00
|
|
|
|
|
|
|
|
|
2015-09-09 14:21:30 +02:00
|
|
|
|
2021-08-17 23:51:55 +02:00
|
|
|
|
|
|
|
|
|
2015-09-09 14:21:30 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-11-22 14:02:38 +10:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2007-11-22 14:02:38 +10:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2007-11-22 14:02:38 +10:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2015-09-09 14:21:29 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2021-08-17 23:51:55 +02:00
|
|
|
|
2010-01-05 12:48:09 +01:00
|
|
|
|
2007-11-22 14:02:38 +10:00
|
|
|
|
2012-07-06 18:06:42 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2021-08-17 23:51:54 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-03-06 12:36:42 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-11-19 17:46:50 +01:00
|
|
|
|
2015-03-06 12:36:42 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-11-19 17:46:50 +01:00
|
|
|
|
2015-03-06 12:36:42 +00:00
|
|
|
|
2015-11-19 17:46:50 +01:00
|
|
|
|
2015-03-06 12:36:42 +00:00
|
|
|
|
2015-11-19 17:46:50 +01:00
|
|
|
|
2015-03-06 12:36:42 +00:00
|
|
|
|
2015-11-19 17:46:50 +01:00
|
|
|
|
2015-03-06 12:36:42 +00:00
|
|
|
|
2015-11-19 17:46:50 +01:00
|
|
|
|
2015-03-06 12:36:42 +00:00
|
|
|
|
2015-11-19 17:46:50 +01:00
|
|
|
|
2015-03-06 12:36:42 +00:00
|
|
|
|
|
|
|
|
|
2015-11-19 17:46:50 +01:00
|
|
|
|
2024-04-08 12:23:58 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-03-06 12:36:42 +00:00
|
|
|
|
2015-11-19 17:46:50 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-03-06 12:36:42 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-06-06 08:27:30 +10:00
|
|
|
|
2015-03-06 12:36:42 +00:00
|
|
|
|
|
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-03-30 11:45:13 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-03-15 11:40:00 +00:00
|
|
|
|
2021-03-22 09:19:38 +08:00
|
|
|
|
|
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-09-29 09:56:53 +02:00
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
2015-09-29 09:56:53 +02:00
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
2021-03-22 09:19:38 +08:00
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-03-30 11:45:13 +02:00
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
2016-03-30 11:45:13 +02:00
|
|
|
|
|
|
|
|
|
2021-03-22 09:19:38 +08:00
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
|
|
|
|
|
2010-05-12 18:28:57 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
2016-01-13 22:48:41 +08:00
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
2024-05-10 18:08:12 +03:00
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
2024-05-10 18:08:12 +03:00
|
|
|
|
2015-10-02 13:01:02 +02:00
|
|
|
|
|
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-10-02 13:01:02 +02:00
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
2020-03-11 08:35:40 +01:00
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
|
|
|
|
|
2015-10-02 13:01:02 +02:00
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-03-29 01:44:55 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-03-06 12:36:42 +00:00
|
|
|
|
2015-02-04 11:58:53 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-03-29 01:44:55 +00:00
|
|
|
|
2015-02-04 11:58:53 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-03-29 01:44:55 +00:00
|
|
|
|
2015-02-04 11:58:53 +01:00
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-05-30 20:42:26 -07:00
|
|
|
|
2010-03-29 21:43:23 +00:00
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-02-04 11:58:53 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-08-17 23:51:54 +02:00
|
|
|
|
|
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
2013-10-11 14:07:25 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-08-17 23:51:54 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-04-08 12:23:58 +03:00
|
|
|
|
|
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
2021-08-17 23:51:54 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
|
|
|
|
|
2021-08-17 23:51:54 +02:00
|
|
|
|
|
|
|
|
|
drm/sysfs: Link DRM connectors to corresponding Type-C connectors
Create a symlink pointing to USB Type-C connector for DRM connectors
when they are created. The link will be created only if the firmware is
able to describe the connection beween the two connectors.
Currently, even if a display uses a USB Type-C port, there is no way for
the userspace to find which port is used for which display. With the
symlink, display information would be accessible from Type-C connectors
and port information would be accessible from DRM connectors.
Associating the two subsystems, userspace would have potential to expose
and utilize more complex information. ChromeOS intend to use this
information for metrics collection. For example, we want to tell which
port is deriving which displays. Also, combined with USB PD information,
we can tell whether user is charging their device through display.
Chromium patch for parsing the symlink from the kernel is at
http://crrev.com/c/4317207.
We already have a framework in typec port-mapper.c where it goes through
component devices and runs the bind functions for those with matching
_PLD (physical location of device).
https://elixir.bootlin.com/linux/v5.18.1/source/drivers/usb/typec/
port-mapper.c
Since _PLD is ACPI specific field, this linking would only work on ACPI
x86 as long as _PLD field for Type-C connectors and DRM connectors are
correctly added to the firmware.
Currently, USB ports and USB4 ports are added as components to create a
symlink with Type C connector.
USB:
https://lore.kernel.org/all/20211223082349.45616-1-heikki.krogerus
@linux.intel.com/
USB4:
https://lore.kernel.org/all/20220418175932.1809770-3-wonchung@google.com/
So, we follow the same pattern in this patch.
Signed-off-by: Won Chung <wonchung@google.com>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Manasi Navare <navaremanasi@chromium.org>
Signed-off-by: Manasi Navare <navaremanasi@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230427165813.2844530-1-wonchung@google.com
2023-04-27 16:58:13 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
2021-08-17 23:51:54 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
|
|
|
|
|
2023-08-29 14:39:10 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
|
|
|
|
|
2013-10-11 14:07:25 +10:00
|
|
|
|
2012-02-20 14:15:02 +00:00
|
|
|
|
2019-07-26 19:22:55 +02:00
|
|
|
|
drm/sysfs: Link DRM connectors to corresponding Type-C connectors
Create a symlink pointing to USB Type-C connector for DRM connectors
when they are created. The link will be created only if the firmware is
able to describe the connection beween the two connectors.
Currently, even if a display uses a USB Type-C port, there is no way for
the userspace to find which port is used for which display. With the
symlink, display information would be accessible from Type-C connectors
and port information would be accessible from DRM connectors.
Associating the two subsystems, userspace would have potential to expose
and utilize more complex information. ChromeOS intend to use this
information for metrics collection. For example, we want to tell which
port is deriving which displays. Also, combined with USB PD information,
we can tell whether user is charging their device through display.
Chromium patch for parsing the symlink from the kernel is at
http://crrev.com/c/4317207.
We already have a framework in typec port-mapper.c where it goes through
component devices and runs the bind functions for those with matching
_PLD (physical location of device).
https://elixir.bootlin.com/linux/v5.18.1/source/drivers/usb/typec/
port-mapper.c
Since _PLD is ACPI specific field, this linking would only work on ACPI
x86 as long as _PLD field for Type-C connectors and DRM connectors are
correctly added to the firmware.
Currently, USB ports and USB4 ports are added as components to create a
symlink with Type C connector.
USB:
https://lore.kernel.org/all/20211223082349.45616-1-heikki.krogerus
@linux.intel.com/
USB4:
https://lore.kernel.org/all/20220418175932.1809770-3-wonchung@google.com/
So, we follow the same pattern in this patch.
Signed-off-by: Won Chung <wonchung@google.com>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Manasi Navare <navaremanasi@chromium.org>
Signed-off-by: Manasi Navare <navaremanasi@chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230427165813.2844530-1-wonchung@google.com
2023-04-27 16:58:13 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-04-08 12:23:58 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
2013-10-11 14:07:25 +10:00
|
|
|
|
|
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
|
|
|
|
|
2018-11-29 10:42:26 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-04-08 12:23:58 +03:00
|
|
|
|
2018-11-29 10:42:26 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-01 17:11:16 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-04-08 12:23:58 +03:00
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
2013-10-11 14:07:25 +10:00
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
2009-03-31 14:11:15 -07:00
|
|
|
|
2008-11-07 14:05:41 -08:00
|
|
|
|
2021-10-18 08:47:25 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-01 17:11:16 +05:30
|
|
|
|
2023-06-20 17:42:42 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-01 17:11:16 +05:30
|
|
|
|
2023-06-20 17:42:42 +00:00
|
|
|
|
2019-08-01 17:11:16 +05:30
|
|
|
|
2023-06-20 17:42:42 +00:00
|
|
|
|
2019-08-01 17:11:16 +05:30
|
|
|
|
2023-06-20 17:42:42 +00:00
|
|
|
|
|
|
|
|
|
2019-08-01 17:11:16 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-20 17:42:42 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-01 17:11:16 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-20 17:42:42 +00:00
|
|
|
|
2019-08-01 17:11:16 +05:30
|
|
|
|
2014-07-23 11:38:38 +02:00
|
|
|
|
2007-11-22 14:02:38 +10:00
|
|
|
|
2014-07-23 11:38:38 +02:00
|
|
|
|
|
|
|
|
|
2013-11-21 20:50:50 +10:00
|
|
|
|
2007-11-22 14:02:38 +10:00
|
|
|
|
2014-07-23 11:38:38 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-21 20:50:50 +10:00
|
|
|
|
2014-07-23 11:38:38 +02:00
|
|
|
|
2022-10-31 15:31:07 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-07-23 11:38:38 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-21 20:50:50 +10:00
|
|
|
|
2014-07-23 11:38:38 +02:00
|
|
|
|
2013-11-21 20:50:50 +10:00
|
|
|
|
2014-07-23 11:38:38 +02:00
|
|
|
|
2013-11-21 20:50:50 +10:00
|
|
|
|
2014-07-23 11:38:38 +02:00
|
|
|
|
2013-11-21 20:50:50 +10:00
|
|
|
|
2014-07-23 11:38:38 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2009-08-17 16:28:37 +02:00
|
|
|
|
2017-04-04 11:52:55 +02:00
|
|
|
|
|
|
|
|
|
2009-08-17 16:28:37 +02:00
|
|
|
|
2017-04-04 11:52:55 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-08-17 16:28:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-06 18:06:42 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-08-17 16:28:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-04-04 11:52:55 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-08-17 16:28:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|