diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2015-10-07 15:34:15 +0200 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2015-10-07 16:05:04 +0200 |
commit | 2844659842017c981f6e6f74aca3a7ebe10edebb (patch) | |
tree | 0913d12fbf8ac2a58e8d29bec40a539e213c6d07 /include/drm | |
parent | 143875400b33fc20e9dd060e90034f2e9e9ffc98 (diff) | |
parent | 87f77eff710db012a994ee319b5627c26a7b2204 (diff) | |
download | op-kernel-dev-2844659842017c981f6e6f74aca3a7ebe10edebb.zip op-kernel-dev-2844659842017c981f6e6f74aca3a7ebe10edebb.tar.gz |
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.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/drm/i915_component.h b/include/drm/i915_component.h index b2d56dd..89dc7d6 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 { |