This is the initial addition of documentation for the drm module's sysfs
entries.  It provides a drm sysfs entries overview, and a detailed
description of the new drm per output connector "polled" entry in sysfs.

Signed-of-by: Andy Walls <awa...@md.metrocast.net>

diff --git a/Documentation/ABI/testing/sysfs-drm 
b/Documentation/ABI/testing/sysfs-drm
new file mode 100644
index 0000000..18a017a
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-drm
@@ -0,0 +1,208 @@
+Direct Rendering Infrastructure (DRI) Direct Rendering Manager (drm) module
+and Translation Table Manager (ttm) module sysfs entries
+
+Example class view showing a single graphics adapter with three output
+connectors, a special control device node for the graphics adapter, and the
+Translation Table Manager (ttm) graphics memory manager virtual device:
+
+    /sys/class/drm/
+    ├── card0               -> ../../devices/<...>/drm/card0
+    ├── card0-DVI-D-1       -> ../../devices/<...>/drm/card0/card0-DVI-D-1
+    ├── card0-HDMI Type A-1 -> ../../devices/<...>/drm/card0/card0-HDMI Type 
A-1
+    ├── card0-VGA-1         -> ../../devices/<...>/drm/card0/card0-VGA-1
+    ├── controlD64          -> ../../devices/<...>/drm/controlD64
+    ├── ttm                 -> ../../devices/virtual/drm/ttm
+    └── version
+
+    6 directories, 1 file
+
+
+Corresponding DRI device nodes for the example graphics adapter, with
+additional ACL properties on card0 granting rw perms to the X/console user:
+
+    crw-rw----+ 1 root video 226,  0 2010-09-21 20:52 /dev/dri/card0
+    crw-rw-rw-. 1 root video 226, 64 2010-09-21 20:51 /dev/dri/controlD64
+
+
+Example physical device view for a single graphics adapter with three output
+connectors and a special control device node for the graphics adapter:
+
+    /sys/devices/<...>/drm
+    ├── card0
+    │   ├── card0-DVI-D-1
+    │   │   ├── device -> ../../card0
+    │   │   ├── dpms
+    │   │   ├── edid
+    │   │   ├── enabled
+    │   │   ├── modes
+    │   │   ├── polled
+    │   │   ├── power
+    │   │   │   ├── control
+    │   │   │   ├── runtime_active_time
+    │   │   │   ├── runtime_status
+    │   │   │   ├── runtime_suspended_time
+    │   │   │   ├── wakeup
+    │   │   │   └── wakeup_count
+    │   │   ├── status
+    │   │   ├── subsystem -> ../../../../../../../class/drm
+    │   │   └── uevent
+    │   ├── card0-HDMI Type A-1
+    │   │   ├── device -> ../../card0
+    │   │   ├── dpms
+    │   │   ├── edid
+    │   │   ├── enabled
+    │   │   ├── modes
+    │   │   ├── polled
+    │   │   ├── power
+    │   │   │   ├── control
+    │   │   │   ├── runtime_active_time
+    │   │   │   ├── runtime_status
+    │   │   │   ├── runtime_suspended_time
+    │   │   │   ├── wakeup
+    │   │   │   └── wakeup_count
+    │   │   ├── status
+    │   │   ├── subsystem -> ../../../../../../../class/drm
+    │   │   └── uevent
+    │   ├── card0-VGA-1
+    │   │   ├── device -> ../../card0
+    │   │   ├── dpms
+    │   │   ├── edid
+    │   │   ├── enabled
+    │   │   ├── modes
+    │   │   ├── polled
+    │   │   ├── power
+    │   │   │   ├── control
+    │   │   │   ├── runtime_active_time
+    │   │   │   ├── runtime_status
+    │   │   │   ├── runtime_suspended_time
+    │   │   │   ├── wakeup
+    │   │   │   └── wakeup_count
+    │   │   ├── status
+    │   │   ├── subsystem -> ../../../../../../../class/drm
+    │   │   └── uevent
+    │   ├── dev
+    │   ├── device -> ../../../0000:01:05.0
+    │   ├── power
+    │   │   ├── control
+    │   │   ├── runtime_active_time
+    │   │   ├── runtime_status
+    │   │   ├── runtime_suspended_time
+    │   │   ├── wakeup
+    │   │   └── wakeup_count
+    │   ├── subsystem -> ../../../../../../class/drm
+    │   └── uevent
+    └── controlD64
+        ├── dev
+        ├── device -> ../../../0000:01:05.0
+        ├── power
+        │   ├── control
+        │   ├── runtime_active_time
+        │   ├── runtime_status
+        │   ├── runtime_suspended_time
+        │   ├── wakeup
+        │   └── wakeup_count
+        ├── subsystem -> ../../../../../../class/drm
+        └── uevent
+
+    20 directories, 55 files
+
+
+Example virtual device view view showing the Translation Table Manager (ttm)
+graphics memory manager virtual device:
+
+    /sys/devices/virtual/drm
+    └── ttm
+        ├── buffer_objects
+        │   └── bo_count
+        ├── memory_accounting
+        │   ├── kernel
+        │   │   ├── available_memory
+        │   │   ├── emergency_memory
+        │   │   ├── swap_limit
+        │   │   ├── used_memory
+        │   │   └── zone_memory
+        │   └── pool
+        │       ├── pool_allocation_size
+        │       ├── pool_max_size
+        │       └── pool_small_allocation
+        ├── power
+        │   ├── control
+        │   ├── runtime_active_time
+        │   ├── runtime_status
+        │   ├── runtime_suspended_time
+        │   ├── wakeup
+        │   └── wakeup_count
+        ├── subsystem -> ../../../../class/drm
+        └── uevent
+
+    7 directories, 16 files
+
+
+
+Where:         /sys/devices/<...>/drm/cardN/cardN-C-M/polled
+               For N a decimal system graphics adapter number: 0, 1, 2, ...
+               For C a connector type name (including spaces) from the set:
+                       Unknown
+                       VGA
+                       DVI-I
+                       DVI-D
+                       DVI-A
+                       Composite
+                       SVIDEO
+                       LVDS
+                       Component
+                       9-pin DIN
+                       DisplayPort
+                       HDMI Type A
+                       HDMI Type B
+                       TV
+                       Embedded DisplayPort
+               For M a decimal connector number for connectors of that type
+                       over all the graphics adapters in the system: 1, 2, ...
+Date:          22 September 2010
+KernelVersion: 2.6.37
+Contact:       Andy Walls <awa...@md.metrocast.net>
+Description:
+               Manual control over DRM Kernel Mode Set (KMS) output connector
+               hotplug/connect/disconnect polling criteria.  The graphics
+               adapter drm driver (e.g. radeon, i915, nouveau) will detect
+               the available connectors on a graphics adapter and set polling
+               criteria flags for the connector to specify for what events the
+               0.1 Hz DRM KMS poll of the connector should look.
+
+               A read of the contents of this entry will show what flags are
+               available, with the names of flags that are set for the
+               connector enclosed in brackets:
+
+                       # cat /sys/devices/.../drm/card0/card0-DVI-D-1/polled
+                       [hotplug_detectable] connect disconnect
+
+               A write of flags names to this entry, will clear the current
+               flag settings and set the poll criteria flags for that
+               connector to those specified names:
+
+                       # echo " disconnect  connect " > \
+                               /sys/devices/.../drm/card0/card0-DVI-D-1/polled
+                       # cat /sys/devices/.../drm/card0/card0-DVI-D-1/polled
+                       hotplug_detectable [connect] [disconnect]
+
+                       # echo > /sys/devices/.../drm/card0/card0-DVI-D-1/polled
+                       # cat /sys/devices/.../drm/card0/card0-DVI-D-1/polled
+                       hotplug_detectable connect disconnect
+
+               The flags have the following meanings in drm_crtc_helper.c:
+
+                       hotplug_detectable:
+                          always attempt to detect connection status upon poll
+                          don't automatically set up another poll of connector
+
+                       connect:
+                          attempt to detect "connect" events
+                          automatically set up another poll of connector
+
+                       disconnect:
+                          attempt to detect "disconnect" events
+                          automatically set up another poll of connector
+
+               Clearing all three flags will disable any detection actions
+               being taken for that connector during the 0.1 Hz poll.





_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to