linux/drivers
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
..
accessibility
acpi Merge branches 'acpi-soc' and 'acpi-processor' 2018-06-21 14:19:08 +02:00
amba
android
ata
atm
auxdisplay
base Power management changes for 4.18-rc2 2018-06-22 05:57:36 +09:00
bcma
block for-linus-20180623 2018-06-24 06:33:54 +08:00
bluetooth
bus
cdrom
char Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2018-06-24 06:31:54 +08:00
clk
clocksource Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-06-24 19:16:42 +08:00
connector
cpufreq cpufreq: intel_pstate: Fix scaling max/min limits with Turbo 3.0 2018-06-19 10:40:29 +02:00
cpuidle
crypto Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 2018-06-24 06:31:54 +08:00
dax
dca
devfreq
dio
dma
dma-buf
edac
eisa
extcon
firewire
firmware efi/libstub/tpm: Initialize efi_physical_addr_t vars to zero for mixed mode 2018-06-22 10:58:27 +02:00
fmc
fpga
fsi
gpio
gpu Fixes for v4.18-rc2: 2018-06-22 11:03:43 +10:00
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid 2018-06-20 16:42:39 +09:00
hsi
hv
hwmon
hwspinlock
hwtracing
i2c
ide
idle
iio
infiniband 4.18-rc 2018-06-21 07:22:30 +09:00
input
iommu
ipack
irqchip irqchip/gic-v3-its: Fix reprogramming of redistributors on CPU hotplug 2018-06-22 14:22:02 +02:00
isdn
leds
lightnvm for-linus-20180623 2018-06-24 06:33:54 +08:00
macintosh
mailbox
mcb
md
media media: s5p-mfc: Fix buffer look up in s5p_mfc_handle_frame_{new, copy_time} functions 2018-07-27 13:09:40 -04:00
memory
memstick
message
mfd
misc
mmc
mtd
mux
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-06-21 07:13:42 +09:00
nfc
ntb
nubus
nvdimm
nvme nvme-pci: limit max IO size and segments to avoid high order allocations 2018-06-21 18:59:46 +02:00
nvmem
of
opp PM / OPP: Update voltage in case freq == old_freq 2018-06-19 15:53:32 +05:30
oprofile
parisc
parport
pci
pcmcia
perf
phy
pinctrl
platform
pnp
power
powercap
pps
ps3
ptp ptp: replace getnstimeofday64() with ktime_get_real_ts64() 2018-06-20 07:59:53 +09:00
pwm
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc
s390 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux 2018-06-19 07:44:51 +09:00
sbus
scsi for-linus-20180623 2018-06-24 06:33:54 +08:00
sfi
sh
siox
slimbus
sn
soc
soundwire
spi
spmi
ssb
staging media: imx: add support for RGB565_2X8 on parallel bus 2018-07-04 09:27:01 -04:00
target
tc
tee
thermal
thunderbolt
tty
uio
usb
uwb
vfio
vhost
video
virt
virtio
visorbus
vlynq
vme
w1
watchdog
xen xen: fixes for 4.18-rc2 2018-06-23 20:44:11 +08:00
zorro
Kconfig
Makefile