Commit Graph

8 Commits

Author SHA1 Message Date
Marek Szyprowski 1af2198547 [media] s5p-mfc: add additional check for incorrect memory configuration
MFC hardware is known to trash random memory if one tries to use a
buffer which has lower DMA addresses than the configured DMA base
address. This patch adds a check for this case and proper error
handling.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Acked-by: Kamil Debski <kamil@wypas.org>
[s.nawrocki@samsung.com: fixed typo (addres -> address]
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-08-11 06:25:50 -03:00
Marek Szyprowski 6c9fe76536 [media] media: s5p-mfc: fix broken pointer cast on 64bit arch
Unsigned int cannot be used to store casted pointer on 64bit
architecture, so correct such casts to properly use unsigned long
variables.

Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Kamil Debski <k.debski@samsung.com>
[k.debski@samsung.com: removed volatile and __iomem from cast]

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
2015-04-02 17:08:28 -03:00
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>
2014-09-26 06:47:49 -03:00
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>
2014-05-23 15:30:38 -03:00
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>
2013-01-06 09:59:02 -02:00
Arun Kumar K 43a1ea1f90 [media] s5p-mfc: Update MFCv5 driver for callback based architecture
Modifies the driver to use a callback based architecture
for hardware dependent calls. This architecture is suitable
for supporting co-existence with newer versions of MFC hardware.

Signed-off-by: Arun Kumar K <arun.kk@samsung.com>
Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@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>
2012-10-05 22:53:37 -03:00
Arun Kumar K 77a788fc2d [media] s5p-mfc: Prepare driver for callback based re-architecture
The patch renames hardware specific opr and cmd files to
opr_v5 and cmd_v5 respectively. This is done for accomodating
firmware v6. Also the shared memory management files are removed
and the functionality is added to the opr_v5 file.

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>
2012-10-05 22:44:40 -03:00
Mauro Carvalho Chehab 2c3fb08b3f [media] rename drivers/media/video as .../platform
The remaining drivers are mostly platform drivers. Name the
dir to reflect it.

It makes sense to latter break it into a few other dirs.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2012-08-15 16:43:09 -03:00