Commit Graph

171 Commits

Author SHA1 Message Date
Karthik Dillibabu
f1adead069 msm: camera: core: validation of session/device/link handle
This change is to validate session, device and link handle.
Also, checks whether the device handle belongs to
correct session handle or not.

CRs-Fixed: 3496553
Change-Id: I6b86bf7d0908a280e90e085a3b3e1727facdf8c6
Signed-off-by: Karthik Dillibabu <quic_kard@quicinc.com>
2023-05-25 22:06:10 -07:00
Li Sha Lim
e824226a1f msm: camera: uapi: Add new WM output formats
For v980, new formats are added. This change also
fixes mismatch of plain16_10_lsb format between
kmd and userspace.

CRs-Fixed: 3321317
Change-Id: I1d951d3e55b37b11ebe6dad67bea220d47998d59
Signed-off-by: Li Sha Lim <quic_lishlim@quicinc.com>
2023-05-20 10:06:22 -07:00
Stark Lin
c23a3f448c msm: camera: isp: Add support for HWPD debugging
HWPD is associated with several modules, but only image size violation
displayed in the kernel when an error occur. Now we will pass the error
code of HWPD violation to UMD to help UMD to take necessary action and
dump relevant info.

CRs-Fixed: 3440015
Change-Id: I6483b228a8eeaac3bf54f5f83f8f8deab3da6250
Signed-off-by: Stark Lin <quic_starlin@quicinc.com>
2023-05-20 10:06:07 -07:00
Wang Kan
5bf8e19f67 msm: camera: uapi: Add a flag for different channel settings
Add a flag for different channel settings
including short and standard channel.

CRs-Fixed: 3440178
Change-Id: I3f9ea83483a1706e660a8c5ddf225f5d9eb3abcb
Signed-off-by: Wang Kan <quic_wkan@quicinc.com>
2023-05-12 19:06:34 -07:00
Karthik Anantha Ram
9bf7e70f2d msm: camera: icp: Add support for synx testing
Add support to receive synx test cmds, and forward it to ICP FW.
Synx on ICP will process that cmd, and send a response. This
response is returned to the caller. The objective of this
infrastructure is to allow synx test app to validate synx
functionality on ICP without running any actual use-case.

CRs-Fixed: 3448052
Change-Id: I3785264f74c5c698146f4de1a82d25fe141cfc2a
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
2023-05-09 21:06:32 -07:00
Rishab Garg
3be797a964 msm: camera: sensor: Add dynamic Switch support in TPG
- Add support for Dynamic mode switch.
- Request store and apply from waiting queue.
- Add support for reapply request from active queue.
- Handling TPG interrupt.

CRs-Fixed: 3403974
Change-Id: I5dfe146b30631a94059f72d482610e04ba8e4e2c
Signed-off-by: Rishab Garg <quic_rishabg@quicinc.com>
2023-04-27 18:06:15 -07:00
Gaurav Jindal
1f8ebc0f6b msm: camera: isp: Add support for V2 Out Configs
This commit adds support for the new fields need to be passed by
Userland. To support new fields, new version for out port config
structure is added.
During acquire, hint from user space is used to use packing
at Write master side.

CRs-Fixed: 3321317
Change-Id: Ide2640b96d8c3b2cd2cce77aa0279a69499f20c8
Signed-off-by: Gaurav Jindal <quic_gjindal@quicinc.com>
2023-04-06 17:36:09 -07:00
Depeng Shao
305683fb02 msm: camera: sensor: Configuring sensor pd to 1 for hfr usecase
Configuring sensor pd to 1 for hfr usecase, then the setting
of sensor can reflect on next batch.

CRs-Fixed: 3376953
Change-Id: I4a78e087aec0e46f78f40ae8c37f1086125558de
Signed-off-by: Depeng Shao <quic_depengs@quicinc.com>
2023-02-07 11:36:08 -08:00
Sokchetra Eung
fbe7efd896 msm: camera: uapi: Add OFE AXI Paths
Add OFE AXI paths UAPI to support OFE AXI BW voting in Kernel.

