* Re: [PATCH v2] ASoC: amd: acp: Add TDM support for acp i2s stream
2022-08-05 6:04 [PATCH v2] ASoC: amd: acp: Add TDM support for acp i2s stream Venkata Prasad Potturu
@ 2022-08-07 7:05 ` kernel test robot
2022-08-16 13:48 ` Mark Brown
1 sibling, 0 replies; 3+ messages in thread
From: kernel test robot @ 2022-08-07 7:05 UTC (permalink / raw)
To: Venkata Prasad Potturu, broonie, alsa-devel
Cc: kbuild-all, vsujithkumar.reddy, Vijendar.Mukunda,
Basavaraj.Hiregoudar, Sunil-kumar.Dommati, ssabakar,
Venkata Prasad Potturu, Liam Girdwood, Jaroslav Kysela,
Takashi Iwai, Ajit Kumar Pandey, open list
Hi Venkata,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on broonie-sound/for-next]
[also build test ERROR on linus/master next-20220805]
[cannot apply to v5.19]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Venkata-Prasad-Potturu/ASoC-amd-acp-Add-TDM-support-for-acp-i2s-stream/20220805-140248
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
config: x86_64-allmodconfig (https://download.01.org/0day-ci/archive/20220807/202208071454.7YeHuTDb-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-3) 11.3.0
reproduce (this is a W=1 build):
# https://github.com/intel-lab-lkp/linux/commit/c603f9570621784501d7ce7f5099be37983cb810
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Venkata-Prasad-Potturu/ASoC-amd-acp-Add-TDM-support-for-acp-i2s-stream/20220805-140248
git checkout c603f9570621784501d7ce7f5099be37983cb810
# save the config file
mkdir build_dir && cp config build_dir/.config
make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash sound/soc/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
sound/soc/amd/acp/acp-i2s.c: In function 'acp_i2s_set_tdm_slot':
>> sound/soc/amd/acp/acp-i2s.c:74:29: error: 'struct acp_dev_data' has no member named 'acp_lock'
74 | spin_lock_irq(&adata->acp_lock);
| ^~
In file included from include/linux/kernel.h:21,
from arch/x86/include/asm/percpu.h:27,
from arch/x86/include/asm/current.h:6,
from include/linux/sched.h:12,
from include/linux/ratelimit.h:6,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from include/linux/platform_device.h:13,
from sound/soc/amd/acp/acp-i2s.c:15:
sound/soc/amd/acp/acp-i2s.c:75:43: error: 'struct acp_dev_data' has no member named 'stream_list'
75 | list_for_each_entry(stream, &adata->stream_list, list) {
| ^~
include/linux/container_of.h:18:33: note: in definition of macro 'container_of'
18 | void *__mptr = (void *)(ptr); \
| ^~~
include/linux/list.h:531:9: note: in expansion of macro 'list_entry'
531 | list_entry((ptr)->next, type, member)
| ^~~~~~~~~~
include/linux/list.h:674:20: note: in expansion of macro 'list_first_entry'
674 | for (pos = list_first_entry(head, typeof(*pos), member); \
| ^~~~~~~~~~~~~~~~
sound/soc/amd/acp/acp-i2s.c:75:9: note: in expansion of macro 'list_for_each_entry'
75 | list_for_each_entry(stream, &adata->stream_list, list) {
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/bits.h:22,
from include/linux/ratelimit_types.h:5,
from include/linux/ratelimit.h:5,
from include/linux/dev_printk.h:16,
from include/linux/device.h:15,
from include/linux/platform_device.h:13,
from sound/soc/amd/acp/acp-i2s.c:15:
sound/soc/amd/acp/acp-i2s.c:75:43: error: 'struct acp_dev_data' has no member named 'stream_list'
75 | list_for_each_entry(stream, &adata->stream_list, list) {
| ^~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/container_of.h:19:9: note: in expansion of macro 'static_assert'
19 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~~~
include/linux/container_of.h:19:23: note: in expansion of macro '__same_type'
19 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~
include/linux/list.h:520:9: note: in expansion of macro 'container_of'
520 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:531:9: note: in expansion of macro 'list_entry'
531 | list_entry((ptr)->next, type, member)
| ^~~~~~~~~~
include/linux/list.h:674:20: note: in expansion of macro 'list_first_entry'
674 | for (pos = list_first_entry(head, typeof(*pos), member); \
| ^~~~~~~~~~~~~~~~
sound/soc/amd/acp/acp-i2s.c:75:9: note: in expansion of macro 'list_for_each_entry'
75 | list_for_each_entry(stream, &adata->stream_list, list) {
| ^~~~~~~~~~~~~~~~~~~
include/linux/container_of.h:19:54: error: 'struct acp_stream' has no member named 'list'
19 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/container_of.h:19:9: note: in expansion of macro 'static_assert'
19 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~~~
include/linux/container_of.h:19:23: note: in expansion of macro '__same_type'
19 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~
include/linux/list.h:520:9: note: in expansion of macro 'container_of'
520 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:531:9: note: in expansion of macro 'list_entry'
531 | list_entry((ptr)->next, type, member)
| ^~~~~~~~~~
include/linux/list.h:674:20: note: in expansion of macro 'list_first_entry'
674 | for (pos = list_first_entry(head, typeof(*pos), member); \
| ^~~~~~~~~~~~~~~~
sound/soc/amd/acp/acp-i2s.c:75:9: note: in expansion of macro 'list_for_each_entry'
75 | list_for_each_entry(stream, &adata->stream_list, list) {
| ^~~~~~~~~~~~~~~~~~~
sound/soc/amd/acp/acp-i2s.c:75:43: error: 'struct acp_dev_data' has no member named 'stream_list'
75 | list_for_each_entry(stream, &adata->stream_list, list) {
| ^~
include/linux/build_bug.h:78:56: note: in definition of macro '__static_assert'
78 | #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
| ^~~~
include/linux/container_of.h:19:9: note: in expansion of macro 'static_assert'
19 | static_assert(__same_type(*(ptr), ((type *)0)->member) || \
| ^~~~~~~~~~~~~
include/linux/container_of.h:20:23: note: in expansion of macro '__same_type'
20 | __same_type(*(ptr), void), \
| ^~~~~~~~~~~
include/linux/list.h:520:9: note: in expansion of macro 'container_of'
520 | container_of(ptr, type, member)
| ^~~~~~~~~~~~
include/linux/list.h:531:9: note: in expansion of macro 'list_entry'
531 | list_entry((ptr)->next, type, member)
| ^~~~~~~~~~
include/linux/list.h:674:20: note: in expansion of macro 'list_first_entry'
vim +74 sound/soc/amd/acp/acp-i2s.c
47
48 static int acp_i2s_set_tdm_slot(struct snd_soc_dai *dai, u32 tx_mask, u32 rx_mask,
49 int slots, int slot_width)
50 {
51 struct device *dev = dai->component->dev;
52 struct acp_dev_data *adata = snd_soc_dai_get_drvdata(dai);
53 struct acp_stream *stream;
54 int slot_len;
55
56 switch (slot_width) {
57 case SLOT_WIDTH_8:
58 slot_len = 8;
59 break;
60 case SLOT_WIDTH_16:
61 slot_len = 16;
62 break;
63 case SLOT_WIDTH_24:
64 slot_len = 24;
65 break;
66 case SLOT_WIDTH_32:
67 slot_len = 0;
68 break;
69 default:
70 dev_err(dev, "Unsupported bitdepth %d\n", slot_width);
71 return -EINVAL;
72 }
73
> 74 spin_lock_irq(&adata->acp_lock);
75 list_for_each_entry(stream, &adata->stream_list, list) {
76 if (tx_mask && stream->dir == SNDRV_PCM_STREAM_PLAYBACK)
77 adata->tdm_tx_fmt[stream->dai_id - 1] =
78 FRM_LEN | (slots << 15) | (slot_len << 18);
79 else if (rx_mask && stream->dir == SNDRV_PCM_STREAM_CAPTURE)
80 adata->tdm_rx_fmt[stream->dai_id - 1] =
81 FRM_LEN | (slots << 15) | (slot_len << 18);
82 }
83 spin_unlock_irq(&adata->acp_lock);
84 return 0;
85 }
86
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH v2] ASoC: amd: acp: Add TDM support for acp i2s stream
2022-08-05 6:04 [PATCH v2] ASoC: amd: acp: Add TDM support for acp i2s stream Venkata Prasad Potturu
2022-08-07 7:05 ` kernel test robot
@ 2022-08-16 13:48 ` Mark Brown
1 sibling, 0 replies; 3+ messages in thread
From: Mark Brown @ 2022-08-16 13:48 UTC (permalink / raw)
To: alsa-devel, Venkata Prasad Potturu
Cc: vsujithkumar.reddy, ssabakar, Liam Girdwood, Ajit Kumar Pandey,
Basavaraj.Hiregoudar, Sunil-kumar.Dommati, open list,
V sujith kumar Reddy, Vijendar.Mukunda, Jaroslav Kysela,
Takashi Iwai
On Fri, 5 Aug 2022 11:34:12 +0530, Venkata Prasad Potturu wrote:
> Add callback and code changes to enable ACP I2S controller in TDM
> mode. Add new fields in acp_stream and acp_dev_data struct to configure
> tdm related registers for ACP i2s controllers.
>
>
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
Thanks!
[1/1] ASoC: amd: acp: Add TDM support for acp i2s stream
commit: 12229b7e50cfa95fda55b83a2617eafd6ac4c8c5
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply [flat|nested] 3+ messages in thread