[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