CRs-Fixed: 3361880
Change-Id: I45bb5177bbb68823e57824af3f464610a6db9029
Signed-off-by: Sokchetra Eung <quic_eung@quicinc.com>
2023-01-24 18:06:43 -08:00
Karthik Anantha Ram
cac38ca1aa msm: camera: uapi: Add support for ICP query cap v2
The change updates new query cap v2 structure for ICP
to relay new HW related info to userland. The new query
cap structure provides detailed info on the HW cores being
supported and handled for each instance of the ICP driver.
The change also adds provision to obtain hw fence info as part
of query caps.

CRs-Fixed: 3374291
Change-Id: Iebd80bd87a495887b09296a09bea36c3690b9f92
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
2023-01-20 15:06:19 -08:00
Shivi Mangal
953b2ced40 msm: camera: sensor: Add register settings in TPG
This change allows the tpg hw register configurations to be directly
programmed from the tpg xml file. The regsettings array can be configured
with the right configurations for the required mode, if regsettings are
not provided in regsettings array. The settings are derived from the
stream configurations and global configurations.

CRs-Fixed: 3289930.

Change-Id: If44678475986efc0f26c334f5db4f9c59cd6873b
Signed-off-by: Shivi Mangal <quic_smangal@quicinc.com>
2023-01-13 15:36:05 -08:00
Yulei Yao
84c92a55f5 msm: camera: sensor: BIG endian write for QTime
DW9784 needs Big endian type when QTime is written
into registers.

CRs-Fixed: 3359195
External Impact: No.

Change-Id: I6c141de255dbedb933ca5529f5ce4562d93a7c3a
Signed-off-by: Yulei Yao <quic_yuleiy@quicinc.com>
2023-01-04 16:36:11 -08:00
Ashish Bhimanpalliwar
fb89fa6125 msm: camera: isp: Add new outports for Spectra v980
Add new outports for Spectra v980.

CRs-Fixed: 3321317
Change-Id: I8303a04b5d15216744e017359f4a814c19d1a139
Signed-off-by: Ashish Bhimanpalliwar <quic_abhiman@quicinc.com>
Signed-off-by: Mukund Madhusudan Atre <quic_matre@quicinc.com>
2023-01-04 16:36:04 -08:00
Sokchetra Eung
92e98c0713 msm: camera: icp: UAPI update for v980
Add OFE stream type(rt/nrt/semi-rt) to be used for hw acquire,
add ofe setting/update opcode for preparing hw update, add
ICP/OFE dev type for query cap v2 usage, and a new macro
to define the max number of device types supported by ICP instance.

Remove usages of deprecated max macros - CAM_ICP_RES_TYPE_MAX
and CAM_ICP_DEV_TYPE_MAX in the driver.

CRs-Fixed: 3336554
Change-Id: Icf27958571f6e31896539d0cd692e0e7a67c5cd8
Signed-off-by: Sokchetra Eung <quic_eung@quicinc.com>
2022-12-19 17:06:24 -08:00
Gaurav Jindal
95c24d7806 msm: camera: isp: UAPI changes for Spectra v980
UAPI Changes for Spectra v980.

CRs-Fixed: 3321317
Change-Id: I93c5436db5e6e955759aac8e151472f24c051944
Signed-off-by: Gaurav Jindal <quic_gjindal@quicinc.com>
Signed-off-by: Mukund Madhusudan Atre <quic_matre@quicinc.com>
2022-12-12 18:36:06 -08:00
Depeng Shao
4d1434445f msm: camera: sensor: Add bubble update packet support
This change adds bubble update packet support, when the
sensor mode or feature mask of bubble req is different
with last applied, we can use bubble update packet to
recovery the sensor mode and feature, then the bubble
req can get frame from correct sensor mode and feature.

