android_kernel_oneplus_msm8998/sound/soc
Peter Ujfalusi 25772b11f8 ASoC: ti: davinci-mcasp: Correct slot_width posed constraint
[ Upstream commit 1e112c35e3c96db7c8ca6ddaa96574f00c06e7db ]

The slot_width is a property for the bus while the constraint for
SNDRV_PCM_HW_PARAM_SAMPLE_BITS is for the in memory format.

Applying slot_width constraint to sample_bits works most of the time, but
it will blacklist valid formats in some cases.

With slot_width 24 we can support S24_3LE and S24_LE formats as they both
look the same on the bus, but a a 24 constraint on sample_bits would not
allow S24_LE as it is stored in 32bits in memory.

Implement a simple hw_rule function to allow all formats which require less
or equal number of bits on the bus as slot_width (if configured).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Link: https://lore.kernel.org/r/20190726064244.3762-2-peter.ujfalusi@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-09-06 10:18:06 +02:00
..
adi
atmel ASoC: atmel-classd: fix audio clock rate 2017-04-08 09:53:31 +02:00
au1x ASoC: au1x: Fix timeout tests in au1xac97c_ac97_read() 2018-05-30 07:48:52 +02:00
bcm
blackfin
cirrus ASoC: cirrus: i2s: Fix {TX|RX}LinCtrlData setup 2018-07-03 11:21:27 +02:00
codecs ASoC: max98090: remove 24-bit format support if RJ is 0 2019-07-10 09:56:40 +02:00
davinci ASoC: ti: davinci-mcasp: Correct slot_width posed constraint 2019-09-06 10:18:06 +02:00
dwc Merge remote-tracking branches 'asoc/topic/dwc', 'asoc/topic/es8328', 'asoc/topic/fsl' and 'asoc/topic/fsl-card' into asoc-next 2015-10-26 11:16:03 +09:00
fsl ASoC: fsl_utils: fix a leaked reference by adding missing of_node_put 2019-06-11 12:24:04 +02:00
generic ASoC: simple-card: Fix misleading error message 2018-02-16 20:09:36 +01:00
intel ASoC: Intel: avoid Oops if DMA setup fails 2019-05-16 19:45:05 +02:00
jz4740
kirkwood
mediatek ASoC: mediatek: add i2c dependency 2018-02-25 11:03:48 +01:00
mxs
nuc900 ASoC: nuc900: Fix a loop timeout test 2018-03-22 09:23:29 +01:00
omap ASoC: omap-dmic: Add pm_qos handling to avoid overruns with CPU_IDLE 2018-12-17 21:55:10 +01:00
pxa ASoC: pxa: Fix module autoload for platform drivers 2018-08-06 16:24:40 +02:00
qcom ASoC: qcom: change PTR_ERR argument 2015-09-17 11:36:19 +01:00
rockchip ASoC: rockchip: use __maybe_unused to hide st_irq_syscfg_resume 2018-02-25 11:03:49 +01:00
samsung ASoC: samsung: i2s: Ensure the RCLK rate is properly determined 2018-05-30 07:49:17 +02:00
sh ASoC: rsnd: SSI PIO adjust to 24bit mode 2018-04-13 19:50:11 +02:00
sirf ASoC: sirf: Fix potential NULL pointer dereference 2018-09-05 09:18:39 +02:00
spear ASoC: spear: fix error return code in spdif_in_probe() 2018-11-10 07:41:40 -08:00
sti ASoC: sti: set player private data 2015-11-19 17:49:35 +00:00
sunxi ASoC: sun4i-codec: return error code instead of NULL when create_card fails 2016-11-18 10:48:37 +01:00
tegra
txx9
ux500 ASoC: ux500: add MODULE_LICENSE tag 2018-02-25 11:03:37 +01:00
xtensa
zte
Kconfig Merge remote-tracking branch 'asoc/topic/core' into asoc-next 2015-10-26 11:15:55 +09:00
Makefile Merge remote-tracking branch 'asoc/topic/core' into asoc-next 2015-10-26 11:15:55 +09:00
soc-ac97.c
soc-cache.c
soc-compress.c ASoC: compress: Derive substream from stream based on direction 2017-07-27 15:06:04 -07:00
soc-core.c ASoC: dapm: Recalculate audio map forcely when card instantiated 2018-12-17 21:55:10 +01:00
soc-dapm.c ASoC: dapm: change snprintf to scnprintf for possible overflow 2019-03-23 08:44:19 +01:00
soc-devres.c
soc-generic-dmaengine-pcm.c
soc-io.c
soc-jack.c
soc-ops.c ASoC: fix kernel-doc warnings in sound/soc/soc-ops.c 2015-11-25 12:35:40 +00:00
soc-pcm.c ASoC:soc-pcm:fix a codec fixup issue in TDM case 2019-05-16 19:45:03 +02:00
soc-topology.c ASoC: topology: free created components in tplg load error 2019-03-23 08:44:33 +01:00
soc-utils.c