drivers/dma/at_hdmac.c:240: warning: Function parameter or member 'sglen' not described in 'at_desc'

From: kernel test robot
Date: Mon Aug 21 2023 - 17:07:41 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f7757129e3dea336c407551c98f50057c22bb266
commit: ac803b56860f6506c55a3c9330007837e3f4edda dmaengine: at_hdmac: Convert driver to use virt-dma
date: 9 months ago
config: arm-randconfig-r003-20230821 (https://download.01.org/0day-ci/archive/20230822/202308220538.UNfyRiI2-lkp@xxxxxxxxx/config)
compiler: arm-linux-gnueabi-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230822/202308220538.UNfyRiI2-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/202308220538.UNfyRiI2-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

>> drivers/dma/at_hdmac.c:240: warning: Function parameter or member 'sglen' not described in 'at_desc'
drivers/dma/at_hdmac.c:240: warning: Function parameter or member 'boundary' not described in 'at_desc'
drivers/dma/at_hdmac.c:240: warning: Function parameter or member 'dst_hole' not described in 'at_desc'
drivers/dma/at_hdmac.c:240: warning: Function parameter or member 'src_hole' not described in 'at_desc'
drivers/dma/at_hdmac.c:240: warning: Function parameter or member 'memset_buffer' not described in 'at_desc'
drivers/dma/at_hdmac.c:240: warning: Function parameter or member 'memset_paddr' not described in 'at_desc'
drivers/dma/at_hdmac.c:240: warning: Function parameter or member 'memset_vaddr' not described in 'at_desc'
drivers/dma/at_hdmac.c:249: warning: cannot understand function prototype: 'enum atc_status '
>> drivers/dma/at_hdmac.c:284: warning: Function parameter or member 'cyclic' not described in 'at_dma_chan'
drivers/dma/at_hdmac.c:348: warning: Function parameter or member 'regs' not described in 'at_dma'
drivers/dma/at_hdmac.c:348: warning: Function parameter or member 'memset_pool' not described in 'at_dma'


vim +240 drivers/dma/at_hdmac.c

ac803b56860f65 Tudor Ambarus 2022-10-25 216
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 217 /**
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 218 * struct at_desc - software descriptor
ac803b56860f65 Tudor Ambarus 2022-10-25 219 * @vd: pointer to the virtual dma descriptor.
ac803b56860f65 Tudor Ambarus 2022-10-25 220 * @atchan: pointer to the atmel dma channel.
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 221 * @total_len: total transaction byte count
ac803b56860f65 Tudor Ambarus 2022-10-25 222 * @sg_len: number of sg entries.
ac803b56860f65 Tudor Ambarus 2022-10-25 223 * @sg: array of sgs.
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 224 */
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 225 struct at_desc {
ac803b56860f65 Tudor Ambarus 2022-10-25 226 struct virt_dma_desc vd;
ac803b56860f65 Tudor Ambarus 2022-10-25 227 struct at_dma_chan *atchan;
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 228 size_t total_len;
ac803b56860f65 Tudor Ambarus 2022-10-25 229 unsigned int sglen;
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 230 /* Interleaved data */
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 231 size_t boundary;
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 232 size_t dst_hole;
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 233 size_t src_hole;
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 234
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 235 /* Memset temporary buffer */
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 236 bool memset_buffer;
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 237 dma_addr_t memset_paddr;
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 238 int *memset_vaddr;
ac803b56860f65 Tudor Ambarus 2022-10-25 239 struct atdma_sg sg[];
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 @240 };
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 241
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 242 /*-- Channels --------------------------------------------------------*/
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 243
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 244 /**
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 245 * atc_status - information bits stored in channel status flag
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 246 *
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 247 * Manipulated with atomic operations.
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 248 */
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 249 enum atc_status {
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 250 ATC_IS_PAUSED = 1,
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 251 ATC_IS_CYCLIC = 24,
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 252 };
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 253
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 254 /**
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 255 * struct at_dma_chan - internal representation of an Atmel HDMAC channel
ac803b56860f65 Tudor Ambarus 2022-10-25 256 * @vc: virtual dma channel entry.
ac803b56860f65 Tudor Ambarus 2022-10-25 257 * @atdma: pointer to the driver data.
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 258 * @ch_regs: memory mapped register base
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 259 * @mask: channel index in a mask
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 260 * @per_if: peripheral interface
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 261 * @mem_if: memory interface
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 262 * @status: transmit status information from irq/prep* functions
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 263 * to tasklet (use atomic operations)
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 264 * @save_cfg: configuration register that is saved on suspend/resume cycle
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 265 * @save_dscr: for cyclic operations, preserve next descriptor address in
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 266 * the cyclic list on suspend/resume cycle
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 267 * @dma_sconfig: configuration for slave transfers, passed via
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 268 * .device_config
ac803b56860f65 Tudor Ambarus 2022-10-25 269 * @desc: pointer to the atmel dma descriptor.
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 270 */
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 271 struct at_dma_chan {
ac803b56860f65 Tudor Ambarus 2022-10-25 272 struct virt_dma_chan vc;
ac803b56860f65 Tudor Ambarus 2022-10-25 273 struct at_dma *atdma;
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 274 void __iomem *ch_regs;
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 275 u8 mask;
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 276 u8 per_if;
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 277 u8 mem_if;
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 278 unsigned long status;
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 279 u32 save_cfg;
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 280 u32 save_dscr;
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 281 struct dma_slave_config dma_sconfig;
ac803b56860f65 Tudor Ambarus 2022-10-25 282 bool cyclic;
ac803b56860f65 Tudor Ambarus 2022-10-25 283 struct at_desc *desc;
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 @284 };
5cecadc3e2a4fb Tudor Ambarus 2022-10-25 285

:::::: The code at line 240 was first introduced by commit
:::::: 5cecadc3e2a4fb72ab37d9420df0a9e1179b8a3e dmaengine: at_hdmac: Keep register definitions and structures private to at_hdmac.c

:::::: TO: Tudor Ambarus <tudor.ambarus@xxxxxxxxxxxxx>
:::::: CC: Vinod Koul <vkoul@xxxxxxxxxx>

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