mirror of
https://github.com/torvalds/linux.git
synced 2024-12-24 11:51:27 +00:00
0d1165fcaf
32 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Pawel Osciak
|
f2035364cc |
[media] s5p-mfc: fix a race in interrupt flags handling
Interrupt result flags have to be cleared before a hardware job is run. Otherwise, if they are cleared asynchronously, we may end up clearing them after the interrupt for which we wanted to wait has already arrived, thus overwriting the job results that we intended to wait for. To prevent this, clear the flags only under hw_lock and before running a hardware job. Signed-off-by: Pawel Osciak <posciak@chromium.org> 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 <mchehab@osg.samsung.com> |
||
Kiran AVND
|
16258649bf |
[media] s5p-mfc: flush dpbs when resolution changes
While resolution change is detected by MFC, we flush out older dpbs, send the resolution change event to application, and then accept further queuing of new src buffers. Sometimes, we error out during dpb flush because of lack of src buffers. Since we have not started decoding new resolution yet, it is simpler to push zero-size buffer until we flush out all dpbs. This is already been done while handling EOS command, and this patch extends the same logic to resolution change as well. 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 <mchehab@osg.samsung.com> |
||
Mauro Carvalho Chehab
|
03ce781626 |
[media] s5p-mfc: Fix several printk warnings
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> |
||
Mauro Carvalho Chehab
|
4966bac19c |
[media] s5p_mfc_opr_v6: get rid of warnings when compiled with 64 bits
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> |
||
Mauro Carvalho Chehab
|
dc11ef78e7 |
[media] s5p_mfc_opr_v6: remove address space removal warnings
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> |
||
Mauro Carvalho Chehab
|
b5e4d33070 |
[media] s5p_mfc_opr_v6: fix wrong type for registers
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> |
||
Kamil Debski
|
e2c3be2aff |
[media] s5p-mfc: Fix sparse errors in the MFC driver
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> |
||
Arun Kumar K
|
9ab10e469f |
[media] s5p-mfc: Add init buffer cmd to MFCV6
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> |
||
Kiran AVND
|
3e594ce7ea |
[media] s5p-mfc: Core support for v8 encoder
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> |
||
Kiran AVND
|
e2b9deb2ad |
[media] s5p-mfc: Core support to add v8 decoder
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> |
||
Arun Kumar K
|
109b794c87 |
[media] s5p-mfc: Rename IS_MFCV7 macro
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> |
||
Kiran AVND
|
6a9c6f6812 |
[media] s5p-mfc: Add variants to access mfc registers
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> |
||
Arun Kumar K
|
1c6f33acd3 |
[media] s5p-mfc: Move INIT_BUFFER_OPTIONS from v7 to v6
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> |
||
Amit Grover
|
a378a320aa |
[media] s5p-mfc: Add Horizontal and Vertical MV Search Range
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> |
||
Kiran AVND
|
bbd8f3fef9 |
[media] s5p-mfc: Add controls to set vp8 enc profile
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> |
||
Arun Kumar K
|
4773ab99aa |
[media] s5p-mfc: Add QP setting support for vp8 encoder
Adds v4l2 controls to set MIN, MAX QP values and I, P frame QP for vp8 encoder. 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> |
||
Arun Kumar K
|
3a9677063f |
[media] s5p-mfc: Add support for VP8 encoder
MFC v7 supports VP8 encoding and this patch adds support for it in the driver. 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> |
||
Arun Kumar K
|
debe6267b7 |
[media] s5p-mfc: Update driver for v7 firmware
Firmware version v7 is mostly similar to v6 in terms of hardware specific controls and commands. So the hardware specific opr_v6 and cmd_v6 are re-used for v7 also. This patch updates the v6 files to handle v7 version also. 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> |
||
Linus Torvalds
|
aad7601365 |
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media fixes from Mauro Carvalho Chehab: "Series of fixes for 3.10. There are some usual driver fixes (mostly on s5p/exynos playform drivers), plus some fixes at V4L2 core" * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (40 commits) [media] soc_camera: error dev remove and v4l2 call [media] sh_veu: fix the buffer size calculation [media] sh_veu: keep power supply until the m2m context is released [media] sh_veu: invoke v4l2_m2m_job_finish() even if a job has been aborted [media] v4l2-ioctl: don't print the clips list [media] v4l2-ctrls: V4L2_CTRL_CLASS_FM_RX controls are also valid radio controls [media] cx88: fix NULL pointer dereference [media] DocBook/media/v4l: update version number [media] exynos4-is: Remove "sysreg" clock handling [media] exynos4-is: Fix reported colorspace at FIMC-IS-ISP subdev [media] exynos4-is: Ensure fimc-is clocks are not enabled until properly configured [media] exynos4-is: Prevent NULL pointer dereference when firmware isn't loaded [media] s5p-mfc: Add NULL check for allocated buffer [media] s5p-mfc: added missing end-of-lines in debug messages [media] s5p-mfc: v4l2 controls setup routine moved to initialization code [media] s5p-mfc: separate encoder parameters for h264 and mpeg4 [media] s5p-mfc: Remove special clock usage in driver [media] s5p-mfc: Remove unused s5p_mfc_get_decoded_status_v6() function [media] v4l2: mem2mem: save irq flags correctly [media] coda: v4l2-compliance fix: add VIDIOC_CREATE_BUFS support ... |
||
Andrzej Hajda
|
4130eabc55 |
[media] s5p-mfc: added missing end-of-lines in debug messages
Many debug messages missed end-of-line. Signed-off-by: Andrzej Hajda <a.hajda@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 <mchehab@redhat.com> |
||
Sylwester Nawrocki
|
644469aefb |
[media] s5p-mfc: Remove unused s5p_mfc_get_decoded_status_v6() function
This patch fixes following compilation warning: CC [M] drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.o drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:1733:12: warning: ‘s5p_mfc_get_decoded_status_v6’ defined but not used It assigns existing but not used s5p_mfc_get_dec_status_v6() function to the get_dec_status callback. It seems the get_dec_status callback is not used anyway, as there is no corresponding s5p_mfc_hw_call(). Signed-off-by: Sylwester Nawrocki <sylvester.nawrocki@gmail.com> Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> |
||
Arun Kumar K
|
e9d98ddc0a |
[media] s5p-mfc: Update v6 encoder buffer alloc
MFC v6 needs minimum number of output buffers to be queued for encoder depending on the stream type and profile. The patch modifies the driver so that encoding cannot be started with lesser number of OUTPUT buffers than required. This also fixes the crash happeninig during multi instance encoder-decoder simultaneous run due to memory allocation happening from interrupt context. 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 <mchehab@redhat.com> |
||
Linus Torvalds
|
240c3c3424 |
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media update from Mauro Carvalho Chehab: - OF documentation and patches at core and drivers, to be used by for embedded media systems - some I2C drivers used on go7007 were rewritten/promoted from staging: sony-btf-mpx, tw2804, tw9903, tw9906, wis-ov7640, wis-uda1342 - add fimc-is driver (Exynos) - add a new radio driver: radio-si476x - add a two new tuners: r820t and tuner_it913x - split camera code on em28xx driver and add more models - the cypress firmware load is used outside dvb usb drivers. So, move it to a common directory to make easier to re-use it - siano media driver updated to work with sms2270 devices - several work done in order to promote go7007 and solo6x1x out of staging (still, there are some pending issues) - several API compliance fixes at v4l2 drivers that don't behave as expected - as usual, lots of driver fixes, improvements, cleanups and new device addition at the existing drivers. * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (831 commits) [media] cx88: make core less verbose [media] em28xx: fix oops at em28xx_dvb_bus_ctrl() [media] s5c73m3: fix indentation of the help section in Kconfig [media] cx25821-alsa: get rid of a __must_check warning [media] cx25821-video: declare cx25821_vidioc_s_std as static [media] cx25821-video: remove maxw from cx25821_vidioc_try_fmt_vid_cap [media] r820t: Remove a warning for an unused value [media] dib0090: Fix a warning at dib0090_set_EFUSE [media] dib8000: fix a warning [media] dib8000: Fix sub-channel range [media] dib8000: store dtv_property_cache in a temp var [media] dib8000: warning fix: declare internal functions as static [media] r820t: quiet gcc warning on n_ring [media] r820t: memory leak in release() [media] r820t: precendence bug in r820t_xtal_check() [media] videodev2.h: Remove the unused old V4L1 buffer types [media] anysee: Grammar s/report the/report to/ [media] anysee: Initialize ret = 0 in anysee_frontend_attach() [media] media: videobuf2: fix the length check for mmap [media] em28xx: save isoc endpoint number for DVB only if endpoint has alt settings with xMaxPacketSize != 0 ... |
||
Kamil Debski
|
a34026e75b |
[media] s5p-mfc: Add support for EOS command and EOS event in video decoder
Add support for V4L2_DEC_CMD_STOP command which will instruct MFC device to finish decoding and release all remaining frames kept for reference to the user. After dequeueing last decoded frame the driver will generate an V4L2_EVENT_EOS event. Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Kyngmin Park <kyungmin.park@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> |
||
Masanari Iida
|
1051e9b33b |
treewide: Fix typos in kernel messages
Correct spelling typos in various part of printk. Signed-off-by: Masanari Iida <standby24x7@gmail.com> Acked-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz> |
||
Sachin Kamat
|
b9571a577b |
[media] s5p-mfc: Staticize symbols in s5p_mfc_opr_v6.c
Symbols used only in this file should be made static. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> |
||
Kamil Debski
|
317b4ca498 |
[media] s5p-mfc: Change internal buffer allocation from vb2 ops to dma_alloc_coherent
Change internal buffer allocation from vb2 memory ops call to direct calls of dma_alloc_coherent. This change shortens the code and makes it much more readable. Signed-off-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> |
||
Sachin Kamat
|
4a9c85aa49 |
[media] s5p-mfc: Fix an error check
Checking unsigned variable for negative value always returns false. Hence make this value signed as we expect it to be negative too. Fixes the following smatch warning: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:572 s5p_mfc_set_enc_ref_buffer_v6() warn: unsigned 'buf_size1' is never less than zero. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> |
||
Arun Kumar K
|
8f23cc0222 |
[media] s5p-mfc: Flush DPB buffers during stream off
Flushing of delay DPB buffers have to be done during stream off. In MFC v6, it is done with a risc to host command. Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Signed-off-by: Arun Mankuzhi <arun.m@samsung.com> Acked-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> |
||
Wei Yongjun
|
20fe1cf081 |
[media] s5p-mfc: remove unused variable
The variable index is initialized but never used otherwise, so remove the unused variable. Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> |
||
Arun Kumar K
|
d9acbe1ace |
[media] s5p-mfc: Bug fix of timestamp/timecode copy mechanism
Modified the function s5p_mfc_get_dec_y_adr_v6 to access the decode Y address register instead of display Y address. Signed-off-by: Sunil Mazhavanchery <sunilm@samsung.com> Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Acked-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> |
||
Jeongtae Park
|
f96f3cfa0b |
[media] s5p-mfc: Update MFC v4l2 driver to support MFC6.x
Multi Format Codec 6.x is a hardware video coding acceleration module present in new Exynos5 SoC series. It is capable of handling several new video codecs for decoding and encoding. Signed-off-by: Jeongtae Park <jtp.park@samsung.com> Signed-off-by: Janghyuck Kim <janghyuck.kim@samsung.com> Signed-off-by: Jaeryul Oh <jaeryul.oh@samsung.com> Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@samsung.com> Signed-off-by: Arun Kumar K <arun.kk@samsung.com> Acked-by: Kamil Debski <k.debski@samsung.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> |