CRs-Fixed: 3317352
Change-Id: Ia80b578044e74cc5062f9f6c12c5ae8edd2049ac
Signed-off-by: Depeng Shao <quic_depengs@quicinc.com>
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
2022-12-08 18:06:08 -08:00
Yulei Yao
8202146af3 msm: camera: sensor: Infrastructure to support OIS FW download V2
Add 16 bit data read/write. Add new FW information
cmd parser. Add new FW download v2. Force CCI burst/
sequential write to be queued into Q0.

CRs-Fixed: 3322287
External Impact: No.

Change-Id: I8a1ea42b01a3748f466a9bc6083a799b939e6d02
Signed-off-by: Yulei Yao <quic_yuleiy@quicinc.com>
2022-11-29 17:36:22 -08:00
Abhijit Trivedi
7f3c540b78 Catch up diff
Change-Id: Ie11e070d33e9dc83e96f7ae783fcc2e5e0273a40
Signed-off-by: Abhijit Trivedi <quic_abhijitt@quicinc.com>
2022-11-16 14:14:20 -08:00
Petar Nedev
a9b45021cc msm: camera: uapi: Add support for using synx objects
This change adds synx object support for all fence ops.

CRs-Fixed: 3317280
Change-Id: Id370a9fdb3155378c61a84dde2fa849a993ec6a2
Signed-off-by: Petar Nedev <quic_pnedev@quicinc.com>
2022-10-27 17:06:24 -07:00
Rishab Garg
9cbc7cd024 msm: camera: sensor: Add changes for XCFA in TPG
Add generic changes to support RGBIR, 3x3 and 4x4
XCFA from TPG XML.

CRs-Fixed: 3175994
External Impact: No
Change-Id: I129e20eb5db2bf2f168202f4854de62926eb613b
Signed-off-by: Rishab Garg <quic_rishabg@quicinc.com>
2022-10-27 17:06:07 -07:00
Li Sha Lim
5cc52ef416 msm: camera: uapi: Add UAPI for new sensor cmd buffers
Adding generic blob type of cmd buffers to support
receiving debugging information from userspace.
This generic blob type can be extended to receive
additional debugging information in the future.

This change starts with support for sensor resolution
info setting changes.

CRs-Fixed: 3256097
Change-Id: I1c1416cedf238402338e0d236d18e3c4a4efcb13
Signed-off-by: Li Sha Lim <quic_lishlim@quicinc.com>
2022-08-10 01:36:19 -07:00
Pavan Kumar Chilamkurthi
dce48d5ae2 msm: camera: memmgr: Add support to allocate from ubwcp heap
Add memmgr interface and support to allocate buffers from
ubwcp heap.

CRs-Fixed: 3197463
Change-Id: Ic3368e5ff81710dba795c9625f9a461833f915e3
Signed-off-by: Pavan Kumar Chilamkurthi <quic_pchilamk@quicinc.com>
2022-06-16 16:48:25 -07:00
Pavan Kumar Chilamkurthi
5af17aad2a msm: camera: memmgr: Add interface to support cpu access operation
Add ioctl interfaces to support dma begin and end cpu access
operations for camera buffers.

CRs-Fixed: 3197463
Change-Id: Ibeb31e8f425489abfdd47df6f92271ac40ace407
Signed-off-by: Pavan Kumar Chilamkurthi <quic_pchilamk@quicinc.com>
2022-06-16 16:48:25 -07:00
Chandan Kumar Jha
eddb106bb8 msm: camera: isp: Add UAPI changes to support NFI based Switching
Add UAPI changes to support NFI based dynamic Switching.

CRs-Fixed: 3168727
Change-Id: I3246c9496bea778cac11352d9c90672ce763a59b
Signed-off-by: Chandan Kumar Jha <quic_cjha@quicinc.com>
2022-06-16 16:44:25 -07:00
Mukund Madhusudan Atre
9dcca711f8 msm: camera: uapi: Add interface for DRV config
Add interface to configure DRV settings and vote levels.

CRs-Fixed: 3065551
Change-Id: I07ff6f25bffcfb11671436d64f917fc49cb73cc2
Signed-off-by: Mukund Madhusudan Atre <quic_matre@quicinc.com>
2022-06-08 13:07:25 -07:00
Fengjie Chen
cf223fa7b3 msm: camera: memmgr: Set name for dma buffer to help profiling
For dma buffer profiling,we don't konw the owner of one dma
buffer. So we add it's name to show it's owner.
If you use v1 struct to alloc/map dma buffer it will use
default buffer name "UNKNOWN". For v2 struct you can set dma
buffer name at UMD side.

CRs-Fixed: 3131442
Change-Id: I24ce6aa1d97cd9fc26d9bd8796ab2367607008f6
Signed-off-by: Fengjie Chen <quic_fengjiec@quicinc.com>
2022-06-08 13:06:24 -07:00
Karthik Anantha Ram
d3d9f214b6 msm: camera: uapi: Add UAPI for new CPHY cmd buffers
Add new cmd buffer types to support CDR sweep
and auxiliary settings update.

CRs-Fixed: 3186732
Change-Id: I46924d188521617d6b179cf6f89311d9f4179bf2
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
2022-06-01 18:40:49 -07:00
Karthik Anantha Ram
6f3469956d msm: camera: uapi: Add support for using dma fences
The change adds infrastructure to perform different operations
such as create/import/release etc. on different types of
fences [sync/dma/synx]. The change also adds provision to
process fences in a batch.

CRs-Fixed: 3179072
Change-Id: Icbddb0ac8cd879f81ff58accdae6d51c35a316b7
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
2022-05-09 20:06:12 -07:00
Depeng Shao
686ef6b041 msm: camera: uapi: Add link properties support
This change adds a link properties opcode to get
the property level configuration, we can define
different properties and do some special process
per link in CRM.
Also add a new error code to indicate the error
of streaming off.

CRs-Fixed: 3163906
Change-Id: I7ebb54e5148fb10f74a710a95aeb7ca10d83be71
Signed-off-by: Depeng Shao <quic_depengs@quicinc.com>
2022-04-29 18:36:41 -07:00
sokchetra eung
323d00e1c1 msm: camera: isp: Add new WM port for SFE880
Add output port - HDR_STATS for SFE880 and update all mappings
associated with the port.

CRs-Fixed: 3175256
Change-Id: I1a856f3c705d651a486e0aba5a77ca73f0deb5a5
Signed-off-by: sokchetra eung <quic_eung@quicinc.com>
2022-04-26 17:37:18 -07:00
sokchetra eung
1f26cdf7c8 msm: camera: isp: Remove max sfe out res macro from UAPI
Remove max sfe out resource macro from uapi. Remove all usages
of the macro in ife hw mgr and sfe bus write files. Instead, use
max_out_res from sfe header files and Ife hw mgr calls to queries
max sfe out res from sfe bus wr.

CRs-Fixed: 3176997
Change-Id: Ie3fc36f3003305eeebcc60ec9539ff2c6630e337
Signed-off-by: sokchetra eung <quic_eung@quicinc.com>
2022-04-22 22:07:42 -07:00
Depeng Shao
1c4c766ffc msm: camera: uapi: Change uapi header for SAT switch latency optimization
Change uapi header for SAT switch latency optimization.

CRs-Fixed: 3094388
Change-Id: Iddfb1a300c522411115dcdb74e9890dd56b62778
Signed-off-by: Depeng Shao <quic_depengs@quicinc.com>
2022-04-22 22:07:19 -07:00
Anand Ravi
2dc1ecbc90 msm: camera: isp: Add new WM port for VFE880
Add output port for STATS_ALSC for VFE880 and update all mappings
associated with the port.

CRs-Fixed: 3168484
Change-Id: I0a674e7d2d6fe5fa5a51ff31e22f066fa222e5b7
Signed-off-by: Anand Ravi <quic_ananravi@quicinc.com>
2022-04-22 22:06:46 -07:00
Karthik Anantha Ram
5e9a1d2c9a msm: camera: uapi: Add new macro for RDI4
Add new macro for RDI4 to append in acquired path output.

