This is needed to get color primaries, transfer and matrix values from
avc devoder.
Issue: FP2P-432
Issue: FP2P-435
Change-Id: Id1d375c9f6e1c05fc9b8336162bb11cc12d6dea2
- Allow the camera driver to load old libmmcamera2* modules without the support of flicker_type and new frame_id.
Change-Id: Ief714adbccca6de10f643ea314714a8e9c69f4f8
Makesure the number of buffers count is less than
the maximum limit to avoid structure overflow errors.
Change-Id: Icf3850de36325637ae43ac95f1c8f0f63e201d31
CRs-fixed: 563694
Signed-off-by: Pachika, Vikas Reddy <vpachi@codeaurora.org>
[haggertk]: Note partial commit due to Samsung removing the define
in their code drop.
CVE-2014-9778
Signed-off-by: Kevin F. Haggerty <haggertk@lineageos.org>
This patch makes the FM driver static similar
to the drivers for other targets.
Change-Id: Ib9ae67227d65dab924da4abcd77745c8a3f11848
Signed-off-by: Venkateshwarlu Domakonda <vdomak@codeaurora.org>
i2c write can get invoked initially when conf_array size is zero.
Returning failure code is causing camera failed to launch.
Change-Id: Ic19d8916c5e433020fc7f0558054c26ed3651cdf
Signed-off-by: Suman Mukherjee <sumam@codeaurora.org>
Sanitizing user space pointer
using copy_from_user to retrieve the
usespace information.
Change-Id: I5e0830fbe8a06769e115a2bf906a9a93b63158cd
Signed-off-by: Rajesh Bondugula <rajeshb@codeaurora.org>
- vb2 drivers to rely on VB2_MAX_FRAME.
- VB2_MAX_FRAME bumps the value to 64 from current 32
Change-Id: I3d7998898df43553486166c44b54524aac449deb
Signed-off-by: Balamurugan Alagarsamy <balaga@codeaurora.org>
In HDR mode, sensor sends meta data as stats.
Add sensor stats type used in HDR mode.
Change-Id: I877a34c76ce2c9e2bfa5524133db3e0f281f2024
Signed-off-by: Shuai Yuan <shuaiy@codeaurora.org>
This change flushes any queued work related to power collapse,
once the device is power suspended.
There are applications which do not destroy video instance
on suspending the device. For such applications, if the device
is power suspended, video driver does not prepare venus for
power collapse.
Considerable power saving is observed by power collapsing
venus before the device goes in suspend state.
Change-Id: I11252e45b10d0d3d3eefb38994acd083c847bbb8
Signed-off-by: Vikash Garodia <vgarodia@codeaurora.org>
CPP frame message is used to send all frame data
to Microcontroller. It is sent every frame. CPP kernel
driver has to add information to it before transfer it.
The message has to be validated before manipulations.
If it is not valid the message and corresponding frame
are discarded.
Change-Id: Ib5b9b5d2e1886d3d671966b693ce212d58e34041
Signed-off-by: Manish Poddar <mpoddar@codeaurora.org>
move all the target specific checks to userspace.
Change-Id: I67f3aec92a0cc0bba1a239958c200c54834a349a
Signed-off-by: Alok Kediya <kediya@codeaurora.org>
Support for actuator power operation.
- add vreg data parsing from property.
- add interface for power up and down.
Change-Id: I809e23e27d119635e85b565fa6ea2f045b2afdc1
Signed-off-by: Evgeniy Borisov <eborisov@codeaurora.org>
Bound check and validate userspace parameters direction,
number of steps and direction sign. Also fix possible
memory leak in certain error cases.
CRs-Fixed: 511349
Change-Id: Icaa324468574494fb40f2de78e522090806744cb
Signed-off-by: Hariram Purushothaman <hpurus@codeaurora.org>
Signed-off-by: Ankit Premrajka <ankitp@codeaurora.org>
Signed-off-by: Yiduo Wang <yiduow@codeaurora.org>
ISP subdev
Added lock mechanism to lock hardware update
when a sof is received, and ignore any other sof
which is received between the update process
Change-Id: If2013a566be0c45a48bf180aa6e16bd5f03cff3c
Signed-off-by: Megha Tak <mtak@codeaurora.org>
CPP clock frequency table varies form platform to platform.
It have to be read and sent to user-space for cpp dynamic
clock calculation. It is done during GET_HW_INFO IOCTL
call. In result user-space sends current cpp clock rate
and bandwidth to be set up.
Change-Id: Iaacfd4c3a93db0e5142d6df01888e9d98e9a4775
CRs-fixed: 645604
Signed-off-by: Krupal Divvela <kdivvela@codeaurora.org>
Previously, the extradata size was included within VENUS_BUFFER_SIZE
and callers (primarily in userspace) wouldn't know how much extra
padding was added to the buffer size. Exposing it allows userspace to
query directly instead of doing guesswork.
Change-Id: I7f9701a4adfe364d757028514bdd4fa84402a995
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
Makesure the number of buffers count is less than
the maximum limit to avoid structure overflow errors.
Change-Id: Icf3850de36325637ae43ac95f1c8f0f63e201d31
CRs-fixed: 563694
Signed-off-by: Pachika, Vikas Reddy <vpachi@codeaurora.org>
Add support and control for setting Active format
description and closed caption meta data in the
extradata. FW parses metadata and adds it to the
extradata. Client can use control to parse extradata
for the metadata information.
Change-Id: I79fb71e635927c95e0792862c9dea7d96f58e895
Signed-off-by: Jayasena Sangaraboina <jsanga@codeaurora.org>
Add 8KB worth of padding for extradata. This is required to accommodate
some of the larger extradata types that didn't fit into the residual
space between the actual buffer size and its aligned size.
CRs-Fixed: 647378
Change-Id: I550f806079dfbdece229f68ffdfc5c0e20b3c9e1
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
SET_POSITION is added above MOVE_FOCUS which makes kernel prone to
memory corruption as MOVE_FOCUS enum is changed. when CFG_POSITION
is not present and userspace calls MOVE_FOCUS kernel misinterprets
MOVE_FOCUS as SET_POSITION and thus copies user structure to wrong
structure and makes memory to corrupt.
Change-Id: I335ee28d9af6ec25b00262d71701e503a06e21c5
Signed-off-by: Lokesh Kumar Aakulu <lkumar@codeaurora.org>
Update sensor driver to add sensor mount angle and
position as part of media entity flag for Camera
MultiModule sensor sub-devices. This info is used
by upper layers to get the info from media device
entity insted of opening camera to reduce the launch
latency.
Change-Id: Ieba103d5ab9e74a3210261b5660f41867ef5c773
Signed-off-by: Evgeniy Borisov <eborisov@codeaurora.org>
The struct mapped to IO call is wrong. Map proper struct so that
v4l2 ioctl handler and perform proper copy_to_user / copy_from_user.
Change-Id: Ia7afadf24dbf4b2129ad1898a702eb69826bd6db
Signed-off-by: Rajesh Bondugula <rajeshb@codeaurora.org>
The input stream can have varying properties. Based on the input
the clock can be set to turbo mode. This change adds support
for necessary IOCTL.
Change-Id: If5e0b9392b03cf037009442eb9935a96823cb1e5
Signed-off-by: Iliya Varadzhakov <ivarad@codeaurora.org>
Multiple SOF events are required, when running multiple HW streams on
a single VFE, and the user space needs to distinguish between
different SOFs in the different streams. Such situation can occur,
when we have one or more RDI streams in parallel with a PIX stream.
Change-Id: Id4d03ca8d65d60ccbbb8949311a31607eb7417fe
Signed-off-by: Vladislav Hristov <vhrist@codeaurora.org>
extend reg_settings_t structure to be able
to add more functionality in actuator driver
like poll and delay between two write
i2c transactions because some actuator
drivers need of this operations
Change-Id: I792d1757e53c62f2eeef73d1b97f5e5b7ad13b1c
Signed-off-by: Vasko Kalanoski <vaskok@codeaurora.org>
Signed-off-by: Aditya Jonnalagadda <ajonnala@codeaurora.org>
We can use this change in camera multimodule architecture.
Add support for more than one actuator source per generic
camera node. All sensors using that node search for
specific actuator sub device and update id.
Change-Id: I6e44062c66011ba94f4c784bdf40c0fb5df2edee
Signed-off-by: Evgeniy Borisov <eborisov@codeaurora.org>
Signed-off-by: Satish Kamuju <skamuj@codeaurora.org>
We can use this change in camera multimodule architecture.
Add support for more than one eeprom source per generic
camera node. All sensors using that node search for
specific eeprom sub device and update id.
Change-Id: I1e8cb8be81e4e9e272f8521ad95a30dcd30e5af7
Signed-off-by: Evgeniy Borisov <eborisov@codeaurora.org>
Signed-off-by: Satish Kamuju <skamuj@codeaurora.org>
Add valid flags for all initialized camera gpios. This
change also will protect wrong operations with gpio #0.
Change-Id: Ibb40140c9708f0d7582b643fc81ec72cdfbdbee1
Signed-off-by: Evgeniy Borisov <eborisov@codeaurora.org>
Signed-off-by: Lokesh Kumar Aakulu <lkumar@codeaurora.org>
Signed-off-by: Satish Kamuju <skamuj@codeaurora.org>
In current sensor architecture, one platform device is created for
every sensor defined in dtsi for that platform. It creates redundancy
since only one camera can be connected in camera slot for particular
target. To avoid this redundancy, create platform device for every
camera slot for that platform and probe using single compatible name
"qcom,camera" for all drivers. Add sensor utility functions to be
used by all camera sensors.
Change-Id: I135bda007f8eec2f339a6b3dbf1116c5ab600b94
Signed-off-by: Sreesudhan Ramakrish Ramkumar <srramku@codeaurora.org>
Signed-off-by: Evgeniy Borisov <eborisov@codeaurora.org>
Signed-off-by: Vasko Kalanoski <vaskok@codeaurora.org>
(cherry picked from commit 2e31f9d73a4f72d23cb5d9f5d81767cca678fa05)
(cherry picked from commit e052ef266ffe4848800d8cbd82d516d98bf5aa9f)
Signed-off-by: Satish Kamuju <skamuj@codeaurora.org>
Macro Block Information extradata (if enabled) allows interested
clients to query for metadata about each macroblock.
Change-Id: Icfee32770018338e28ae149e1ccb654f5a48cbec
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
Provides information regarding number of bits in the frame (i.e frame
size expressed in bits) & also the number of bits in frame header (i.e
frame header size expressed in bits).
Number of bits in header is reported as:
For H264, sum of all slice headers bits for all the slices in the frame.
For all other codecs, number of bits in the frame header.
Change-Id: I6caeca025ff0ce059a20891a6d657b47c4b452b3
Signed-off-by: Jorge Solano Altamirano <jsolano@codeaurora.org>
The resulting QP information for H264 is the slice level
QP averaged over whole frame; for all other codecs its
frame level QP.
Change-Id: I288904b05d886c1e94fc113b8bd3fba5b13b48f3
Signed-off-by: Jorge Solano Altamirano <jsolano@codeaurora.org>