|
@@ -88,41 +88,38 @@ struct videomode;
|
|
|
#include <drm/drm_hashtab.h>
|
|
|
#include <drm/drm_mm.h>
|
|
|
|
|
|
-#define DRM_UT_CORE 0x01
|
|
|
-#define DRM_UT_DRIVER 0x02
|
|
|
-#define DRM_UT_KMS 0x04
|
|
|
-#define DRM_UT_PRIME 0x08
|
|
|
/*
|
|
|
- * Three debug levels are defined.
|
|
|
- * drm_core, drm_driver, drm_kms
|
|
|
- * drm_core level can be used in the generic drm code. For example:
|
|
|
- * drm_ioctl, drm_mm, drm_memory
|
|
|
- * The macro definition of DRM_DEBUG is used.
|
|
|
- * DRM_DEBUG(fmt, args...)
|
|
|
- * The debug info by using the DRM_DEBUG can be obtained by adding
|
|
|
- * the boot option of "drm.debug=1".
|
|
|
+ * 4 debug categories are defined:
|
|
|
+ *
|
|
|
+ * CORE: Used in the generic drm code: drm_ioctl.c, drm_mm.c, drm_memory.c, ...
|
|
|
+ * This is the category used by the DRM_DEBUG() macro.
|
|
|
+ *
|
|
|
+ * DRIVER: Used in the vendor specific part of the driver: i915, radeon, ...
|
|
|
+ * This is the category used by the DRM_DEBUG_DRIVER() macro.
|
|
|
*
|
|
|
- * drm_driver level can be used in the specific drm driver. It is used
|
|
|
- * to add the debug info related with the drm driver. For example:
|
|
|
- * i915_drv, i915_dma, i915_gem, radeon_drv,
|
|
|
- * The macro definition of DRM_DEBUG_DRIVER can be used.
|
|
|
- * DRM_DEBUG_DRIVER(fmt, args...)
|
|
|
- * The debug info by using the DRM_DEBUG_DRIVER can be obtained by
|
|
|
- * adding the boot option of "drm.debug=0x02"
|
|
|
+ * KMS: used in the modesetting code.
|
|
|
+ * This is the category used by the DRM_DEBUG_KMS() macro.
|
|
|
*
|
|
|
- * drm_kms level can be used in the KMS code related with specific drm driver.
|
|
|
- * It is used to add the debug info related with KMS mode. For example:
|
|
|
- * the connector/crtc ,
|
|
|
- * The macro definition of DRM_DEBUG_KMS can be used.
|
|
|
- * DRM_DEBUG_KMS(fmt, args...)
|
|
|
- * The debug info by using the DRM_DEBUG_KMS can be obtained by
|
|
|
- * adding the boot option of "drm.debug=0x04"
|
|
|
+ * PRIME: used in the prime code.
|
|
|
+ * This is the category used by the DRM_DEBUG_PRIME() macro.
|
|
|
*
|
|
|
- * If we add the boot option of "drm.debug=0x06", we can get the debug info by
|
|
|
- * using the DRM_DEBUG_KMS and DRM_DEBUG_DRIVER.
|
|
|
- * If we add the boot option of "drm.debug=0x05", we can get the debug info by
|
|
|
- * using the DRM_DEBUG_KMS and DRM_DEBUG.
|
|
|
+ * Enabling verbose debug messages is done through the drm.debug parameter,
|
|
|
+ * each category being enabled by a bit.
|
|
|
+ *
|
|
|
+ * drm.debug=0x1 will enable CORE messages
|
|
|
+ * drm.debug=0x2 will enable DRIVER messages
|
|
|
+ * drm.debug=0x3 will enable CORE and DRIVER messages
|
|
|
+ * ...
|
|
|
+ * drm.debug=0xf will enable all messages
|
|
|
+ *
|
|
|
+ * An interesting feature is that it's possible to enable verbose logging at
|
|
|
+ * run-time by echoing the debug value in its sysfs node:
|
|
|
+ * # echo 0xf > /sys/module/drm/parameters/debug
|
|
|
*/
|
|
|
+#define DRM_UT_CORE 0x01
|
|
|
+#define DRM_UT_DRIVER 0x02
|
|
|
+#define DRM_UT_KMS 0x04
|
|
|
+#define DRM_UT_PRIME 0x08
|
|
|
|
|
|
extern __printf(4, 5)
|
|
|
void drm_ut_debug_printk(unsigned int request_level,
|