19 Oct
2015
19 Oct
'15
12:23 p.m.
On Fri, Oct 16, 2015 at 11:24:24AM +0200, David Henningsson wrote:
Signed-off-by: David Henningsson david.henningsson@canonical.com
Queued for -next, thanks for the patch. -Daniel
Now rebased against drm-intel git master.
include/drm/i915_component.h | 69 ++++++++++++++++++++++++++++++++------------ 1 file changed, 51 insertions(+), 18 deletions(-)
diff --git a/include/drm/i915_component.h b/include/drm/i915_component.h index 30d89e0..fab1385 100644 --- a/include/drm/i915_component.h +++ b/include/drm/i915_component.h @@ -31,47 +31,80 @@ #define MAX_PORTS 5
/**
- struct i915_audio_component_ops - callbacks defined in gfx driver
- @owner: the module owner
- @get_power: get the POWER_DOMAIN_AUDIO power well
- @put_power: put the POWER_DOMAIN_AUDIO power well
- @codec_wake_override: Enable/Disable generating the codec wake signal
- @get_cdclk_freq: get the Core Display Clock in KHz
- @sync_audio_rate: set n/cts based on the sample rate
*/
- struct i915_audio_component_ops - Ops implemented by i915 driver, called by hda driver
struct i915_audio_component_ops {
- /**
* @owner: i915 module
struct module *owner;*/
- /**
* @get_power: get the POWER_DOMAIN_AUDIO power well
*
* Request the power well to be turned on.
void (*get_power)(struct device *);*/
- /**
* @put_power: put the POWER_DOMAIN_AUDIO power well
*
* Allow the power well to be turned off.
void (*put_power)(struct device *);*/
- /**
* @codec_wake_override: Enable/disable codec wake signal
void (*codec_wake_override)(struct device *, bool enable);*/
- /**
* @get_cdclk_freq: Get the Core Display Clock in kHz
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);*/
};
+/**
- struct i915_audio_component_audio_ops - Ops implemented by hda driver, called by i915 driver
- */
struct i915_audio_component_audio_ops {
- /**
* @audio_ptr: Pointer to be used in call to pin_eld_notify
void *audio_ptr; /***/
* Call from i915 driver, notifying the HDA driver that
* pin sense and/or ELD information has changed.
* @audio_ptr: HDA driver object
* @port: Which port has changed (PORTA / PORTB / PORTC etc)
* @pin_eld_notify: Notify the HDA driver that pin sense and/or ELD information has changed
*
* Called when the i915 driver has set up audio pipeline or has just
* begun to tear it down. This allows the HDA driver to update its
* status accordingly (even when the HDA controller is in power save
*/ void (*pin_eld_notify)(void *audio_ptr, int port);* mode).
};
/**
- struct i915_audio_component - used for audio video interaction
- @dev: the device from gfx driver
- @aud_sample_rate: the array of audio sample rate per port
- @ops: callback for audio driver calling
- @audio_ops: Call from i915 driver
*/
- struct i915_audio_component - Used for direct communication between i915 and hda drivers
struct i915_audio_component {
- /**
* @dev: i915 device, used as parameter for ops
struct device *dev;*/
- /**
* @aud_sample_rate: the array of audio sample rate per port
int aud_sample_rate[MAX_PORTS];*/
- /**
* @ops: Ops implemented by i915 driver, called by hda driver
const struct i915_audio_component_ops *ops;*/
- /**
* @audio_ops: Ops implemented by hda driver, called by i915 driver
const struct i915_audio_component_audio_ops *audio_ops;*/
};
-- 1.9.1
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch