linux/sound/soc
Pandiyan, Dhinakaran f931894194 drm/i915/dp: DP audio API changes for MST
DP MST provides the capability to send multiple video and audio streams
through a single port. This requires the API's between i915 and audio
drivers to distinguish between multiple audio capable displays that can be
connected to a port. Currently only the port identity is shared in the
APIs. This patch adds support for MST with an additional parameter
'int pipe'. The existing parameter 'port' does not change it's meaning.

pipe =
	MST	: display pipe that the stream originates from
	Non-MST	: -1

Affected APIs:
struct i915_audio_component_ops
-       int (*sync_audio_rate)(struct device *, int port, int rate);
+	int (*sync_audio_rate)(struct device *, int port, int pipe,
+	     int rate);

-       int (*get_eld)(struct device *, int port, bool *enabled,
-                       unsigned char *buf, int max_bytes);
+       int (*get_eld)(struct device *, int port, int pipe,
+		       bool *enabled, unsigned char *buf, int max_bytes);

struct i915_audio_component_audio_ops
-       void (*pin_eld_notify)(void *audio_ptr, int port);
+       void (*pin_eld_notify)(void *audio_ptr, int port, int pipe);

This patch makes dummy changes in the audio drivers (thanks Libin) for
build to succeed. The audio side drivers will send the right 'pipe' values
for MST in patches that will follow.

v2:
Renamed the new API parameter from 'dev_id' to 'pipe'. (Jim, Ville)
Included Asoc driver API compatibility changes from Jeeja.
Added WARN_ON() for invalid pipe in get_saved_encoder(). (Takashi)
Added comment for av_enc_map[] definition. (Takashi)

v3:
Fixed logic error introduced while renaming 'dev_id' as 'pipe' (Ville)
Renamed get_saved_encoder() to get_saved_enc() to reduce line length

v4:
Rebased.
Parameter check for pipe < -1 values in get_saved_enc() (Ville)
Switched to for_each_pipe() in get_saved_enc() (Ville)
Renamed 'pipe' to 'dev_id' in audio side code (Takashi)

v5:
Included a comment for the dev_id arg. (Libin)

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1474488168-2343-1-git-send-email-dhinakaran.pandiyan@intel.com
2016-09-22 09:01:55 -07:00
..
adi
amd ASoC: AMD: free memory on error 2016-01-13 12:32:04 +00:00
atmel ASoC: atmel_ssc_dai: Fix DMA params for different SSC 2016-07-07 12:00:07 +02:00
au1x ASoC: au1x: use correct format specifier 2016-04-13 06:39:36 +01:00
bcm ASoC: cygnus: Add Cygnus audio DMA driver 2016-05-31 17:50:42 +01:00
blackfin
cirrus
codecs drm/i915/dp: DP audio API changes for MST 2016-09-22 09:01:55 -07:00
davinci ASoC: davinci-mcasp: Use a copy of pdata per instance during DT boot 2016-06-02 10:58:19 +01:00
dwc SoC: dwc: trivial fix of spelling mistake "unsuppted" -> "unsupported" 2016-06-26 02:18:52 +01:00
fsl Merge remote-tracking branches 'asoc/topic/fsl-spdif', 'asoc/topic/hdmi', 'asoc/topic/maintainers' and 'asoc/topic/max8960' into asoc-next 2016-07-24 22:07:35 +01:00
generic ASoC: simple-card: use asoc_simple_card_parse_card_name() 2016-07-16 13:03:04 +01:00
img
intel Merge remote-tracking branch 'asoc/topic/intel' into asoc-next 2016-07-24 22:07:22 +01:00
jz4740
kirkwood ASoC: kirkwood: fix build failure 2016-05-23 17:50:51 +01:00
mediatek ASoC: mediatek: Add HDMI dai-links to the mt8173-rt5650 machine driver 2016-07-14 17:31:18 +01:00
mxs Merge remote-tracking branches 'asoc/topic/max98926', 'asoc/topic/mtk', 'asoc/topic/mxs-saif', 'asoc/topic/nau8825' and 'asoc/topic/omap' into asoc-next 2016-03-13 15:17:18 +07:00
nuc900 dma, mm/pat: Rename dma_*_writecombine() to dma_*_wc() 2016-03-09 14:57:51 +01:00
omap Merge tag 'drm-for-v4.8' of git://people.freedesktop.org/~airlied/linux 2016-08-01 21:44:08 -04:00
pxa ASoC: pxa: Fix module autoload for platform drivers 2016-05-06 17:42:28 +01:00
qcom remove lots of IS_ERR_VALUE abuses 2016-05-27 15:26:11 -07:00
rockchip ASoC: rockchip: correct the spdif clk 2016-07-18 15:38:28 +01:00
samsung ASoC: samsung: Specify DMA channels through struct snd_dmaengine_pcm_config 2016-07-21 19:18:17 +01:00
sh Merge remote-tracking branches 'asoc/topic/omap', 'asoc/topic/rcar' and 'asoc/topic/rockchip' into asoc-next 2016-07-24 22:07:40 +01:00
sirf
spear
sti ASoC: sti: fix return value check in uni_player_parse_dt_audio_glue() 2016-06-13 16:37:19 +01:00
sunxi ASoC: sunxi: remove redundant dev_err call in sun4i_i2s_probe() 2016-07-04 17:28:30 +02:00
tegra Merge remote-tracking branches 'asoc/topic/tegra', 'asoc/topic/topology', 'asoc/topic/wm8903' and 'asoc/topic/wm8904' into asoc-next 2015-12-23 00:23:52 +00:00
txx9
ux500
xtensa
zte
Kconfig ALSA: jack: Allow building the jack layer without input device 2016-02-23 09:03:07 +01:00
Makefile Merge remote-tracking branches 'asoc/topic/adsp' and 'asoc/topic/amd' into asoc-next 2016-01-11 13:54:32 +00:00
soc-ac97.c ASoC: ac97: use gpiochip data pointer 2016-04-26 15:36:57 +02:00
soc-cache.c
soc-compress.c ASoC: compress: Pass error out of soc_compr_pointer 2016-06-22 16:16:02 +01:00
soc-core.c ASoC: Add kerneldoc comments for snd_soc_find_dai 2016-04-22 10:42:03 +01:00
soc-dapm.c Merge remote-tracking branches 'asoc/topic/dpcm', 'asoc/topic/dt', 'asoc/topic/dwc' and 'asoc/topic/fsl' into asoc-next 2016-07-24 22:07:33 +01:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: dmaengine_pcm: Add support for packed transfers 2016-04-27 17:34:11 +01:00
soc-io.c
soc-jack.c
soc-ops.c Merge remote-tracking branches 'asoc/topic/kcontrol', 'asoc/topic/max98357a' and 'asoc/topic/mtk' into asoc-next 2015-12-23 00:23:44 +00:00
soc-pcm.c ASoC: dpcm: play nice with CODEC<->CODEC links 2016-05-30 16:15:10 +01:00
soc-topology.c ASoC: topology: Fix memory leak in widget creation 2016-05-05 16:46:29 +01:00
soc-utils.c