CRs-Fixed: 3175210
Change-Id: Ic3999d0e84e938bacc62134c96126c689d6bb893
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
2022-04-19 13:36:48 -07:00
sokchetra eung
d74e00016b msm: camera: uapi: Modify PF event Macros
Split the buffer CDM_SHARED Page Fault event macro in UAPI
into two - CDM Page Fault event and Shared Page Fault
event macros.

CRs-Fixed: 3156671
Change-Id: I450e270c4f0421d0ed3c5fe30458e3052594b236
Signed-off-by: sokchetra eung <quic_eung@quicinc.com>
2022-03-29 10:06:15 -07:00
Ayush Kumar
a5afa0b63a msm: camera: icp: CRE and OPE voting fixes
- Added Voting Option for APP Port send from UMD.
- Adding Path type and transaction type for CRE.

CRs-Fixed: 3081144
Change-Id: Id5e8eb8d41cc2354d76f9dbbad8dfb3e09cf66a3
Signed-off-by: Alok Pandey <quic_akumarpa@quicinc.com>
Signed-off-by: Ayush Kumar <quic_ayushkr@quicinc.com>
2022-03-04 16:06:12 -08:00
Vikram Sharma
8a16e39373 msm: camera: ope: Increase max bl limit and max stripe to process
Increase “OPE_MAX_CDM_BLS” to 32 from 24 and MAX_STRIPES to
64 from 48.

CRs-Fixed: 3082993
Change-Id: I9e3631cc86c5e10e4e2020d4a9b2264ea282e437
Signed-off-by: Vikram Sharma <quic_vikramsa@quicinc.com>
2022-03-03 14:31:39 -08:00
Stark Lin
5953bec5c2 msm: camera: sensor: Add support to write sensor registers in probe
Few sensors needs to unlock register bank for reading
sensor ID from sensor register for probe. And this change
adds support to write sensor registers in probe cmd just
after power on and before reading the sensor ID.

CRs-Fixed: 3111822
Change-Id: Iee2e6bd0ba896a0a2d0c4cc23fe272ba4aae3ab2
Signed-off-by: Stark Lin <quic_starlin@quicinc.com>
2022-03-03 14:31:39 -08:00
chengxue
c733f90dd6 msm: camera: uapi: Add message type for kmd internal recovery
When KMD faces overflow errors, it will try internal recovery
first, every time KMD do internal recovery, it notifies to UMD
to do according process.

CRs-Fixed: 3131351
Change-Id: I06e7dc3c258b12fc2865d3383280a456b42c2163
Signed-off-by: chengxue <quic_chengxue@quicinc.com>
2022-03-03 14:31:39 -08:00
Pavan Kumar Chilamkurthi
3ea1c2ad59 msm: camera: smmu: add new flag to indicate Hw, CDM access
When set, buffers will be mapped within 32-bit region
address space and in patching, if Shared or CmdBUffer is
not set for such buffers - patch the value with right shift
by 8. kmd does as below.

Map:
  Shared or CmdBuffer : Mapped within 32bit.
  HwAndCDMOrShared    : Mapped within 32bit
  others(HwAccess)    : Mapped within 40bit
Patching:
  Shared or CmdBuffer : as is
  HwAndCDMOrShared    : iova >> 8
  others (HwAccess)   : iova >> 8

Shared/CmdBuffer takes precedence over HwAndCDMOrShared.

CRs-Fixed: 3128094
Change-Id: Ifd9f5beaf2659f77544cd0722ef7f60d6c0684a7
Signed-off-by: Pavan Kumar Chilamkurthi <quic_pchilamk@quicinc.com>
2022-02-14 20:07:09 -08:00
sokchetra eung
a27ab6d632 msm: camera: uapi: Add PF msg struct
Add data struct for reporting v4l2 event on page
fault. Upon receiving the event, userspace is
expected to abort, and all kernel drivers are shut
down. when Titan power on the next session, CAMSS
will undergo async reset.

CRs-Fixed: 3109439
Change-Id: I518148baa2414fd072b874200a408589332f95ec
Signed-off-by: sokchetra eung <quic_eung@quicinc.com>
2022-01-19 16:06:50 -08:00
Rishab Garg
e79f7727a3 msm: camera: sensor: Add IR/XCFA/SHDR overlapped for TPG0
Kailua tpg has some extra register for ir/xcfa/shdr overlapped.
These register data support is added as part of this change.

CRs-Fixed: 3086082
Change-Id: If044b336a87de931f6d512c52895e65c85d10863
Signed-off-by: Rishab Garg <quic_rishabg@quicinc.com>
2022-01-19 16:06:29 -08:00
Gaurav Jindal
0bd0f23d03 msm: camera: isp: Add Support for XCFA RDI requirements
For SFE 780, Input to SFE from CSID for single xcfa use cases
is RDI0.
This commit changes the acquire logic to acquire RDI0
in case of SFE context for single ISP/SFE use cases and IPP
for dual ife cases.

CRs-Fixed: 3092119
Change-Id: I7e7ba0438435c6fe7a8b0d22f7c08b7ce4da1819
Signed-off-by: Gaurav Jindal <quic_gjindal@quicinc.com>
2022-01-19 13:31:19 -08:00
Camera Software Integration
7d3c727286 Merge "msm: camera: icp: Use blob to pass presil hangdump buffer info" into camera-kernel.lnx.6.0 2021-12-23 15:56:27 -08:00
Suraj Dongre
bd411e32c9 msm: camera: icp: Use blob to pass presil hangdump buffer info
Added blob for presil hangdump containing memhandle for buffer.
Added code to copy hangdump from rumi into this buffer.

CRs-Fixed: 3042621
Change-Id: I804f34fdb251c83137c2ee5b9dd8eb082bd43bf7
Signed-off-by: Suraj Dongre <quic_sdongre@quicinc.com>
2021-12-21 12:10:41 -08:00
Dharmender Sharma
06b7b57b28 msm: camera: jpeg: JPEG HW and Camnoc MISR
Support for Camnoc MISR for JPEG DMA and Encoder.
Also added support for seprate target files.

CRs-Fixed: 3012752
Change-Id: I5e066d5d871f58073f669c01270d5b64ce16088e
Signed-off-by: Dharmender Sharma <quic_dharshar@quicinc.com>
2021-12-16 10:56:33 +05:30
Jigar Agrawal
31ccd86693 msm: camera: reqmgr: Add more error codes in uapi file
Add support for Missing EOT and long packet corruption
error codes.

CRs-Fixed: 3026930
Change-Id: I10088e0aff95782d8fa9ceff0e73ecf08b6a02dd
Signed-off-by: Jigar Agrawal <quic_jigar@quicinc.com>
2021-12-03 12:25:36 -08:00
Gaurav Jindal
f2cad8ef24 msm: camera: isp: Add support for RDI LCR
For spectra 780, one of the RDI inputs can serve
as an input to LCR in PDAF block inside IFE using
mux.
It  needs programming of top wrapper registers in CSID
and mux related registers in IFE.
At bus side, mipi packing needs to be used as the
output from CSID will be Plain16.
This commit adds support for the above requirements.

CRs-Fixed: 2948116
Change-Id: I425e4aa5ed58dd4214a1f11865359b3fc06d1b0d
Signed-off-by: Gaurav Jindal<gjindal@codeaurora.org>
2021-10-21 13:41:33 +05:30
Camera Software Integration
e15c969d3b Merge "msm: camera: uapi: Add new event causes" into camera-kernel.lnx.5.0 2021-10-06 17:45:45 -07:00
Camera Software Integration
4c38664b95 Merge "msm: camera: isp: Reduce traffic for shutter notification" into camera-kernel.lnx.5.0 2021-10-04 17:32:47 -07:00