lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202412031716.JfNIh1Uu-lkp@intel.com>
Date: Tue, 3 Dec 2024 17:54:51 +0800
From: kernel test robot <lkp@...el.com>
To: Roger Quadros <rogerq@...nel.org>
Cc: oe-kbuild-all@...ts.linux.dev, linux-kernel@...r.kernel.org,
	Miquel Raynal <miquel.raynal@...tlin.com>
Subject: drivers/mtd/nand/raw/omap2.c:261: warning: Function parameter or
 member 'chip' not described in 'omap_nand_data_in_pref'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   cdd30ebb1b9f36159d66f088b61aee264e649d7a
commit: a9e849efca4f9c7732ea4a81f13ec96208994b22 mtd: rawnand: omap2: move to exec_op interface
date:   3 years ago
config: i386-buildonly-randconfig-001-20240106 (https://download.01.org/0day-ci/archive/20241203/202412031716.JfNIh1Uu-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241203/202412031716.JfNIh1Uu-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/202412031716.JfNIh1Uu-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/mtd/nand/raw/omap2.c:261: warning: Function parameter or member 'chip' not described in 'omap_nand_data_in_pref'
>> drivers/mtd/nand/raw/omap2.c:261: warning: Function parameter or member 'buf' not described in 'omap_nand_data_in_pref'
>> drivers/mtd/nand/raw/omap2.c:261: warning: Function parameter or member 'len' not described in 'omap_nand_data_in_pref'
>> drivers/mtd/nand/raw/omap2.c:261: warning: Function parameter or member 'force_8bit' not described in 'omap_nand_data_in_pref'
>> drivers/mtd/nand/raw/omap2.c:305: warning: Function parameter or member 'chip' not described in 'omap_nand_data_out_pref'
>> drivers/mtd/nand/raw/omap2.c:305: warning: Function parameter or member 'buf' not described in 'omap_nand_data_out_pref'
>> drivers/mtd/nand/raw/omap2.c:305: warning: Function parameter or member 'len' not described in 'omap_nand_data_out_pref'
>> drivers/mtd/nand/raw/omap2.c:305: warning: Function parameter or member 'force_8bit' not described in 'omap_nand_data_out_pref'
>> drivers/mtd/nand/raw/omap2.c:447: warning: Function parameter or member 'chip' not described in 'omap_nand_data_in_dma_pref'
>> drivers/mtd/nand/raw/omap2.c:447: warning: Function parameter or member 'buf' not described in 'omap_nand_data_in_dma_pref'
>> drivers/mtd/nand/raw/omap2.c:447: warning: Function parameter or member 'len' not described in 'omap_nand_data_in_dma_pref'
>> drivers/mtd/nand/raw/omap2.c:447: warning: Function parameter or member 'force_8bit' not described in 'omap_nand_data_in_dma_pref'
>> drivers/mtd/nand/raw/omap2.c:463: warning: Function parameter or member 'chip' not described in 'omap_nand_data_out_dma_pref'
>> drivers/mtd/nand/raw/omap2.c:463: warning: Function parameter or member 'buf' not described in 'omap_nand_data_out_dma_pref'
>> drivers/mtd/nand/raw/omap2.c:463: warning: Function parameter or member 'len' not described in 'omap_nand_data_out_dma_pref'
>> drivers/mtd/nand/raw/omap2.c:463: warning: Function parameter or member 'force_8bit' not described in 'omap_nand_data_out_dma_pref'


vim +261 drivers/mtd/nand/raw/omap2.c

65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  255  
67ce04bf2746f8 drivers/mtd/nand/omap2.c     Vimal Singh          2009-05-12  256  /**
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  257   * omap_nand_data_in_pref - NAND data in using prefetch engine
67ce04bf2746f8 drivers/mtd/nand/omap2.c     Vimal Singh          2009-05-12  258   */
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  259  static void omap_nand_data_in_pref(struct nand_chip *chip, void *buf,
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  260  				   unsigned int len, bool force_8bit)
67ce04bf2746f8 drivers/mtd/nand/omap2.c     Vimal Singh          2009-05-12 @261  {
0f808c1602bc75 drivers/mtd/nand/raw/omap2.c Boris Brezillon      2018-09-06  262  	struct omap_nand_info *info = mtd_to_omap(nand_to_mtd(chip));
2c01946c6b9eba drivers/mtd/nand/omap2.c     Sukumar Ghorai       2010-07-09  263  	uint32_t r_count = 0;
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  264  	int ret = 0;
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  265  	u32 *p = (u32 *)buf;
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  266  	unsigned int pref_len;
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  267  
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  268  	if (force_8bit) {
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  269  		omap_nand_data_in(chip, buf, len, force_8bit);
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  270  		return;
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  271  	}
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  272  
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  273  	/* read 32-bit words using prefetch and remaining bytes normally */
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  274  
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  275  	/* configure and start prefetch transfer */
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  276  	pref_len = len - (len & 3);
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  277  	ret = omap_prefetch_enable(info->gpmc_cs,
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  278  			PREFETCH_FIFOTHRESHOLD_MAX, 0x0, pref_len, 0x0, info);
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  279  	if (ret) {
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  280  		/* prefetch engine is busy, use CPU copy method */
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  281  		omap_nand_data_in(chip, buf, len, false);
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  282  	} else {
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  283  		do {
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  284  			r_count = readl(info->reg.gpmc_prefetch_status);
47f88af4ed80ac drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-09-29  285  			r_count = PREFETCH_STATUS_FIFO_CNT(r_count);
2c01946c6b9eba drivers/mtd/nand/omap2.c     Sukumar Ghorai       2010-07-09  286  			r_count = r_count >> 2;
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  287  			ioread32_rep(info->fifo, p, r_count);
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  288  			p += r_count;
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  289  			pref_len -= r_count << 2;
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  290  		} while (pref_len);
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  291  		/* disable and stop the Prefetch engine */
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  292  		omap_prefetch_reset(info->gpmc_cs, info);
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  293  		/* fetch any remaining bytes */
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  294  		if (len & 3)
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  295  			omap_nand_data_in(chip, p, len & 3, false);
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  296  	}
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  297  }
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  298  
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  299  /**
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  300   * omap_nand_data_out_pref - NAND data out using Write Posting engine
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  301   */
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  302  static void omap_nand_data_out_pref(struct nand_chip *chip,
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  303  				    const void *buf, unsigned int len,
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  304  				    bool force_8bit)
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13 @305  {
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  306  	struct omap_nand_info *info = mtd_to_omap(nand_to_mtd(chip));
4e070376165a9b drivers/mtd/nand/omap2.c     Sukumar Ghorai       2011-01-28  307  	uint32_t w_count = 0;
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  308  	int i = 0, ret = 0;
c5d8c0cae4af7d drivers/mtd/nand/omap2.c     Kishore Kadiyala     2011-05-11  309  	u16 *p = (u16 *)buf;
4e070376165a9b drivers/mtd/nand/omap2.c     Sukumar Ghorai       2011-01-28  310  	unsigned long tim, limit;
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  311  	u32 val;
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  312  
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  313  	if (force_8bit) {
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  314  		omap_nand_data_out(chip, buf, len, force_8bit);
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  315  		return;
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  316  	}
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  317  
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  318  	/* take care of subpage writes */
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  319  	if (len % 2 != 0) {
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  320  		writeb(*(u8 *)buf, info->fifo);
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  321  		p = (u16 *)(buf + 1);
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  322  		len--;
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  323  	}
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  324  
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  325  	/*  configure and start prefetch transfer */
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  326  	ret = omap_prefetch_enable(info->gpmc_cs,
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  327  			PREFETCH_FIFOTHRESHOLD_MAX, 0x0, len, 0x1, info);
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  328  	if (ret) {
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  329  		/* write posting engine is busy, use CPU copy method */
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  330  		omap_nand_data_out(chip, buf, len, false);
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  331  	} else {
2c01946c6b9eba drivers/mtd/nand/omap2.c     Sukumar Ghorai       2010-07-09  332  		while (len) {
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  333  			w_count = readl(info->reg.gpmc_prefetch_status);
47f88af4ed80ac drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-09-29  334  			w_count = PREFETCH_STATUS_FIFO_CNT(w_count);
2c01946c6b9eba drivers/mtd/nand/omap2.c     Sukumar Ghorai       2010-07-09  335  			w_count = w_count >> 1;
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  336  			for (i = 0; (i < w_count) && len; i++, len -= 2)
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  337  				iowrite16(*p++, info->fifo);
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  338  		}
2c01946c6b9eba drivers/mtd/nand/omap2.c     Sukumar Ghorai       2010-07-09  339  		/* wait for data to flushed-out before reset the prefetch */
4e070376165a9b drivers/mtd/nand/omap2.c     Sukumar Ghorai       2011-01-28  340  		tim = 0;
4e070376165a9b drivers/mtd/nand/omap2.c     Sukumar Ghorai       2011-01-28  341  		limit = (loops_per_jiffy *
4e070376165a9b drivers/mtd/nand/omap2.c     Sukumar Ghorai       2011-01-28  342  					msecs_to_jiffies(OMAP_NAND_TIMEOUT_MS));
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  343  		do {
4e070376165a9b drivers/mtd/nand/omap2.c     Sukumar Ghorai       2011-01-28  344  			cpu_relax();
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  345  			val = readl(info->reg.gpmc_prefetch_status);
47f88af4ed80ac drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-09-29  346  			val = PREFETCH_STATUS_COUNT(val);
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  347  		} while (val && (tim++ < limit));
4e070376165a9b drivers/mtd/nand/omap2.c     Sukumar Ghorai       2011-01-28  348  
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  349  		/* disable and stop the PFPW engine */
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  350  		omap_prefetch_reset(info->gpmc_cs, info);
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  351  	}
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  352  }
59e9c5ae17179f drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  353  
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  354  /*
2df41d0533ad1a drivers/mtd/nand/omap2.c     Russell King         2012-04-25  355   * omap_nand_dma_callback: callback on the completion of dma transfer
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  356   * @data: pointer to completion data structure
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  357   */
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  358  static void omap_nand_dma_callback(void *data)
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  359  {
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  360  	complete((struct completion *) data);
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  361  }
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  362  
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  363  /*
4cacbe226f3906 drivers/mtd/nand/omap2.c     Peter Meerwald       2012-07-19  364   * omap_nand_dma_transfer: configure and start dma transfer
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  365   * @chip: nand chip structure
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  366   * @addr: virtual address in RAM of source/destination
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  367   * @len: number of data bytes to be transferred
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  368   * @is_write: flag for read/write operation
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  369   */
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  370  static inline int omap_nand_dma_transfer(struct nand_chip *chip,
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  371  					 const void *addr, unsigned int len,
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  372  					 int is_write)
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  373  {
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  374  	struct omap_nand_info *info = mtd_to_omap(nand_to_mtd(chip));
2df41d0533ad1a drivers/mtd/nand/omap2.c     Russell King         2012-04-25  375  	struct dma_async_tx_descriptor *tx;
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  376  	enum dma_data_direction dir = is_write ? DMA_TO_DEVICE :
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  377  							DMA_FROM_DEVICE;
2df41d0533ad1a drivers/mtd/nand/omap2.c     Russell King         2012-04-25  378  	struct scatterlist sg;
4e070376165a9b drivers/mtd/nand/omap2.c     Sukumar Ghorai       2011-01-28  379  	unsigned long tim, limit;
2df41d0533ad1a drivers/mtd/nand/omap2.c     Russell King         2012-04-25  380  	unsigned n;
2df41d0533ad1a drivers/mtd/nand/omap2.c     Russell King         2012-04-25  381  	int ret;
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  382  	u32 val;
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  383  
8c6f0fc4d2d505 drivers/mtd/nand/omap2.c     Cooper Jr., Franklin 2016-04-15  384  	if (!virt_addr_valid(addr))
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  385  		goto out_copy;
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  386  
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  387  	sg_init_one(&sg, addr, len);
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  388  	n = dma_map_sg(info->dma->device->dev, &sg, 1, dir);
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  389  	if (n == 0) {
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  390  		dev_err(&info->pdev->dev,
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  391  			"Couldn't DMA map a %d byte buffer\n", len);
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  392  		goto out_copy;
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  393  	}
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  394  
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  395  	tx = dmaengine_prep_slave_sg(info->dma, &sg, n,
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  396  		is_write ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM,
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  397  		DMA_PREP_INTERRUPT | DMA_CTRL_ACK);
2df41d0533ad1a drivers/mtd/nand/omap2.c     Russell King         2012-04-25  398  	if (!tx)
2df41d0533ad1a drivers/mtd/nand/omap2.c     Russell King         2012-04-25  399  		goto out_copy_unmap;
2df41d0533ad1a drivers/mtd/nand/omap2.c     Russell King         2012-04-25  400  
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  401  	tx->callback = omap_nand_dma_callback;
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  402  	tx->callback_param = &info->comp;
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  403  	dmaengine_submit(tx);
763e7359109223 drivers/mtd/nand/omap2.c     Russell King         2012-04-25  404  
03d3a1df6da660 drivers/mtd/nand/omap2.c     Cooper Jr., Franklin 2016-04-15  405  	init_completion(&info->comp);
03d3a1df6da660 drivers/mtd/nand/omap2.c     Cooper Jr., Franklin 2016-04-15  406  
03d3a1df6da660 drivers/mtd/nand/omap2.c     Cooper Jr., Franklin 2016-04-15  407  	/* setup and start DMA using dma_addr */
03d3a1df6da660 drivers/mtd/nand/omap2.c     Cooper Jr., Franklin 2016-04-15  408  	dma_async_issue_pending(info->dma);
03d3a1df6da660 drivers/mtd/nand/omap2.c     Cooper Jr., Franklin 2016-04-15  409  
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  410  	/*  configure and start prefetch transfer */
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  411  	ret = omap_prefetch_enable(info->gpmc_cs,
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  412  		PREFETCH_FIFOTHRESHOLD_MAX, 0x1, len, is_write, info);
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  413  	if (ret)
4e070376165a9b drivers/mtd/nand/omap2.c     Sukumar Ghorai       2011-01-28  414  		/* PFPW engine is busy, use cpu copy method */
d7efe2281db535 drivers/mtd/nand/omap2.c     Grazvydas Ignotas    2012-04-11  415  		goto out_copy_unmap;
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  416  
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  417  	wait_for_completion(&info->comp);
4e070376165a9b drivers/mtd/nand/omap2.c     Sukumar Ghorai       2011-01-28  418  	tim = 0;
4e070376165a9b drivers/mtd/nand/omap2.c     Sukumar Ghorai       2011-01-28  419  	limit = (loops_per_jiffy * msecs_to_jiffies(OMAP_NAND_TIMEOUT_MS));
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  420  
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  421  	do {
4e070376165a9b drivers/mtd/nand/omap2.c     Sukumar Ghorai       2011-01-28  422  		cpu_relax();
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  423  		val = readl(info->reg.gpmc_prefetch_status);
47f88af4ed80ac drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-09-29  424  		val = PREFETCH_STATUS_COUNT(val);
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  425  	} while (val && (tim++ < limit));
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  426  
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  427  	/* disable and stop the PFPW engine */
65b97cf6b8deca drivers/mtd/nand/omap2.c     Afzal Mohammed       2012-08-30  428  	omap_prefetch_reset(info->gpmc_cs, info);
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  429  
2df41d0533ad1a drivers/mtd/nand/omap2.c     Russell King         2012-04-25  430  	dma_unmap_sg(info->dma->device->dev, &sg, 1, dir);
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  431  	return 0;
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  432  
d7efe2281db535 drivers/mtd/nand/omap2.c     Grazvydas Ignotas    2012-04-11  433  out_copy_unmap:
2df41d0533ad1a drivers/mtd/nand/omap2.c     Russell King         2012-04-25  434  	dma_unmap_sg(info->dma->device->dev, &sg, 1, dir);
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  435  out_copy:
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  436  	is_write == 0 ? omap_nand_data_in(chip, (void *)addr, len, false)
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  437  		      : omap_nand_data_out(chip, addr, len, false);
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  438  
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  439  	return 0;
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  440  }
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  441  
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  442  /**
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  443   * omap_nand_data_in_dma_pref - NAND data in using DMA and Prefetch
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  444   */
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  445  static void omap_nand_data_in_dma_pref(struct nand_chip *chip, void *buf,
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  446  				       unsigned int len, bool force_8bit)
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13 @447  {
7e534323c41621 drivers/mtd/nand/raw/omap2.c Boris Brezillon      2018-09-06  448  	struct mtd_info *mtd = nand_to_mtd(chip);
7e534323c41621 drivers/mtd/nand/raw/omap2.c Boris Brezillon      2018-09-06  449  
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  450  	if (len <= mtd->oobsize)
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  451  		omap_nand_data_in_pref(chip, buf, len, false);
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  452  	else
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  453  		/* start transfer in DMA mode */
a9e849efca4f9c drivers/mtd/nand/raw/omap2.c Roger Quadros        2021-12-09  454  		omap_nand_dma_transfer(chip, buf, len, 0x0);
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  455  }
dfe32893cbe3e5 drivers/mtd/nand/omap2.c     vimal singh          2009-07-13  456  

:::::: The code at line 261 was first introduced by commit
:::::: 67ce04bf2746f8a1f8c2a104b313d20c63f68378 mtd: nand: add OMAP2/OMAP3 NAND driver

:::::: TO: Vimal Singh <vimalsingh@...com>
:::::: CC: David Woodhouse <David.Woodhouse@...el.com>

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