All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master 4803/6768] drivers/mtd/nand/raw/davinci_nand.c:797:22-23: WARNING opportunity for max()
@ 2025-01-07 18:34 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-01-07 18:34 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp, Julia Lawall

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
TO: Bastien Curutchet <bastien.curutchet@bootlin.com>
CC: Miquel Raynal <miquel.raynal@bootlin.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   7b4b9bf203da94fbeac75ed3116c84aa03e74578
commit: c7a94e96f8ece5c87d73bfa4751d75eabb971ea6 [4803/6768] mtd: rawnand: davinci: Implement setup_interface() operation
:::::: branch date: 13 hours ago
:::::: commit date: 2 weeks ago
config: parisc-randconfig-r052-20250107 (https://download.01.org/0day-ci/archive/20250108/202501080245.RMPN2ZFD-lkp@intel.com/config)
compiler: hppa-linux-gcc (GCC) 14.2.0

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@intel.com>
| Reported-by: Julia Lawall <julia.lawall@inria.fr>
| Closes: https://lore.kernel.org/r/202501080245.RMPN2ZFD-lkp@intel.com/

cocci warnings: (new ones prefixed by >>)
>> drivers/mtd/nand/raw/davinci_nand.c:797:22-23: WARNING opportunity for max()
   drivers/mtd/nand/raw/davinci_nand.c:801:23-24: WARNING opportunity for max()
   drivers/mtd/nand/raw/davinci_nand.c:808:21-22: WARNING opportunity for max()
   drivers/mtd/nand/raw/davinci_nand.c:816:18-19: WARNING opportunity for max()
   drivers/mtd/nand/raw/davinci_nand.c:819:23-24: WARNING opportunity for max()
   drivers/mtd/nand/raw/davinci_nand.c:823:22-23: WARNING opportunity for max()
   drivers/mtd/nand/raw/davinci_nand.c:832:21-22: WARNING opportunity for max()

vim +797 drivers/mtd/nand/raw/davinci_nand.c

c7a94e96f8ece5 Bastien Curutchet 2024-12-04  780  
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  781  static int davinci_nand_setup_interface(struct nand_chip *chip, int chipnr,
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  782  					const struct nand_interface_config *conf)
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  783  {
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  784  	struct davinci_nand_info *info = to_davinci_nand(nand_to_mtd(chip));
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  785  	const struct nand_sdr_timings *sdr;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  786  	struct aemif_cs_timings timings;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  787  	s32 cfg, min, cyc_ns;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  788  	int ret;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  789  
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  790  	cyc_ns = 1000000000 / clk_get_rate(info->clk);
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  791  
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  792  	sdr = nand_get_sdr_timings(conf);
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  793  	if (IS_ERR(sdr))
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  794  		return PTR_ERR(sdr);
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  795  
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  796  	cfg = TO_CYCLES(sdr->tCLR_min, cyc_ns) - 1;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04 @797  	timings.rsetup = cfg > 0 ? cfg : 0;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  798  
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  799  	cfg = max_t(s32, TO_CYCLES(sdr->tREA_max + MAX_TSU_PS, cyc_ns),
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  800  		    TO_CYCLES(sdr->tRP_min, cyc_ns)) - 1;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  801  	timings.rstrobe = cfg > 0 ? cfg : 0;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  802  
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  803  	min = TO_CYCLES(sdr->tCEA_max + MAX_TSU_PS, cyc_ns) - 2;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  804  	while ((s32)(timings.rsetup + timings.rstrobe) < min)
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  805  		timings.rstrobe++;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  806  
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  807  	cfg = TO_CYCLES((s32)(MAX_TH_PS - sdr->tCHZ_max), cyc_ns) - 1;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  808  	timings.rhold = cfg > 0 ? cfg : 0;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  809  
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  810  	min = TO_CYCLES(sdr->tRC_min, cyc_ns) - 3;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  811  	while ((s32)(timings.rsetup + timings.rstrobe + timings.rhold) < min)
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  812  		timings.rhold++;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  813  
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  814  	cfg = TO_CYCLES((s32)(sdr->tRHZ_max - (timings.rhold + 1) * cyc_ns * 1000), cyc_ns);
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  815  	cfg = max_t(s32, cfg, TO_CYCLES(sdr->tCHZ_max, cyc_ns)) - 1;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  816  	timings.ta = cfg > 0 ? cfg : 0;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  817  
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  818  	cfg = TO_CYCLES(sdr->tWP_min, cyc_ns) - 1;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  819  	timings.wstrobe = cfg > 0 ? cfg : 0;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  820  
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  821  	cfg = max_t(s32, TO_CYCLES(sdr->tCLS_min, cyc_ns), TO_CYCLES(sdr->tALS_min, cyc_ns));
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  822  	cfg = max_t(s32, cfg, TO_CYCLES(sdr->tCS_min, cyc_ns)) - 1;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  823  	timings.wsetup = cfg > 0 ? cfg : 0;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  824  
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  825  	min = TO_CYCLES(sdr->tDS_min, cyc_ns) - 2;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  826  	while ((s32)(timings.wsetup + timings.wstrobe) < min)
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  827  		timings.wstrobe++;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  828  
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  829  	cfg = max_t(s32, TO_CYCLES(sdr->tCLH_min, cyc_ns), TO_CYCLES(sdr->tALH_min, cyc_ns));
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  830  	cfg = max_t(s32, cfg, TO_CYCLES(sdr->tCH_min, cyc_ns));
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  831  	cfg = max_t(s32, cfg, TO_CYCLES(sdr->tDH_min, cyc_ns)) - 1;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  832  	timings.whold = cfg > 0 ? cfg : 0;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  833  
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  834  	min = TO_CYCLES(sdr->tWC_min, cyc_ns) - 2;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  835  	while ((s32)(timings.wsetup + timings.wstrobe + timings.whold) < min)
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  836  		timings.whold++;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  837  
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  838  	dev_dbg(&info->pdev->dev, "RSETUP %x RSTROBE %x RHOLD %x\n",
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  839  		timings.rsetup, timings.rstrobe, timings.rhold);
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  840  	dev_dbg(&info->pdev->dev, "TA %x\n", timings.ta);
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  841  	dev_dbg(&info->pdev->dev, "WSETUP %x WSTROBE %x WHOLD %x\n",
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  842  		timings.wsetup, timings.wstrobe, timings.whold);
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  843  
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  844  	ret = aemif_check_cs_timings(&timings);
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  845  	if (ret || chipnr == NAND_DATA_IFACE_CHECK_ONLY)
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  846  		return ret;
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  847  
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  848  	return aemif_set_cs_timings(info->aemif, info->core_chipsel, &timings);
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  849  }
c7a94e96f8ece5 Bastien Curutchet 2024-12-04  850  

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-01-07 18:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-07 18:34 [linux-next:master 4803/6768] drivers/mtd/nand/raw/davinci_nand.c:797:22-23: WARNING opportunity for max() kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.