[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202511251336.5gGRd3hJ-lkp@intel.com>
Date: Tue, 25 Nov 2025 14:06:31 +0800
From: kernel test robot <lkp@...el.com>
To: Richard Fitzgerald <rf@...nsource.cirrus.com>, vkoul@...nel.org,
yung-chuan.liao@...ux.intel.com, pierre-louis.bossart@...ux.dev
Cc: oe-kbuild-all@...ts.linux.dev, linux-sound@...r.kernel.org,
linux-kernel@...r.kernel.org, patches@...nsource.cirrus.com
Subject: Re: [PATCH] soundwire: stream: Prepare ports in parallel to reduce
stream start latency
Hi Richard,
kernel test robot noticed the following build warnings:
[auto build test WARNING on linus/master]
[also build test WARNING on v6.18-rc7 next-20251124]
[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/Richard-Fitzgerald/soundwire-stream-Prepare-ports-in-parallel-to-reduce-stream-start-latency/20251124-233421
base: linus/master
patch link: https://lore.kernel.org/r/20251124152956.2293218-1-rf%40opensource.cirrus.com
patch subject: [PATCH] soundwire: stream: Prepare ports in parallel to reduce stream start latency
config: arm-randconfig-r052-20251125 (https://download.01.org/0day-ci/archive/20251125/202511251336.5gGRd3hJ-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 9e9fe08b16ea2c4d9867fb4974edf2a3776d6ece)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251125/202511251336.5gGRd3hJ-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202511251336.5gGRd3hJ-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/soundwire/stream.c:553:21: warning: variable 'dp0_prop' is uninitialized when used here [-Wuninitialized]
553 | ch_prep_timeout = dp0_prop->ch_prep_timeout;
| ^~~~~~~~
drivers/soundwire/stream.c:541:31: note: initialize the variable 'dp0_prop' to silence this warning
541 | struct sdw_dp0_prop *dp0_prop;
| ^
| = NULL
1 warning generated.
vim +/dp0_prop +553 drivers/soundwire/stream.c
534
535 static int sdw_wait_prep_slave_ports(struct sdw_bus *bus,
536 struct sdw_slave_runtime *s_rt,
537 struct sdw_port_runtime *p_rt)
538 {
539 struct completion *port_ready;
540 struct sdw_dpn_prop *dpn_prop;
541 struct sdw_dp0_prop *dp0_prop;
542 struct sdw_prepare_ch prep_ch;
543 bool simple_ch_prep_sm;
544 u32 ch_prep_timeout;
545 int ret, val;
546
547 if (p_rt->num) {
548 dpn_prop = sdw_get_slave_dpn_prop(s_rt->slave, s_rt->direction, p_rt->num);
549 simple_ch_prep_sm = dpn_prop->simple_ch_prep_sm;
550 ch_prep_timeout = dpn_prop->ch_prep_timeout;
551 } else {
552 simple_ch_prep_sm = s_rt->slave->prop.dp0_prop->simple_ch_prep_sm;
> 553 ch_prep_timeout = dp0_prop->ch_prep_timeout;
554 }
555
556 if (simple_ch_prep_sm)
557 return 0;
558
559 /*
560 * Check if already prepared. Avoid overhead of waiting for interrupt
561 * and port_ready completion if we don't need to.
562 */
563 val = sdw_read_no_pm(s_rt->slave, SDW_DPN_PREPARESTATUS(p_rt->num));
564 if (val < 0) {
565 ret = val;
566 goto err;
567 }
568
569 if (val & p_rt->ch_mask) {
570 /* Wait for completion on port ready */
571 port_ready = &s_rt->slave->port_ready[p_rt->num];
572 wait_for_completion_timeout(port_ready, msecs_to_jiffies(ch_prep_timeout));
573 val = sdw_read_no_pm(s_rt->slave, SDW_DPN_PREPARESTATUS(p_rt->num));
574 if ((val < 0) || (val & p_rt->ch_mask)) {
575 ret = (val < 0) ? val : -ETIMEDOUT;
576 goto err;
577 }
578 }
579
580 /* Inform slaves about ports prepared */
581 prep_ch.num = p_rt->num;
582 prep_ch.ch_mask = p_rt->ch_mask;
583 prep_ch.prepare = true;
584 prep_ch.bank = bus->params.next_bank;
585 sdw_do_port_prep(s_rt, prep_ch, SDW_OPS_PORT_POST_PREP);
586
587 return 0;
588
589 err:
590 dev_err(&s_rt->slave->dev, "Chn prep failed for port %d: %d\n", p_rt->num, ret);
591
592 return ret;
593 }
594
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists