Commit Graph
1511 Commits
Author SHA1 Message Date
prakash d5edb9b824 msm: vidc: Add support for VUI_DISPLAY_INFO
This is needed to get color primaries, transfer and matrix values from
avc devoder.

Issue: FP2P-432
Issue: FP2P-435
Change-Id: Id1d375c9f6e1c05fc9b8336162bb11cc12d6dea2
2021-10-10 23:46:47 +02:00
Daniel Jacob Chittoor ed0c35514e camera: backward compatibility for old ms01 device camera mm modules
- Allow the camera driver to load old libmmcamera2* modules without the support of flicker_type and new frame_id.

Change-Id: Ief714adbccca6de10f643ea314714a8e9c69f4f8
2020-05-02 17:41:13 +05:30
Francescodario Cuzzocrea 7a8b397459 camera: add compatibility for galaxy tab 4 modules
- import sensor drivers from T530NUUES1BPL1 source drop
 - do not use the new flicker_type

Change-Id: I71c883898fa8c318ebd598835e9bea7db20e2065
2020-03-07 14:01:45 +01:00
xXPR0T0TYPEXx a4e01b154a camera: backward compatibility for old s3ve3g(ds) camera mm modules
Allow the camera driver to load old libmmcamera2* modules without the support of flicker_type and new frame_id.
2019-08-23 13:20:00 +02:00
Pachika, Vikas Reddy ef8b470435 msm: vidc: Validate userspace buffer count
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>
2019-08-08 12:07:28 +02:00
Kevin F. Haggerty 238a0fb5ad Merge tag 'v3.4.113' into lineage-16.0
This is the 3.4.113 stable release

Change-Id: I80791430656359c5447a675cbff4431362d18df0
Signed-off-by: Kevin F. Haggerty <haggertk@lineageos.org>
2019-08-05 14:20:47 +02:00
Francescodario Cuzzocrea 85baa390bf misc: Import SM-G900H kernel source code
* Samsung Package Version: G800HXXU1CRJ1
    * CAF Tag: LA.BF.1.1.3-00110-8x26.0
2019-08-02 15:14:10 +02:00
Linux Build Service Account 4f668333d4 Merge 5eb3f44493 on remote branch
Change-Id: I513e6f2c490d7e9366fd6e1c51feda46d6637096
2015-08-12 01:53:33 -06:00
Venkateshwarlu Domakonda ae657e6494 radio: iris: change the FM module from modular to built in
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>
2015-07-30 19:25:26 +05:30
Suman Mukherjee 7a1b08afcf msm: camera: Don't return error code if array size is zero
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>
2015-06-23 22:59:56 -07:00
Rajesh Bondugula ea2eb1b1cf msm: camera: sensor: sanitizing user space pointer
Sanitizing user space pointer
using copy_from_user to retrieve the
usespace information.

Change-Id: I5e0830fbe8a06769e115a2bf906a9a93b63158cd
Signed-off-by: Rajesh Bondugula <rajeshb@codeaurora.org>
2014-12-23 15:48:45 -08:00
Balamurugan Alagarsamy 0a5b6eea31 v4l2: vb2: replace VIDEO_MAX_FRAME with VB2_MAX_FRAME
- 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>
2014-08-18 10:49:49 +05:30
Shuai Yuan 775fc0bc57 msm: camera: Add sensor stats type
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>
2014-07-28 05:56:35 -07:00
Linux Build Service Account 7c01e80186 Merge "msm: cpp: Validate frame message before manipulating it" 2014-07-23 01:24:30 -07:00
Vikash Garodia 75463a9587 msm: vidc: flush queued work during device suspend
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>
2014-07-11 18:43:36 +05:30
Manish Poddar f4e2f2d4ef msm: cpp: Validate frame message before manipulating it
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>
2014-07-11 15:21:01 +05:30
Alok Kediya 51e8773bb7 msm-camera: move target checks to userspace
move all the target specific checks to userspace.

Change-Id: I67f3aec92a0cc0bba1a239958c200c54834a349a
Signed-off-by: Alok Kediya <kediya@codeaurora.org>
2014-06-16 11:04:30 +05:30
Evgeniy Borisov c654111002 msm: camera: Adding interface for power operations in actuator driver
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>
2014-06-12 00:59:33 -07:00
Linux Build Service Account e3f9c8d745 Merge "msm: cpp: Provide cpp clock frequency table to user-space" 2014-06-05 21:47:59 -07:00
Yiduo Wang 210c0d4b91 msm: camera: Fix various small issues in Actuator driver
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>
2014-05-30 11:06:16 -07:00
Megha Tak 9214eff05d msm-camera: Adding lock and unlock methods for
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>
2014-05-27 17:37:47 +05:30
Krupal Divvela dc7e2abc32 msm: cpp: Provide cpp clock frequency table to user-space
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>
2014-05-27 16:44:47 +05:30
Deva Ramasubramanian d7ee595117 msm: vidc: Expose extradata size to userspace
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>
2014-05-17 15:31:52 +05:30
Linux Build Service Account 9b7c771d27 Merge "msm: vidc: Validate userspace buffer count" 2014-05-12 03:34:50 -07:00
Linux Build Service Account 1a7d3619bf Merge "msm: vidc: Add AFD and CC metadata support to extradata" 2014-05-09 08:16:41 -07:00
Linux Build Service Account 3334cdb91a Merge "msm: vidc: Amend calculation of buffer sizes in VENUS_BUFFER_SIZE" 2014-05-09 08:16:40 -07:00
Pachika, Vikas Reddy 82929c4ccf msm: vidc: Validate userspace buffer count
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>
2014-05-08 05:21:18 -07:00
Jayasena Sangaraboina 45365f95a4 msm: vidc: Add AFD and CC metadata support to extradata
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>
2014-05-05 12:50:11 -07:00
Deva Ramasubramanian 69c840133c msm: vidc: Amend calculation of buffer sizes in VENUS_BUFFER_SIZE
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>
2014-04-30 12:47:04 -07:00
Lokesh Kumar Aakulu eb2e99b562 msm: camera: Avoid memory corruption by changing order of enum
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>
2014-04-21 19:40:52 +05:30
Linux Build Service Account c061683f47 Merge "msm: camera2: cpp: Add support to enable turbo mode dynamically" 2014-04-17 13:14:19 -07:00
Linux Build Service Account a92a9f0829 Merge "msm: camera: Fix bug in csid or csiphy IO struct" 2014-04-14 12:04:06 -07:00
Shivaramraje Nimbalkar Joshi 61c641f922 msm-camera: Update sensor mount angle and position
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>
2014-03-20 05:39:42 -07:00
Rajesh Bondugula 99b68f7033 msm: camera: Fix bug in csid or csiphy IO struct
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>
2014-03-14 09:16:37 -07:00
Linux Build Service Account aaabd98b0c Merge "msm: camera: Add support for multiple SOF events." 2014-02-28 19:22:16 -08:00
Iliya Varadzhakov 79a0b32ea0 msm: camera2: cpp: Add support to enable turbo mode dynamically
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>
2014-02-26 05:25:10 -08:00
Vladislav Hristov a6f81dc47a msm: camera: Add support for multiple SOF events.
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>
2014-02-23 18:30:06 -08:00
Vasko Kalanoski 5c417eadf9 msm: camera: extend reg_settings_t structure
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>
2014-02-21 11:59:47 +05:30
Linux Build Service Account 78f1e20f02 Merge "msm: camera2: cpp: Append frame buffers to the list" 2014-02-11 23:50:03 -08:00
Evgeniy Borisov 88af496ba7 msm: camera: Populate sensor actuator subdev id during probe
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>
2014-02-10 21:05:13 +05:30
Evgeniy Borisov 7a80b8f2f7 msm: camera: Populate sensor eeprom subdev id during probe
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>
2014-02-10 21:03:23 +05:30
Evgeniy Borisov 8234aebbc9 msm: camera: Fix for gpio usage in camera modules
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>
2014-02-10 20:55:03 +05:30
Rajesh Bondugula 131a9186a1 msm: camera: Updated the vreg parameters for powerdown.
Updated the vreg parameters for powerdown.

Change-Id: Ice7a103171fdf21afb65ed4b5c733e5d33d3c8b3
Signed-off-by: Rajesh Bondugula <rajeshb@codeaurora.org>
Signed-off-by: Vasko Kalanoski <vaskok@codeaurora.org>
(cherry picked from commit daa717ffb695a744848aeeab2863f8452907907a)

Signed-off-by: Satish Kamuju <skamuj@codeaurora.org>
2014-02-10 20:53:55 +05:30
Evgeniy Borisov 87ebe9cf98 msm: camera: Add support for camera multimodule in eeprom
Add query for eeprom Multimodule data.

Change-Id: I0bdc741ac7835941afc74cc79a23b08363cd8078
Signed-off-by: Evgeniy Borisov <eborisov@codeaurora.org>
Signed-off-by: Vasko Kalanoski <vaskok@codeaurora.org>
(cherry picked from commit 096b8b7397c18ad353944ab4194baa6601e5bbf1)

Signed-off-by: Satish Kamuju <skamuj@codeaurora.org>
2014-02-10 20:52:42 +05:30
Evgeniy Borisov 11d85b028d msm: camera: Multi module support in sensor architecture.
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>
2014-02-10 20:42:11 +05:30
Panwar Vivek d66f98f0db Revert "Revert "msm: camera2: add api for set actuator for manual af"."
This reverts commit b52e59fce3.

Change-Id: I0f9814279829fe944cde7ad5dd4b7ef83e28ddbe
Signed-off-by: Panwar Vivek <vpanwa@codeaurora.org>
2014-02-05 14:24:10 +05:30
Deva Ramasubramanian fbd85b747c msm: vidc: Add support for MBI extradata
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>
2014-01-31 14:04:59 -08:00
Jorge Solano Altamirano e8d995e879 msm: vidc: Add support to request frame bits info as extra-data
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>
2014-01-31 14:04:58 -08:00
Jorge Solano Altamirano be8961e9b3 msm: vidc: Add support to request frame level QP information
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>
2014-01-31 14:04:57 -08:00
Ashray Kulkarni 637e2a333e msm: vidc: Add generic LTR mode support
Use generic LTR HFI APIs for h264 and vp8 formats.

Change-Id: I9f307046d7ec6de4eb6d43704686be902356882a
Signed-off-by: Ashray Kulkarni <ashrayk@codeaurora.org>
2014-01-31 14:04:30 -08:00