Notify the frame drop using ioctl
VIDIOC_MSM_BUF_MNGR_BUF_ERROR.
Change-Id: I302c1bf06404504616eaae7657292c14e35db6ea
Signed-off-by: annamraj <annamraj@codeaurora.org>
Files taken from the below kernel_msm-3.18 commits.
commit :fb9b44e7 ("radio: iris: Add snapshot of iris FM radio support")
Change-Id: Ib33d33ab8ccd587473c0104e6b48d93bbcfa6f01
Signed-off-by: himta ram <hram@codeaurora.org>
Use AVtimer for Video telephony usecase, and system time
for other usecases.
Change-Id: I845a0975debabb35002c7f6a90ea17a8b8edb44d
Signed-off-by: Srikanth Uyyala <suyyala@codeaurora.org>
This snapshot is taken from msm-4.4 branch as of:
'commit ee294a60356a ("msm: jpegdma: Fix for ASAN issues in jpegdma module")'
Change-Id: I3aba3098a986a5dec84b4bb4144dda19d1db5790
Signed-off-by: Pratap Nirujogi <pratapn@codeaurora.org>
Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>
This is snapshot of the video driver as of msm-3.18
commit 9b4e2a850801 ("defconfig: msm8937: optimize perf defconfig").
Change-Id: I06e43bd92393c36ff79732690ec2991e2b3e8793
Signed-off-by: Srinu Gorle <sgorle@codeaurora.org>
Call buffer requirements before setting the min buffer size to
FW. Otherwise, in the case of event Sufficient, FW will
use outdated buffer size and error out. While at it, additional
buffer requirement call is added to get Output2 buffer requirement
in 10-bit case.
CRs-Fixed: 2066658
Change-Id: Iaa61aa550faa926f337c4a3f9e353c6396fe80c7
Signed-off-by: Chinmay Sawarkar <chinmays@codeaurora.org>
Video driver will map the buffer twice in ETB/FTB. First map will
call iommu_map and following maps will just increment the refcount.
First unmap will happen in EBD/FBD and second unmap will happen if
READONLY flag is not present in EBD/FBD. If READONLY flag is not
present in EBD/FBD then video hardware will send RBR event
(Release Buffer Reference) to driver where second unmap will happen.
Though video driver calls iommu_unmap for second unmap the buffer
is not actually unmapped in iommu driver as video buffers are mapped
using late unmap feature. The buffer will get unmapped in iommu driver
when it is freed.
Change-Id: Ic0043ef97146e3b1081f2fc0fc3da715396be1a0
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
Enhance current bus scaling algorithm to make use of run time
UBWC stats of compression ratios(CR) and complexity factor(CF).
CRs-Fixed: 2012520
Change-Id: I3d2f61ab7e49b8fa9f953e3fb381261fde34c42a
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
This change adds interface for clients to query for crop
through IOCTL VIDIOC_G_CROP. Driver also sends crop
information along with sequence change event.
CRs-Fixed: 2055218
Change-Id: I4253d22cc6efc0b8e7f3b8963ba0ef7e129e5b0a
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
Use extended controls to exchange the buffer counts between
clients and driver. This will give more flexibility for clients
to set the buffer counts.
CRs-Fixed: 2022735
Change-Id: I2e056aa3e83bd47f9b0444775f579f2b7e1d396c
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
Currently driver releases all the buffers of buffer type when
V4L2 framework calls buffer clean_up. Release them individually
based on buffer Type and buffer Index.
CRs-Fixed: 2023979
Change-Id: I8e6558563aa63cfc5fe092f351cb81249256bde9
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
Signed-off-by: Karthikeyan Periasamy <kperiasa@codeaurora.org>
For usecases like High Speed Recording(HSR), High Frame
Recording(HFR), Video and Camera sub-systems need to exchange
more than 32 buffers. This is needed meet strict timing
requirements and to make sure that no sub-system is starving
for buffers due to latencies in both the SW stacks.
Currently, V4L2 framework supports buffer exchange for only 32
buffers. Hence increase the Max supported buffer counts from 32
to 64.
CRs-Fixed: 2023295
Change-Id: If6173addc94aa18e839884a7b5a534466b1e046e
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
The uapi directory should only contain userspace visible
definitions, move everything else to the regular include directory.
Change-Id: I33a2f4511eef540c979a3880e7926cbe6cadafe6
Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
Signed-off-by: Rupesh Tatiya <rtatiya@codeaurora.org>
Add support in driver to query for control information.
This helps clients to findout limits for various controls
and sets the values accordingly.
Also update the control limits based on Venus HW capabilities.
This helps to prevent rogue clients not to set invalid values
to HW.
CRs-Fixed: 2006193
Change-Id: I0e6271c31fad83ee1d48ffd6a5fe0f23a5599c7a
Signed-off-by: Praneeth Paladugu <ppaladug@codeaurora.org>
Signed-off-by: Vaibhav Deshu Venkatesh <vdeshuve@codeaurora.org>
Current fbdev rotator interface lacks support for mult-context
use cases.This new interface adopts V4L2 M2M framework to
support multiple concurrent sessions/contexts efficiently.
CRs-Fixed: 972831
Change-Id: I89593a57ba44e91c95d73154a7830539e5aab6e3
Signed-off-by: Alan Kwong <akwong@codeaurora.org>
Signed-off-by: Narendra Muppalla <NarendraM@codeaurora.org>
Linux 4.8
* tag 'v4.8': (1761 commits)
Linux 4.8
ARM: 8618/1: decompressor: reset ttbcr fields to use TTBR0 on ARMv7
MIPS: CM: Fix mips_cm_max_vp_width for non-MT kernels on MT systems
include/linux/property.h: fix typo/compile error
ocfs2: fix deadlock on mmapped page in ocfs2_write_begin_nolock()
mm: workingset: fix crash in shadow node shrinker caused by replace_page_cache_page()
MAINTAINERS: Switch to kernel.org email address for Javi Merino
x86/entry/64: Fix context tracking state warning when load_gs_index fails
x86/boot: Initialize FPU and X86_FEATURE_ALWAYS even if we don't have CPUID
x86/vdso: Fix building on big endian host
x86/boot: Fix another __read_cr4() case on 486
sctp: fix the issue sctp_diag uses lock_sock in rcu_read_lock
sctp: change to check peer prsctp_capable when using prsctp polices
sctp: remove prsctp_param from sctp_chunk
sctp: move sent_count to the memory hole in sctp_chunk
tg3: Avoid NULL pointer dereference in tg3_io_error_detected()
x86/init: Fix cr4_init_shadow() on CR4-less machines
MIPS: Fix detection of unsupported highmem with cache aliases
MIPS: Malta: Fix IOCU disable switch read for MIPS64
MIPS: Fix BUILD_ROLLBACK_PROLOGUE for microMIPS
...
Currently we do not know what variant (bit length) of the nec protocol
is used, other than from guessing from the length of the scancode. Now
nec will be handled the same way as the sony protocol or the rc6 protocol;
one variant per bit length.
In the future we might want to expose the rc protocol type to userspace
and we don't want to be introducing this world of pain into userspace
too.
Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
As warned by linuxdoc[1] tool, using:
$ for i in $(git grep kernel-doc Documentation/media/kapi/|cut -d: -f4); do kernel-lintdoc --sloppy $i; done
include/media/v4l2-dev.h:118 :WARN: function name from comment differs: v4l2_prio_close <--> v4l2_prio_check
include/media/v4l2-mc.h:56 [kernel-doc WARN] : enum name from comment differs: if_vid_dec_index <--> if_vid_dec_pad_index
include/media/v4l2-mc.h:71 [kernel-doc WARN] : enum name from comment differs: if_aud_dec_index <--> if_aud_dec_pad_index
include/media/v4l2-mem2mem.h:396 [kernel-doc WARN] : function name from comment differs: v4l2_m2m_num_src_bufs_ready <--> v4l2_m2m_num_dst_bufs_ready
drivers/media/dvb-core/dvb_math.h:28 [kernel-doc WARN] : function name from comment differs: cintlog2 <--> intlog2
include/media/v4l2-subdev.h:215 [kernel-doc WARN] : struct name from comment differs: s_radio <--> v4l2_subdev_tuner_ops
include/media/v4l2-subdev.h:890 [kernel-doc WARN] : function name from comment differs: v4l2_set_subdevdata <--> v4l2_set_subdev_hostdata
include/media/v4l2-subdev.h:901 [kernel-doc WARN] : function name from comment differs: v4l2_get_subdevdata <--> v4l2_get_subdev_hostdata
drivers/media/dvb-core/dvb_ringbuffer.h:196 [kernel-doc WARN] : function name from comment differs: dvb_ringbuffer_writeuser <--> dvb_ringbuffer_write_user
include/media/videobuf2-core.h:399 [kernel-doc WARN] : struct name from comment differs: vb2_ops <--> vb2_buf_ops
include/media/media-entity.h:132 [kernel-doc ERROR] : duplicate parameter definition 'source'
include/media/media-entity.h:477 [kernel-doc WARN] : function name from comment differs: media_entity_enum_test <--> media_entity_enum_test_and_set
include/media/media-entity.h:535 [kernel-doc WARN] : function name from comment differs: gobj_to_entity <--> gobj_to_pad
include/media/media-entity.h:544 [kernel-doc WARN] : function name from comment differs: gobj_to_entity <--> gobj_to_link
include/media/media-entity.h:553 [kernel-doc WARN] : function name from comment differs: gobj_to_entity <--> gobj_to_intf
include/media/media-entity.h:562 [kernel-doc WARN] : function name from comment differs: gobj_to_entity <--> intf_to_devnode
include/media/rc-core.h:234 [kernel-doc WARN] : function name from comment differs: rc_open <--> rc_close
include/media/v4l2-ctrls.h:397 [kernel-doc WARN] : missing initial short description of 'v4l2_ctrl_handler_init'
include/media/v4l2-dev.h:118 [kernel-doc WARN] : function name from comment differs: v4l2_prio_close <--> v4l2_prio_check
include/media/v4l2-event.h:225 [kernel-doc WARN] : missing initial short description of 'v4l2_src_change_event_subscribe'
[1] https://return42.github.io/linuxdoc/linux.html
The above are real issues at the documentation. On several cases,
caused by cut-and-paste.
Fix them.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The rcar_fcp_enable() function immediately returns successfully when the
FCP device pointer is NULL to avoid forcing the users to check the FCP
device manually before every call. However, the stub version of the
function used when the FCP driver is disabled returns -ENOSYS
unconditionally, resulting in a different API contract for the two
versions of the function.
As a user that requires FCP support will fail at probe time when calling
rcar_fcp_get() if the FCP driver is disabled, the stub version of the
rcar_fcp_enable() function will only be called with a NULL FCP device.
We can thus return 0 unconditionally to align the behaviour with the
normal version of the function.
Reported-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
There is a warning there, because it was pointing to a different
name. Fix it.
While here, use struct &foo, instead of &struct foo.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Document vb2_ops_wait_prepare() and vb2_ops_wait_finish(),
in order to fix those two warnings:
Documentation/media/kapi/v4l2-dev.rst:166: WARNING: c:func reference target not found: vb2_ops_wait_prepare
Documentation/media/kapi/v4l2-dev.rst:166: WARNING: c:func reference target not found: vb2_ops_wait_finish
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
There are a few issues at the documentation: fields not documented,
bad cross refrences, etc.
Fix them.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
There are several functions documented at the C file. Move
them to the header, as this is the one used to build the
media books.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
There are several small issues with the documentation. Fix them,
in order to avoid producing warnings.
While here, also make checkpatch.pl happy.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
There are several functions that were documented at the .c
file. As we only include the headers, we need to move them to
there, in order to have documentation.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The kernel-doc C parser doesn't like opaque structures. So,
document it on another way.
This should get rid of this warning:
./include/media/v4l2-mem2mem.h:62: error: Cannot parse struct or union!
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Several routines are somewhat documented at v4l2-mem2mem.c
file. Move what's there to the header file.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Fix this warning:
Documentation/media/kapi/mc-core.rst:97: WARNING: c:func reference target not found: media_devnode_release
The media_device_release() is a function internal to media-devnode.c,
and not exported elsewhere. So, we can't cross-reference it here.
Make it explicit at the documentation.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Now that scripts/kernel-doc was fixed to parse the typedef
argument used here, let it produce documentation.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Fix some minor issues at the documentation tags on this file,
adding cross-references where needed, and fixing some broken
ones.
While here, fix a few spaces before tabs to make Checkpatch happier.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
There are several undocumented functions here; document them.
While here, make checkpatch.pl happy.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Change the parse-headers.pl and the corresponding files to use
the C domain for enum references.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The prepare_ext_ctrls() function is actually internal to the
v4l2-ctrls.c implementation, so it doesn't have a declaration
for the kAPI header to reference it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The typedefs and a macro are not defined. While here, improve a
few bits on the documentation.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
There are some structs/enums that aren't documented via
kernel-doc markup. Add documentation for them.
Fix those warnings:
./include/media/rc-map.h:103: WARNING: c:type reference target not found: rc_map_list
./include/media/rc-map.h:110: WARNING: c:type reference target not found: rc_map_list
./include/media/rc-map.h:117: WARNING: c:type reference target not found: rc_map
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
There are several issues on the documentation:
- the media.h header were not properly referenced;
- verbatim expressions were not properly marked as such;
- struct member references were wrong;
- some notes were not using the right markup;
- a comment that were moved to the kernel-doc markup were
duplicated as a comment inside the struct media_entity;
- some args were not pointing to the struct they're using;
- macros weren't documented.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The clock framework is generally so well supported that there's no reason
to keep this one around.
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>