tree:
https://github.com/omap-audio/linux-audio peter/linux-next-wip
head: 0b053a09178c4bf6ca33fcea67aec032968d4410
commit: 924d565985f8e984c105f55c80de94704cded25a [22/92] misc: omap_video_vrfb test for
dmaengine conversion HACK
config: arm-allyesconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 924d565985f8e984c105f55c80de94704cded25a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/misc/ovv_dmaengine.c: In function 'omap_vout_prepare_vrfb':
> drivers/misc/ovv_dmaengine.c:258:2: error: implicit declaration
of function 'omap_dma_set_global_params' [-Werror=implicit-function-declaration]
258 | omap_dma_set_global_params(DMA_DEFAULT_ARB_RATE, 0x20, 0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
At top level:
drivers/misc/ovv_dmaengine.c:148:13: warning: 'ovv_dump_50_item_from' defined
but not used [-Wunused-function]
148 | static void ovv_dump_50_item_from(struct omap_vout_device *vout, int start)
| ^~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/omap_dma_set_global_params +258 drivers/misc/ovv_dmaengine.c
206
207 static int omap_vout_prepare_vrfb(struct omap_vout_device *vout,
208 struct videobuf_buffer *vb)
209 {
210 dma_addr_t dmabuf;
211 struct vid_vrfb_dma *tx;
212 u32 dest_frame_index = 0, src_element_index = 0;
213 u32 dest_element_index = 0, src_frame_index = 0;
214 u32 elem_count = 0, frame_count = 0, pixsize = 2;
215
216 if (!is_rotation_enabled(vout))
217 return 0;
218
219 dmabuf = vout->buf_phy_addr[vb->i];
220 /* If rotation is enabled, copy input buffer into VRFB
221 * memory space using DMA. We are copying input buffer
222 * into VRFB memory space of desired angle and DSS will
223 * read image VRFB memory for 0 degree angle
224 */
225 pixsize = vout->bpp * vout->vrfb_bpp;
226 /*
227 * DMA transfer in double index mode
228 */
229
230 /* Frame index */
231 dest_frame_index = ((MAX_PIXELS_PER_LINE * pixsize) -
232 (vout->pix.width * vout->bpp)) + 1;
233
234 /* Source and destination parameters */
235 src_element_index = 0;
236 src_frame_index = 0;
237 dest_element_index = 1;
238 /* Number of elements per frame */
239 elem_count = vout->pix.width * vout->bpp;
240 frame_count = vout->pix.height;
241 tx = &vout->vrfb_dma_tx;
242 tx->tx_status = 0;
243 omap_set_dma_transfer_params(tx->dma_ch, OMAP_DMA_DATA_TYPE_S32,
244 (elem_count / 4), frame_count, OMAP_DMA_SYNC_ELEMENT,
245 tx->dev_id, 0x0);
246 /* src_port required only for OMAP1 */
247 omap_set_dma_src_params(tx->dma_ch, 0, OMAP_DMA_AMODE_POST_INC,
248 dmabuf, src_element_index, src_frame_index);
249 /*set dma source burst mode for VRFB */
250 omap_set_dma_src_burst_mode(tx->dma_ch, OMAP_DMA_DATA_BURST_16);
251
252 /* dest_port required only for OMAP1 */
253 omap_set_dma_dest_params(tx->dma_ch, 0, OMAP_DMA_AMODE_DOUBLE_IDX,
254 vout->vrfb_context[vb->i].paddr[0], dest_element_index,
255 dest_frame_index);
256 /*set dma dest burst mode for VRFB */
257 omap_set_dma_dest_burst_mode(tx->dma_ch, OMAP_DMA_DATA_BURST_16);
258 omap_dma_set_global_params(DMA_DEFAULT_ARB_RATE, 0x20, 0);
259
260 omap_start_dma(tx->dma_ch);
261 wait_event_interruptible_timeout(tx->wait, tx->tx_status == 1,
262 VRFB_TX_TIMEOUT);
263
264 if (tx->tx_status == 0) {
265 omap_stop_dma(tx->dma_ch);
266 return -EINVAL;
267 }
268
269 return 0;
270 }
271
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org