summaryrefslogtreecommitdiff
path: root/drivers/media/platform/s5p-mfc
AgeCommit message (Collapse)Author
2014-10-20media: platform: s5p-mfc: drop owner assignment from platform_driversWolfram Sang
A platform_driver does not need to set an owner, it will be populated by the driver core. Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
2014-09-26[media] s5p-mfc: Fix several printk warningsMauro Carvalho Chehab
drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:192:3: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘dma_addr_t’ [-Wformat=] drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:196:3: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘dma_addr_t’ [-Wformat=] drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:196:3: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 5 has type ‘dma_addr_t’ [-Wformat=] drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:1206:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:1206:32: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:1757:3: warning: format ‘%zx’ expects argument of type ‘size_t’, but argument 6 has type ‘dma_addr_t’ [-Wformat=] drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:1879:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘size_t’ [-Wformat=] drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:1206:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:1206:32: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26[media] s5p_mfc_opr: Fix warningsMauro Carvalho Chehab
CC drivers/media//platform/s5p-mfc/s5p_mfc_opr.o drivers/media//platform/s5p-mfc/s5p_mfc_opr.c: In function ‘s5p_mfc_alloc_priv_buf’: drivers/media//platform/s5p-mfc/s5p_mfc_opr.c:44:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘size_t’ [-Wformat=] mfc_debug(3, "Allocating priv: %d\n", b->size); ^ drivers/media//platform/s5p-mfc/s5p_mfc_opr.c:53:2: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 5 has type ‘dma_addr_t’ [-Wformat=] mfc_debug(3, "Allocated addr %p %08x\n", b->virt, b->dma); ^ Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26[media] s5p_mfc_opr_v6: get rid of warnings when compiled with 64 bitsMauro Carvalho Chehab
There are several errors related to size_t size and the usage of unsigned int for pointers: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function ‘s5p_mfc_alloc_codec_buffers_v6’: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:103:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘size_t’ [-Wformat=] mfc_debug(2, "recon luma size: %d chroma size: %d\n", ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:103:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘size_t’ [-Wformat=] drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function ‘s5p_mfc_set_dec_frame_buffer_v6’: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:472:3: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 5 has type ‘size_t’ [-Wformat=] mfc_debug(2, "Luma %d: %x\n", i, ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:476:3: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 5 has type ‘size_t’ [-Wformat=] mfc_debug(2, "\tChroma %d: %x\n", i, ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:490:4: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘size_t’ [-Wformat=] mfc_debug(2, "\tBuf1: %x, size: %d\n", ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:498:2: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 4 has type ‘size_t’ [-Wformat=] mfc_debug(2, "Buf1: %u, buf_size1: %d (frames %d)\n", ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function ‘s5p_mfc_set_enc_ref_buffer_v6’: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:596:2: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 4 has type ‘size_t’ [-Wformat=] mfc_debug(2, "Buf1: %u, buf_size1: %d (ref frames %d)\n", ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function ‘s5p_mfc_write_info_v6’: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:1883:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] writel(data, (volatile void __iomem *)ofs); ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function ‘s5p_mfc_read_info_v6’: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:1893:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ret = readl((volatile void __iomem *)ofs); ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function ‘s5p_mfc_get_pic_type_top_v6’: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2022:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (__force unsigned int) ctx->dev->mfc_regs->d_ret_picture_tag_top); ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function ‘s5p_mfc_get_pic_type_bot_v6’: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2028:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (__force unsigned int) ctx->dev->mfc_regs->d_ret_picture_tag_bot); ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function ‘s5p_mfc_get_crop_info_h_v6’: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2034:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (__force unsigned int) ctx->dev->mfc_regs->d_display_crop_info1); ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function ‘s5p_mfc_get_crop_info_v_v6’: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2040:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (__force unsigned int) ctx->dev->mfc_regs->d_display_crop_info2); Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26[media] s5p_mfc_opr_v5: Fix lots of warnings on x86_64Mauro Carvalho Chehab
When compiled on x86_64, several warnings popup: drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:476:3: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 5 has type ‘size_t’ [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:480:3: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 5 has type ‘size_t’ [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:485:4: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 4 has type ‘size_t’ [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:493:2: warning: format ‘%u’ expects argument of type ‘unsigned int’, but argument 4 has type ‘size_t’ [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:570:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘size_t’ [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:570:2: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘size_t’ [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:609:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘size_t’ [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:609:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘size_t’ [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:640:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘size_t’ [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:640:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘size_t’ [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:666:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘size_t’ [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:666:3: warning: format ‘%d’ expects argument of type ‘int’, but argument 5 has type ‘size_t’ [-Wformat=] Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26[media] s5p_mfc_opr_v6: remove address space removal warningsMauro Carvalho Chehab
Smatch still has 3 warnings for s5p_mfc_opr_v6: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2028:18: warning: cast removes address space of expression drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2034:18: warning: cast removes address space of expression drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2040:18: warning: cast removes address space of expression Remove them. Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26[media] s5p_mfc_opr_v6: fix wrong type for registersMauro Carvalho Chehab
As reported by smatch, there are several warnings related to bad types for registers. Worse than that, there are too many errors, preventing smatch to warn about real issues. So, fix them: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:414:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:414:35: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:414:35: got void *const d_stream_data_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:415:34: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:415:34: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:415:34: got void *const d_cpb_buffer_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:416:39: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:416:39: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:416:39: got void *const d_cpb_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:417:40: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:417:40: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:417:40: got void *const d_cpb_buffer_offset drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:441:46: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:441:46: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:441:46: got void *const d_num_dpb drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:442:40: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:442:40: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:442:40: got void *const d_first_plane_dpb_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:443:42: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:443:42: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:443:42: got void *const d_second_plane_dpb_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:445:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:445:35: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:445:35: got void *const d_scratch_buffer_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:446:47: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:446:47: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:446:47: got void *const d_scratch_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:450:33: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:450:33: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:450:33: got void *const d_first_plane_dpb_stride_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:452:33: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:452:33: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:452:33: got void *const d_second_plane_dpb_stride_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:460:46: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:460:46: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:460:46: got void *const d_mv_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:461:47: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:461:47: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:461:47: got void *const d_num_mv drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:475:61: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:475:61: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:475:61: got void * drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:479:62: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:479:62: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:479:62: got void * drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:492:65: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:492:65: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:492:65: got void * drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:505:38: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:505:38: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:505:38: got void *const instance_id drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:520:30: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:520:30: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:520:30: got void *const e_stream_buffer_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:521:30: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:521:30: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:521:30: got void *const e_stream_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:535:32: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:535:32: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:535:32: got void *const e_source_first_plane_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:536:32: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:536:32: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:536:32: got void *const e_source_second_plane_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:549:33: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:549:33: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:549:33: got void *const e_encoded_source_first_plane_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:550:33: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:550:33: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:550:33: got void *const e_encoded_source_second_plane_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:552:42: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:552:42: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:552:42: got void *const e_recon_luma_dpb_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:553:42: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:553:42: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:553:42: got void *const e_recon_chroma_dpb_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:575:56: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:575:56: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:575:56: got void * drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:577:58: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:577:58: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:577:58: got void * drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:579:57: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:579:57: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:579:57: got void * drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:585:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:585:35: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:585:35: got void *const e_scratch_buffer_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:586:47: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:586:47: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:586:47: got void *const e_scratch_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:590:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:590:35: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:590:35: got void *const e_tmv_buffer0 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:592:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:592:35: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:592:35: got void *const e_tmv_buffer1 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:603:38: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:603:38: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:603:38: got void *const instance_id drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:619:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:619:41: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:619:41: got void *const e_mslice_mode drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:621:52: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:621:52: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:621:52: got void *const e_mslice_size_mb drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:624:54: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:624:54: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:624:54: got void *const e_mslice_size_bits drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:626:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:626:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:626:37: got void *const e_mslice_size_mb drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:627:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:627:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:627:37: got void *const e_mslice_size_bits drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:643:40: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:643:40: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:643:40: got void *const e_frame_width drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:645:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:645:41: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:645:41: got void *const e_frame_height drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:648:40: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:648:40: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:648:40: got void *const e_cropped_frame_width drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:650:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:650:41: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:650:41: got void *const e_cropped_frame_height drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:652:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:652:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:652:29: got void *const e_frame_crop_offset drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:657:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:657:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:657:29: got void *const e_gop_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:665:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:665:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:665:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:669:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:669:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:669:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:673:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:673:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:673:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:679:45: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:679:45: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:679:45: got void *const e_ir_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:680:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:680:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:680:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:685:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:685:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:685:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:688:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:688:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:688:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:690:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:690:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:690:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:695:37: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:695:37: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:695:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:697:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:697:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:697:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:699:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:699:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:699:37: got void *const pixel_format drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:702:37: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:702:37: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:702:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:704:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:704:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:704:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:706:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:706:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:706:37: got void *const pixel_format drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:709:37: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:709:37: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:709:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:711:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:711:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:711:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:713:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:713:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:713:37: got void *const pixel_format drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:718:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:718:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:718:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:720:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:720:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:720:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:723:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:723:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:723:29: got void *const e_padding_ctrl drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:734:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:734:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:734:37: got void *const e_padding_ctrl drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:741:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:741:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:741:29: got void *const e_rc_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:746:33: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:746:33: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:746:33: got void *const e_rc_bit_rate drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:748:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:748:35: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:748:35: got void *const e_rc_bit_rate drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:753:43: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:753:43: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:753:43: got void *const e_rc_mode drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:755:43: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:755:43: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:755:43: got void *const e_rc_mode drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:759:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:759:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:759:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:766:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:766:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:766:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:769:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:769:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:769:29: got void *const e_rc_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:771:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:771:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:771:29: got void *const e_rc_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:775:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:775:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:775:29: got void *const e_mv_hor_range drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:778:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:778:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:778:29: got void *const e_mv_ver_range drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:780:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:780:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:780:29: got void *const e_frame_insertion drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:781:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:781:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:781:29: got void *const e_roi_buffer_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:782:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:782:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:782:29: got void *const e_param_change drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:783:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:783:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:783:29: got void *const e_rc_roi_ctrl drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:784:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:784:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:784:29: got void *const e_picture_tag drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:786:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:786:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:786:29: got void *const e_bit_count_enable drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:787:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:787:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:787:29: got void *const e_max_bit_count drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:788:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:788:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:788:29: got void *const e_min_bit_count drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:790:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:790:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:790:29: got void *const e_metadata_buffer_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:791:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:791:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:791:29: got void *const e_metadata_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:812:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:812:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:812:29: got void *const e_gop_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:815:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:815:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:815:29: got void *const e_gop_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:823:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:823:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:823:29: got void *const e_picture_profile drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:826:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:826:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:826:29: got void *const e_rc_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:830:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:830:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:830:29: got void *const e_rc_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:835:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:835:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:835:29: got void *const e_rc_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:843:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:843:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:843:29: got void *const e_rc_qp_bound drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:846:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:846:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:846:29: got void *const e_fixed_picture_qp drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:852:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:852:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:852:37: got void *const e_fixed_picture_qp drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:860:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:860:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:860:37: got void *const e_rc_frame_rate drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:867:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:867:41: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:867:41: got void *const e_vbv_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:870:54: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:870:54: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:870:54: got void *const e_vbv_init_delay drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:876:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:876:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:876:29: got void *const e_h264_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:881:41: warning: too many warnings Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26[media] s5p_mfc_opr_v5: fix smatch warningsMauro Carvalho Chehab
drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:266:23: warning: incorrect type in argument 2 (different modifiers) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:266:23: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:266:23: got void const volatile [noderef] <asn:2>*<noident> drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:274:36: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:274:36: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:274:36: got void * Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26[media] s5p_mfc: use static for some structsMauro Carvalho Chehab
drivers/media/platform/s5p-mfc/s5p_mfc.c:1334:28: warning: symbol 'mfc_buf_size_v5' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1341:25: warning: symbol 'buf_size_v5' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1347:26: warning: symbol 'mfc_buf_align_v5' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1360:28: warning: symbol 'mfc_buf_size_v6' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1368:25: warning: symbol 'buf_size_v6' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1374:26: warning: symbol 'mfc_buf_align_v6' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1392:28: warning: symbol 'mfc_buf_size_v7' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1400:25: warning: symbol 'buf_size_v7' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1406:26: warning: symbol 'mfc_buf_align_v7' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1419:28: warning: symbol 'mfc_buf_size_v8' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1427:25: warning: symbol 'buf_size_v8' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1433:26: warning: symbol 'mfc_buf_align_v8' was not declared. Should it be static? Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26[media] s5p-mfc: Use decode status instead of display status on MFCv5Sjoerd Simons
Commit 90c0ae50097 changed how the frame_type of a decoded frame gets determined, by switching from the get_dec_frame_type to get_disp_frame_type operation. Unfortunately it seems that on MFC v5 the result of get_disp_frame_type is always 0 (no display) when decoding (tested with H264), resulting in no frame ever being output from the decoder. This patch reverts MFC v5 to the previous behaviour while keeping the new behaviour for v6 and up. Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26[media] s5p-mfc: fix enum_fmt for s5p-mfcayaka
As the s5p-mfc is a driver which use multiplanar api, so the vidioc_enum_fmt_vid serial of ioctl should only for multiplanar, non-multiplanar shouldn't be implemented at all. Signed-off-by: ayaka <ayaka@soulik.info> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26[media] s5p-mfc: Fix sparse errors in the MFC driverKamil Debski
The following error: "error: incompatible types in conditional expression (different base types)" was reported multiple times for the s5p-mfc driver. This error was caused by two macro definitions - s5p_mfc_hw_call (in s5p_mfc_common.h) and WRITEL (in s5p_mfc_opr_v6.c). In the former case the macro assumed that all ops return a value, but some ops return void. The solution to this problem was the addition of a s5p_mfc_hw_call_void macro. In the latter case the macro used the ?: construction to check whether the address is non zero. This is not necessary after the driver left the development and debugging cycle, so the READL and WRITEL macros were removed. Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26[media] s5p_mfc: unify variable naming styleZhaowei Yuan
Variable frame_size represents the size of plane luminance here, not just frame size, its naming style should be unified as frame_size_ch and frame_size_mv. Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-26[media] s5p_mfc: correct the loop conditionZhaowei Yuan
It should take ctx->dst_fmt->num_planes as the loop condition for CAPTURE. Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2014-09-03[media] media: s5p-mfc: rename special clock to sclk_mfcMarek Szyprowski
Commit d19f405a5a8d2ed942b40f8cf7929a5a50d0cc59 ("[media] s5p-mfc: Fix selective sclk_mfc init") added support for special clock handling (named "sclk-mfc"). However this clock is not defined yet on any platform, so before adding it to all Exynos platform, better rename it to "sclk_mfc" to match the scheme used for all other special clocks on Exynos platform. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] media: s5p-mfc: correct improper logsZhaowei Yuan
This patch corrects improper logs within the code initializing hardware. Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-09-03[media] media: s5p_mfc: Release ctx->ctx if failed to allocate ctx->shmZhaowei Yuan
ctx->ctx should be released if the following allocation for ctx->shm gets failed. Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-26[media] s5p_mfc: get rid of several warningsMauro Carvalho Chehab
drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:826:5: warning: no previous prototype for 'vidioc_decoder_cmd' [-Wmissing-prototypes] int vidioc_decoder_cmd(struct file *file, void *priv, ^ drivers/media/platform/s5p-mfc/s5p_mfc.c: In function 's5p_mfc_runtime_resume': drivers/media/platform/s5p-mfc/s5p_mfc.c:1314:6: warning: variable 'pre_power' set but not used [-Wunused-but-set-variable] int pre_power; ^ drivers/media/platform/s5p-mfc/s5p_mfc_cmd_v5.c:163:25: warning: no previous prototype for 's5p_mfc_init_hw_cmds_v5' [-Wmissing-prototypes] struct s5p_mfc_hw_cmds *s5p_mfc_init_hw_cmds_v5(void) ^ drivers/media/platform/s5p-mfc/s5p_mfc_cmd_v6.c:156:25: warning: no previous prototype for 's5p_mfc_init_hw_cmds_v6' [-Wmissing-prototypes] struct s5p_mfc_hw_cmds *s5p_mfc_init_hw_cmds_v6(void) ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c: In function 's5p_mfc_run_dec_frame': drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:1189:15: warning: variable 'index' set but not used [-Wunused-but-set-variable] unsigned int index; ^ drivers/media/platform/s5p-mfc/s5p_mfc_enc.c: In function 'cleanup_ref_queue': drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:742:27: warning: variable 'mb_c_addr' set but not used [-Wunused-but-set-variable] unsigned long mb_y_addr, mb_c_addr; ^ drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:742:16: warning: variable 'mb_y_addr' set but not used [-Wunused-but-set-variable] unsigned long mb_y_addr, mb_c_addr; ^ drivers/media/platform/s5p-mfc/s5p_mfc_enc.c: At top level: drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:1684:5: warning: no previous prototype for 'vidioc_encoder_cmd' [-Wmissing-prototypes] int vidioc_encoder_cmd(struct file *file, void *priv, ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-26[media] s5p_mfc_ctrl: add missing s5p_mfc_ctrl.h headerMauro Carvalho Chehab
That gets rid of the following warnings: drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:119:5: warning: no previous prototype for 's5p_mfc_release_firmware' [-Wmissing-prototypes] int s5p_mfc_release_firmware(struct s5p_mfc_dev *dev) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:132:5: warning: no previous prototype for 's5p_mfc_reset' [-Wmissing-prototypes] int s5p_mfc_reset(struct s5p_mfc_dev *dev) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:214:5: warning: no previous prototype for 's5p_mfc_init_hw' [-Wmissing-prototypes] int s5p_mfc_init_hw(struct s5p_mfc_dev *dev) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:291:6: warning: no previous prototype for 's5p_mfc_deinit_hw' [-Wmissing-prototypes] void s5p_mfc_deinit_hw(struct s5p_mfc_dev *dev) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:301:5: warning: no previous prototype for 's5p_mfc_sleep' [-Wmissing-prototypes] int s5p_mfc_sleep(struct s5p_mfc_dev *dev) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:330:5: warning: no previous prototype for 's5p_mfc_wakeup' [-Wmissing-prototypes] int s5p_mfc_wakeup(struct s5p_mfc_dev *dev) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:378:5: warning: no previous prototype for 's5p_mfc_open_mfc_inst' [-Wmissing-prototypes] int s5p_mfc_open_mfc_inst(struct s5p_mfc_dev *dev, struct s5p_mfc_ctx *ctx) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:420:6: warning: no previous prototype for 's5p_mfc_close_mfc_inst' [-Wmissing-prototypes] void s5p_mfc_close_mfc_inst(struct s5p_mfc_dev *dev, struct s5p_mfc_ctx *ctx) ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-08-26[media] s5p_mfc: don't use an external symbol called 'debug'Mauro Carvalho Chehab
The 'debug' name is known to cause conflicts with allyesconfig on several archs. So, localize its name. >> drivers/built-in.o:(.bss+0xc7ee2c): multiple definition of `debug' arch/x86/built-in.o:(.entry.text+0xf78): first defined here ld: Warning: size of symbol `debug' changed from 86 in arch/x86/built-in.o to 4 in drivers/built-in.o While here, fix a wrong file name reference Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-30[media] s5p-mfc: remove unnecessary calling to function video_devdata()Zhaowei Yuan
Since we have get vdev by calling video_devdata() at the beginning of s5p_mfc_open(), we should just use vdev instead of calling video_devdata() again in the following code. Signed-off-by: Zhaowei Yuan <zhaowei.yuan@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-22[media] s5p-mfc: Add init buffer cmd to MFCV6Arun Kumar K
Latest MFC v6 firmware requires tile mode and loop filter setting to be done as part of Init buffer command, in sync with v7. This patch adds this support for new v6 firmware. Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Signed-off-by: Kiran AVND <avnd.kiran@samsung.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-22[media] s5p-mfc: Support multiple firmware sub-versionsArun Kumar K
For MFC firmwares, improved versions with bug fixes and feature additions are released keeping the firmware version including major and minor number same. The issue came with the release of a new MFCv6 firmware with an interface change. This patch adds the support of accepting multiple firmware binaries for every version with the driver trying to load firmwares starting from latest. This ensures full backward compatibility regardless of which firmware version and kernel version is used. Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-22[media] s5p-mfc: Remove duplicate function s5p_mfc_reload_firmwareArun Kumar K
The function s5p_mfc_reload_firmware is exactly same as s5p_mfc_load_firmware. So removing the duplicate function. Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Reviewed-by: Tomasz Figa <t.figa@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-21[media] s5p-mfc: limit the size of the CPBpanpan liu
The CPB size is limited by the hardware. Add this limit to the s_fmt. Signed-off-by: panpan liu <panpan1.liu@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-21[media] s5p-mfc: Fix selective sclk_mfc initJacek Anaszewski
fc906b6d "Remove special clock usage in driver" removed initialization of MFC special clock, arguing that there's no need to do it explicitly, since it's one of MFC gate clock's dependencies and gets enabled along with it. However, there's no promise of keeping this hierarchy across Exynos SoC releases, therefore this approach fails to provide a stable, portable solution. Out of all MFC versions, only v6 doesn't use special clock at all. For other versions log a message only in case clk_get fails, as not all the devices with the same MFC version require initializing the clock explicitly. Signed-off-by: Mateusz Zalega <m.zalega@samsung.com> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com> Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-07-21[media] s5p: fix error code path when failing to allocate DMA memoryMaurizio Lombardi
In the s5p_mfc_alloc_firmware() function there are some mistakes where the code checks whether the DMA memory is properly allocated or not. First of all dma_alloc_coherent() returns NULL in case of error. The code also checked two times fw_virt_addr, ignoring the bank2_virt pointer. Signed-off-by: Maurizio Lombardi <mlombard@redhat.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-05-23[media] s5p-mfc: Add support for resolution change eventPawel Osciak
When a resolution change point is reached, queue an event to signal the userspace that a new set of buffers is required before decoding can continue. Signed-off-by: Pawel Osciak <posciak@chromium.org> Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Acked-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-05-23[media] s5p-mfc: Core support for v8 encoderKiran AVND
This patch adds core support for v8 encoder. This patch also adds register definitions and buffer size requirements for H264 & VP8 encoding, needed for new firmware version v8 for MFC Signed-off-by: Kiran AVND <avnd.kiran@samsung.com> Signed-off-by: Pawel Osciak <posciak@chromium.org> Signed-off-by: Arun Kumar K <arun.kk@samsung.com> [k.debski@samsung.com: Change MFC version macro name to MFC_V8_BIT] Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-05-23[media] s5p-mfc: Core support to add v8 decoderKiran AVND
This patch adds variant data and core support for V8 decoder. This patch also adds the register definition file for new firmware version v8 for MFC. Signed-off-by: Kiran AVND <avnd.kiran@samsung.com> Signed-off-by: Pawel Osciak <posciak@chromium.org> Signed-off-by: Arun Kumar K <arun.kk@samsung.com> [k.debski@samsung.com: Change MFC version macro name to MFC_V8_BIT] Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-05-23[media] v4l: s5p-mfc: Limit enum_fmt to output formats of current versionKamil Debski
MFC versions support a different set of formats, this specially applies to the raw YUV formats. This patch changes enum_fmt, so that it only reports formats that are supported by the used MFC version. Signed-off-by: Kamil Debski <k.debski@samsung.com> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-05-23[media] v4l: s5p-mfc: Fix default pixel format selection for decoderKamil Debski
The patch adding the v6 version of MFC changed the default format for the CAPTURE queue, but this also affects the v5 version. This patch solves this problem by checking the MFC version before assigning the default format. Signed-off-by: Kamil Debski <k.debski@samsung.com> Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-05-23[media] s5p-mfc: Rename IS_MFCV7 macroArun Kumar K
Renaming the IS_MFCV7 macro to IS_MFCV7_PLUS for the addition of MFCv8 support which reuses the v7 code. Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-05-23[media] s5p-mfc: Add variants to access mfc registersKiran AVND
This patch is needed in preparation to add MFC V8 where the register offsets are changed w.r.t MFC V6/V7. This patch adds variants of MFC V6 and V7 while accessing MFC registers. Registers are kept in mfc context and are initialized to a particular MFC variant during probe, which is used instead of macros. This avoids duplication of the code for MFC variants V6 & V7, and reduces the if_else checks while accessing registers of different MFC variants. Signed-off-by: Kiran AVND <avnd.kiran@samsung.com> Signed-off-by: Pawel Osciak <posciak@chromium.org> Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-05-23[media] s5p-mfc: Move INIT_BUFFER_OPTIONS from v7 to v6Arun Kumar K
The register S5P_FIMV_D_INIT_BUFFER_OPTIONS holds good for v6 firmware too. So moving the definition from v7 regs to v6. Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-05-23[media] s5p-mfc: Update scratch buffer size for MPEG4Arun Kumar K
Update the MPEG4 decoder scratch buffer size as per the new v6 firmware. This updation is increasing the size and so is backward compatible with older v6 firmwares. Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-05-23[media] s5p-mfc: Don't try to resubmit VP8 bitstream buffer for decodePawel Osciak
Currently, for formats that are not H264, MFC driver will check the consumed stream size returned by the firmware and, based on that, will try to decide whether the bitstream buffer contained more than one frame. If the size of the buffer is larger than the consumed stream, it assumes that there are more frames in the buffer and that the buffer should be resubmitted for decode. This rarely works though and actually introduces problems, because: - v7 firmware will always return consumed stream size equal to whatever the driver passed to it when running decode (which is the size of the whole buffer), which means we will never try to resubmit, because the firmware will always tell us that it consumed all the data we passed to it; - v6 firmware will return the number of consumed bytes, but will not include the padding ("stuffing") bytes that are allowed after the frame in VP8. Since there is no way of figuring out how many of those bytes follow the frame without getting the frame size from IVF headers (or somewhere else, but not from the stream itself), the driver tries to guess that padding size is not larger than 4 bytes, which is not always true; The only way to make it work is to queue only one frame per buffer from userspace and the check in the kernel is useless and wrong for VP8. So adding VP8 also along with H264 to disallow re-submitting of buffer back to hardware for decode. Signed-off-by: Pawel Osciak <posciak@chromium.org> Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-05-23[media] s5p-mfc: Update scratch buffer size for VP8 encoderKiran AVND
Scratch buffer size updated for vp8 encoding as per the latest v7 firmware. As the new macro increases the scratch buffer size, it is backward compatible with the older firmware too. Signed-off-by: Kiran AVND <avnd.kiran@samsung.com> Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-05-23[media] s5p-mfc: Don't allocate codec buffers on STREAMONPawel Osciak
Currently, we allocate private codec buffers on STREAMON, which may fail if we are out of memory. We don't check for failure though, which will make us crash with the codec accessing random memory. We shouldn't be failing STREAMON with out of memory errors though. So move the allocation of private codec buffers to REQBUFS for OUTPUT queue. Also, move MFC instance opening and closing to REQBUFS as well, as it's tied to allocation and deallocation of private codec buffers. Signed-off-by: Pawel Osciak <posciak@chromium.org> Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-05-23[media] s5p-mfc: Extract open/close MFC instance commandsPawel Osciak
This is in preparation for a new flow to fix issues with streamon, which should not be allocating buffer memory. Signed-off-by: Pawel Osciak <posciak@chromium.org> Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-05-23[media] s5p-mfc: Fixes for decode REQBUFSPawel Osciak
- Honor return values from vb2_reqbufs on REQBUFS(0). - Do not set the number of allocated buffers to 0 if userspace tries to request buffers again without freeing them. - There is no need to verify correct instance state on reqbufs, as we will verify this in queue_setup(). - There is also no need to verify that vb2_reqbufs() was able to allocate enough buffers (pb_count) and call buf_init on that many buffers (i.e. dst_buf_count is at least pb_count), because this will be verified by second queue_setup() call as well and vb2_reqbufs() will fail otherwise. - Only verify state is MFCINST_INIT when allocating, not when freeing. - Refactor and simplify code. Signed-off-by: Pawel Osciak <posciak@chromium.org> Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-05-23[media] s5p-mfc: Copy timestamps only when a frame is producedPawel Osciak
Timestamps for destination buffers are assigned by copying them from corresponding source buffers when the decode operation results in a frame being outputted to a destination buffer. But the decision when to do this, i.e. whether the decode operation on current source buffer produced a destination frame, is wrongly based on "display status". Display status reflects the status of the destination buffer, not source. This used to work for firmwares version <= 6, because in addition to the above, we'd check the decoded frame type register, which was set to "skipped" if a destination frame was not produced, exiting early from s5p_mfc_handle_frame_new(). Firmware >=7 does not set the frame type register for frames that were not decoded anymore though, which results in us wrongly overwriting timestamps of previously decoded buffers (firmware reports the same destination buffer address as previously decoded one if a frame wasn't decoded during current operation). To do it properly, we should be basing our decision to copy the timestamp on the status of the source buffer, i.e. "decode status". The decode status register values are confusing, because in its case "display" means "a frame has been outputted to a destination buffer". We should copy if "decode and display" is returned in it. This also works on <= v6 firmware, which behaves in the same way with regards to decode status register. Signed-off-by: Pawel Osciak <posciak@chromium.org> Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-05-23[media] s5p-mfc: fix encoder crash after VIDIOC_STREAMOFFJohn Sheu
VIDIOC_STREAMOFF clears the encoder's destination queue -- routines run from the interrupt handler cannot assume that the queue is non-empty. Signed-off-by: John Sheu <sheu@google.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-04-23[media] vb2: stop_streaming should return voidHans Verkuil
The vb2 core ignores any return code from the stop_streaming op. And there really isn't anything it can do anyway in case of an error. So change the return type to void and update any drivers that implement it. The int return gave drivers the idea that this operation could actually fail, but that's really not the case. The pwc amd sdr-msi3101 drivers both had this construction: if (mutex_lock_interruptible(&s->v4l2_lock)) return -ERESTARTSYS; This has been updated to just call mutex_lock(). The stop_streaming op expects this to really stop streaming and I very much doubt this will work reliably if stop_streaming just returns without really stopping the DMA. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Pawel Osciak <pawel@osciak.com> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-03-11[media] s5p-mfc: remove meaningless memory bank assignmentSeung-Woo Kim
This patch removes meaningless assignment of memory bank to itself. Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com> Acked-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-03-11[media] s5p-mfc: Replaced commas with semicolonsJoonyoung Shim
There is no any reason to use comma here. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-03-05[media] v4l: Copy timestamp source flags to destination on m2m devicesSakari Ailus
Copy the flags containing the timestamp source from source buffer flags to the destination buffer flags on memory-to-memory devices. This is analogous to copying the timestamp field from source to destination. Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi> Acked-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-03-05[media] v4l: Rename vb2_queue.timestamp_type as timestamp_flagsSakari Ailus
The timestamp_type field used to contain only the timestamp type. Soon it will be used for timestamp source flags as well. Rename the field accordingly. [m.chehab@samsung.com: do the change also to drivers/staging/media and at s2255] Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-02-28[media] s5p-mfc: Add Horizontal and Vertical MV Search RangeAmit Grover
This patch adds Controls to set Horizontal and Vertical search range for Motion Estimation block for Samsung MFC video Encoders. Signed-off-by: Swami Nathan <swaminath.p@samsung.com> Signed-off-by: Amit Grover <amit.grover@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
2014-01-13[media] s5p-mfc: Add controls to set vp8 enc profileKiran AVND
Add v4l2 controls to set desired profile for VP8 encoder. Acceptable levels for VP8 encoder are 0: Version 0 1: Version 1 2: Version 2 3: Version 3 Signed-off-by: Kiran AVND <avnd.kiran@samsung.com> Signed-off-by: Pawel Osciak <posciak@chromium.org> Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>