Re: [PATCH 4/4] spi: spi-fsl-qspi: Add support for rx data sample point adjustment

From: kernel test robot
Date: Thu Oct 26 2023 - 16:03:49 EST


Hi Eberhard,

kernel test robot noticed the following build warnings:

[auto build test WARNING on 05d3ef8bba77c1b5f98d941d8b2d4aeab8118ef1]

url: https://github.com/intel-lab-lkp/linux/commits/Eberhard-Stoll/spi-Add-parameter-for-clock-to-rx-delay/20231026-232547
base: 05d3ef8bba77c1b5f98d941d8b2d4aeab8118ef1
patch link: https://lore.kernel.org/r/20231026152316.2729575-5-estl%40gmx.net
patch subject: [PATCH 4/4] spi: spi-fsl-qspi: Add support for rx data sample point adjustment
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20231027/202310270332.mcbckKCr-lkp@xxxxxxxxx/config)
compiler: m68k-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231027/202310270332.mcbckKCr-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202310270332.mcbckKCr-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

drivers/spi/spi-fsl-qspi.c: In function 'fsl_qspi_select_mem':
>> drivers/spi/spi-fsl-qspi.c:558:38: warning: suggest parentheses around comparison in operand of '|' [-Wparentheses]
558 | if (chip->rx_sample_delay_ns != spi->rx_sample_delay_ns |
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~


vim +558 drivers/spi/spi-fsl-qspi.c

550
551 static void fsl_qspi_select_mem(struct fsl_qspi *q, struct spi_device *spi)
552 {
553 unsigned long rate = spi->max_speed_hz;
554 int ret;
555 struct fsl_qspi_chip_data *chip = spi_get_ctldata(spi);
556 const char *sampling_ident = sampling_mode[0];
557
> 558 if (chip->rx_sample_delay_ns != spi->rx_sample_delay_ns |
559 chip->rate != rate) {
560 chip->rx_sample_delay_ns = spi->rx_sample_delay_ns;
561 chip->rate = rate;
562
563 chip->smpr_sampling =
564 (2 * spi->rx_sample_delay_ns * (rate >> 10)) / (1000000000 >> 10);
565 dev_dbg(q->dev, "smpr_sampling = %u (delay %u ns)\n",
566 chip->smpr_sampling, spi->rx_sample_delay_ns);
567
568 if (chip->smpr_sampling > 3) {
569 dev_err(q->dev, "rx sample delay for device %s exceeds hw capabilities! Clamp value to maximum setting.\n",
570 dev_name(&spi->dev));
571 chip->smpr_sampling = 3;
572 sampling_ident = "(I2 clamped to max)";
573 } else {
574 sampling_ident = sampling_mode[chip->smpr_sampling];
575 }
576
577 chip->smpr_sampling <<= 5;
578 dev_info(q->dev, "sampling point %s at %lu kHz used for device %s\n",
579 sampling_ident, rate / 1000, dev_name(&spi->dev));
580 fsl_qspi_update_smpr_sampling(q, chip->smpr_sampling);
581 }
582
583 if (q->selected == spi_get_chipselect(spi, 0))
584 return;
585
586 fsl_qspi_update_smpr_sampling(q, chip->smpr_sampling);
587
588 if (needs_4x_clock(q))
589 rate *= 4;
590
591 fsl_qspi_clk_disable_unprep(q);
592
593 ret = clk_set_rate(q->clk, rate);
594 if (ret)
595 return;
596
597 ret = fsl_qspi_clk_prep_enable(q);
598 if (ret)
599 return;
600
601 q->selected = spi_get_chipselect(spi, 0);
602
603 fsl_qspi_invalidate(q);
604 }
605

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki