summaryrefslogtreecommitdiffstats
path: root/include/drm
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2015-10-07 15:34:15 +0200
committerDaniel Vetter <daniel.vetter@ffwll.ch>2015-10-07 16:05:04 +0200
commit2844659842017c981f6e6f74aca3a7ebe10edebb (patch)
tree0913d12fbf8ac2a58e8d29bec40a539e213c6d07 /include/drm
parent143875400b33fc20e9dd060e90034f2e9e9ffc98 (diff)
parent87f77eff710db012a994ee319b5627c26a7b2204 (diff)
downloadlinux-2844659842017c981f6e6f74aca3a7ebe10edebb.tar.bz2
Merge remote-tracking branch 'takashi/topic/drm-sync-audio-rate' into drm-intel-next-queued
Pull in the i915/hda changes for N/CTS setting so I can apply the follow-up documentation work for drm/i915. Some conflicts because ofc we had to rework i915 while that N/CTS work was going on. But not more than adjacent changes really. Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Diffstat (limited to 'include/drm')
-rw-r--r--include/drm/i915_component.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/drm/i915_component.h b/include/drm/i915_component.h
index b2d56dd483d9..89dc7d6bc1cc 100644
--- a/include/drm/i915_component.h
+++ b/include/drm/i915_component.h
@@ -24,8 +24,18 @@
#ifndef _I915_COMPONENT_H_
#define _I915_COMPONENT_H_
+/* MAX_PORT is the number of port
+ * It must be sync with I915_MAX_PORTS defined i915_drv.h
+ * 5 should be enough as only HSW, BDW, SKL need such fix.
+ */
+#define MAX_PORTS 5
+
struct i915_audio_component {
struct device *dev;
+ /**
+ * @aud_sample_rate: the array of audio sample rate per port
+ */
+ int aud_sample_rate[MAX_PORTS];
const struct i915_audio_component_ops {
struct module *owner;
@@ -33,6 +43,13 @@ struct i915_audio_component {
void (*put_power)(struct device *);
void (*codec_wake_override)(struct device *, bool enable);
int (*get_cdclk_freq)(struct device *);
+ /**
+ * @sync_audio_rate: set n/cts based on the sample rate
+ *
+ * Called from audio driver. After audio driver sets the
+ * sample rate, it will call this function to set n/cts
+ */
+ int (*sync_audio_rate)(struct device *, int port, int rate);
} *ops;
const struct i915_audio_component_audio_ops {