|
@@ -28,6 +28,27 @@
|
|
|
#include "intel_drv.h"
|
|
|
#include "i915_drv.h"
|
|
|
|
|
|
+/**
|
|
|
+ * DOC: High Definition Audio over HDMI and Display Port
|
|
|
+ *
|
|
|
+ * The graphics and audio drivers together support High Definition Audio over
|
|
|
+ * HDMI and Display Port. The audio programming sequences are divided into audio
|
|
|
+ * codec and controller enable and disable sequences. The graphics driver
|
|
|
+ * handles the audio codec sequences, while the audio driver handles the audio
|
|
|
+ * controller sequences.
|
|
|
+ *
|
|
|
+ * The disable sequences must be performed before disabling the transcoder or
|
|
|
+ * port. The enable sequences may only be performed after enabling the
|
|
|
+ * transcoder and port, and after completed link training.
|
|
|
+ *
|
|
|
+ * The codec and controller sequences could be done either parallel or serial,
|
|
|
+ * but generally the ELDV/PD change in the codec sequence indicates to the audio
|
|
|
+ * driver that the controller sequence should start. Indeed, most of the
|
|
|
+ * co-operation between the graphics and audio drivers is handled via audio
|
|
|
+ * related registers. (The notable exception is the power management, not
|
|
|
+ * covered here.)
|
|
|
+ */
|
|
|
+
|
|
|
static const struct {
|
|
|
int clock;
|
|
|
u32 config;
|