linux/drivers/media/platform
Sylwester Nawrocki 4faeaf9c0f media: s5p-mfc: Fix buffer look up in s5p_mfc_handle_frame_{new, copy_time} functions
Look up of buffers in s5p_mfc_handle_frame_new, s5p_mfc_handle_frame_copy_time
functions is not working properly for DMA addresses above 2 GiB. As a result
flags and timestamp of returned buffers are not set correctly and it breaks
operation of GStreamer/OMX plugins which rely on the CAPTURE buffer queue
flags.

Due to improper return type of the get_dec_y_adr, get_dspl_y_adr callbacks
and sign bit extension these callbacks return incorrect address values,
e.g. 0xfffffffffefc0000 instead of 0x00000000fefc0000. Then the statement:

"if (vb2_dma_contig_plane_dma_addr(&dst_buf->b->vb2_buf, 0) == dec_y_addr)"

is always false, which breaks looking up capture queue buffers.

To ensure proper matching by address u32 type is used for the DMA
addresses. This should work on all related SoCs, since the MFC DMA
address width is not larger than 32-bit.

Changes done in this patch are minimal as there is a larger patch series
pending refactoring the whole driver.

Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
2018-07-27 13:09:40 -04:00
..
am437x treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
atmel media: atmel-isi: move of_node_put() to cover success branch as well 2018-06-28 06:50:28 -04:00
cadence media: v4l: cadence: add VIDEO_V4L2 dependency 2018-06-27 09:51:49 -04:00
cec-gpio media: cec-gpio: support 5v testing 2018-07-25 07:12:36 -04:00
coda media: coda: add SPS fixup code for frame sizes that are not multiples of 16 2018-07-27 06:58:54 -04:00
davinci treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
exynos4-is media: exynos4-is: Prevent NULL pointer dereference in __isp_video_try_fmt() 2018-07-04 12:59:19 -04:00
exynos-gsc media updates for v4.16-rc1 2018-02-06 11:27:48 -08:00
marvell-ccic Merge branch 'i2c/for-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2018-06-14 16:21:46 +09:00
meson media: platform: meson-ao-cec: make busy TX warning silent 2018-07-24 17:52:20 -04:00
mtk-jpeg media: mem2mem: Make .job_abort optional 2018-07-24 17:45:08 -04:00
mtk-mdp media: mem2mem: Make .job_abort optional 2018-07-24 17:45:08 -04:00
mtk-vcodec media: mtk-vcodec: Support VP9 profile in decoder 2018-07-04 09:33:17 -04:00
mtk-vpu media: mtk-vpu: fix spelling mistake: "Prosessor" -> "Processor" 2018-06-28 06:39:34 -04:00
omap media: v4l: omap: add VIDEO_V4L2 dependency 2018-06-28 06:48:21 -04:00
omap3isp media: omap3isp: zero-initialize the isp cam_xclk{a,b} initial data 2018-06-28 09:21:58 -04:00
qcom media: venus: add HEVC codec support 2018-07-25 09:29:25 -04:00
rcar-vin media: rcar-csi2: update stream start for V3M 2018-07-27 09:01:07 -04:00
rockchip/rga media: rockchip/rga: Fix bad dma_free_attrs() parameter 2018-07-27 07:53:10 -04:00
s3c-camif media: s3c-camif: ignore -ENOIOCTLCMD from v4l2_subdev_call for s_power 2018-06-28 09:22:30 -04:00
s5p-cec media: s5p-cec: add NACK detection support 2017-09-23 07:29:30 -04:00
s5p-g2d media: mem2mem: Make .job_abort optional 2018-07-24 17:45:08 -04:00
s5p-jpeg media: mem2mem: Make .job_abort optional 2018-07-24 17:45:08 -04:00
s5p-mfc media: s5p-mfc: Fix buffer look up in s5p_mfc_handle_frame_{new, copy_time} functions 2018-07-27 13:09:40 -04:00
soc_camera docs: Fix some broken references 2018-06-15 18:10:01 -03:00
sti media: mem2mem: Remove unused v4l2_m2m_ops .lock/.unlock 2018-06-28 07:56:49 -04:00
stm32 media: stm32-dcmi: add power saving support 2018-06-28 07:49:56 -04:00
tegra-cec media: tegra-cec: reset rx_buf_cnt when start bit detected 2018-03-05 07:46:24 -05:00
ti-vpe media: mem2mem: Remove unused v4l2_m2m_ops .lock/.unlock 2018-06-28 07:56:49 -04:00
vicodec media: vicodec: current -> cur 2018-07-27 06:39:57 -04:00
vimc media: vimc: use correct subdev functions 2018-02-26 09:31:41 -05:00
vivid media: vivid: Fix V4L2_FIELD_ALTERNATE new frame check 2018-07-27 07:51:09 -04:00
vsp1 media: vsp1: Document vsp1_dl_body refcnt 2018-07-27 06:43:13 -04:00
xilinx treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
fsl-viu.c media: fsl-viu: fix error handling in viu_of_probe() 2018-07-04 08:30:42 -04:00
Kconfig media: vicodec: add the virtual codec driver 2018-07-25 08:16:46 -04:00
m2m-deinterlace.c media: m2m-deinterlace: Implement wait_prepare and wait_finish 2018-07-04 08:03:04 -04:00
Makefile media: vicodec: add the virtual codec driver 2018-07-25 08:16:46 -04:00
mx2_emmaprp.c media: mx_emmaprp: Implement wait_prepare and wait_finish 2018-07-04 08:02:33 -04:00
pxa_camera.c docs: Fix some broken references 2018-06-15 18:10:01 -03:00
rcar_drif.c media: rcar_drif: fix error return code in rcar_drif_alloc_dmachannels() 2018-02-26 07:43:29 -05:00
rcar_fdp1.c media: drivers: remove "/**" from non-kernel-doc comments 2017-11-30 04:19:03 -05:00
rcar_jpu.c media: mem2mem: Make .job_abort optional 2018-07-24 17:45:08 -04:00
rcar-fcp.c v4l: rcar-fcp: Add an API to retrieve the FCP device 2017-06-09 12:25:36 +01:00
renesas-ceu.c media: renesas-ceu: Add support for YUYV permutations 2018-06-28 06:51:05 -04:00
sh_veu.c media: platform: sh_veu: use 64-bit arithmetic instead of 32-bit 2018-02-26 08:09:48 -05:00
sh_vou.c media: replace all <spaces><tab> occurrences 2018-01-04 13:15:05 -05:00
via-camera.c fbdev changes for v4.18: 2018-06-17 05:00:24 +09:00
via-camera.h media: fix usage of whitespaces and on indentation 2018-01-04 13:12:01 -05:00
video-mux.c media: video-mux: fix compliance failures 2018-07-24 17:40:40 -04:00
vim2m.c media: vim2m: add media device 2018-07-04 08:47:56 -04:00