[alsa-devel] [PATCH v3] drm/i915: Improve kernel-doc for i915_audio_component struct
Daniel Vetter
daniel at ffwll.ch
Mon Oct 19 12:23:12 CEST 2015
On Fri, Oct 16, 2015 at 11:24:24AM +0200, David Henningsson wrote:
> Signed-off-by: David Henningsson <david.henningsson at 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
> + * mode).
> */
> void (*pin_eld_notify)(void *audio_ptr, int port);
> };
>
> /**
> - * 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
More information about the Alsa-devel
mailing list