Commit Graph

560 Commits

Author SHA1 Message Date
Camera Software Integration
da7a91d4f7 Merge "msm: camera: cpas: Fix bw voting units for interconnect" into camera-kernel.lnx.4.0 2020-05-07 20:30:37 -07:00
Camera Software Integration
078fae7918 Merge "msm: camera: sensor: Turn off the flash while flushing" into camera-kernel.lnx.4.0 2020-05-07 20:30:16 -07:00
Camera Software Integration
c056e39f34 Merge "msm: camera: smmu: Add map and unmap monitor" into camera-kernel.lnx.4.0 2020-05-04 14:06:05 -07:00
Camera Software Integration
c072d0eaab Merge "msm: camera: smmu: Use iommu best match algo for camera" into camera-kernel.lnx.4.0 2020-05-04 14:05:57 -07:00
Camera Software Integration
7b2841a726 Merge "msm: camera: smmu: Add support for non-contiguous mermory region" into camera-kernel.lnx.4.0 2020-05-04 14:05:48 -07:00
Anil Kumar Kanakanti
538accf58e msm: camera: sensor: Turn off the flash while flushing
Turn off the flash while flushing if the flushed request is
flash off and removed flush request ID validation in flush_all
scenario.

CRs-Fixed: 2667472
Change-Id: Iaf123f2f56117d7b7d1ef6d2291b0cde8c232d44
Signed-off-by: Anil Kumar Kanakanti <akanakan@codeaurora.org>
2020-05-04 09:56:10 -07:00
Mukund Madhusudan Atre
7429211dfc msm: camera: isp: Fix checking for valid bw vote
The BW config coming from user space functions based on
usage type as single or dual. Checking the validity of bw
vote based on hw index caused bw updates to be ignored from
isp side. Fix checking for valid bw vote by falling back to
walking through all indices.

CRs-Fixed: 2669422
Change-Id: I5762fb06c8b69ade286d890146e91844fbde5ce7
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2020-05-04 09:49:34 -07:00
Mukund Madhusudan Atre
bac9cf4a20 msm: camera: cpas: Fix bw voting units for interconnect
In bw voting for ahb and axi, interconnect API requires
bw values in KBps. Add conversion to icc compatible units
before voting to interconnect framework.

CRs-Fixed: 2664087
Change-Id: If64c2bcbd20a3e2ad9f738e18955d5a8256d715c
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2020-05-04 09:49:29 -07:00
Camera Software Integration
4cccdd446e Merge "msm: camera: csiphy: Fixed CSID overflow errors" into camera-kernel.lnx.4.0 2020-05-01 16:47:13 -07:00
Camera Software Integration
865fed29b3 Merge "msm: camera: isp: Remove request ID in bubble sof notification" into camera-kernel.lnx.4.0 2020-04-30 11:48:00 -07:00
Camera Software Integration
4ca6ec945a Merge "msm: camera: csiphy: Remove unnecessary delay from reset sequence" into camera-kernel.lnx.4.0 2020-04-30 11:47:53 -07:00
Camera Software Integration
9e312575d7 Merge "msm: camera: csiphy: Update bringUp sequence" into camera-kernel.lnx.4.0 2020-04-30 11:47:37 -07:00
Camera Software Integration
a2e62547bd Merge "msm: camera: isp: Fix per req reg dump for Single IFE usecase" into camera-kernel.lnx.4.0 2020-04-30 11:47:18 -07:00
Camera Software Integration
09bbae85ac Merge "msm: camera: smmu: Profile time taken for map, unmap" into camera-kernel.lnx.4.0 2020-04-30 11:47:09 -07:00
Camera Software Integration
aa71c1c0b7 Merge "msm: camera: ife: IFE debug enhancement for overflow debugging" into camera-kernel.lnx.4.0 2020-04-30 11:46:59 -07:00
Karthik Jayakumar
655736ee0b msm: camera: common: Remove extra CAM_INFO logs
Changes extraneous CAM_INFO logs into CAM_DBG logs in order to help
de-clutter serial boot logs.

CRs-Fixed: 2669269
Change-Id: I7589bd64363aa122c46e1193c68bbf49d78a4a9a
Signed-off-by: Karthik Jayakumar <kjayakum@codeaurora.org>
2020-04-30 09:37:40 -07:00
ANIL KUMAR KANAKANTI
a5c3abfd09 msm: camera: csiphy: Fixed CSID overflow errors
Fix: Updated PHY settings as per latest PHY HPG to
avoid possible CSID overflow errors.

CRs-Fixed: 2567045
Change-Id: I7a508cb8ef31b642b2afbeb1adb1508b1d8ee205
Signed-off-by: ANIL KUMAR KANAKANTI <akanakan@codeaurora.org>
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
2020-04-30 10:30:10 +05:30
Camera Software Integration
1e20d6f687 Merge "msm: camera: isp: Ignore other csid irq errors during csid top reset" into camera-kernel.lnx.4.0 2020-04-29 16:52:22 -07:00
Camera Software Integration
6d5b2a796c Merge "msm: camera: common: Add sysfs support for bw override" into camera-kernel.lnx.4.0 2020-04-29 16:52:03 -07:00
Jigarkumar Zala
49dfccf260 msm: camera: csiphy: Remove unnecessary delay from reset sequence
Lane enable register reset is not required any delay to reflect the
change. This change removes the unnecesaary delay from lane_enable
register. Also, adding 1us of delay between back to back write in
SW reset register along with condition based refelction of delay.

CRs-Fixed: 2671221
Change-Id: I010570045a97fc1489a84d22ebd39df6f6f14f0a
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
2020-04-28 13:22:16 -07:00
Jigarkumar Zala
43e3ea9bf3 msm: camera: csiphy: Update bringUp sequence
Update 2phase and 3phase bring up sequence for different
data rate to reflect latest hpg change.

CRs-Fixed: 2671221
Change-Id: Idd7445a523486a5fb4ec5d43bcf8987c54c089b0
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
2020-04-28 13:20:03 -07:00
Pavan Kumar Chilamkurthi
122039844c msm: camera: smmu: Add map and unmap monitor
Add map and unmap events in monitor array for each
context bank and dump the last set of events whenever
some smmu related issue happens.

CRs-Fixed: 2538876
Change-Id: I18941e9a64ebd6828419e13471938bb32438122c
Signed-off-by: Pavan Kumar Chilamkurthi <pchilamk@codeaurora.org>
2020-04-27 14:00:47 -07:00
Pavan Kumar Chilamkurthi
5b396d1411 msm: camera: smmu: Use iommu best match algo for camera
Use best fit match algo for smmu map instead of first match
algo to avoid fragmentation in smmu virtual space.

CRs-Fixed: 2580128
Change-Id: I434e6e4396bc713e6e12e3da7ae4b78cc2da6a42
Signed-off-by: Pavan Kumar Chilamkurthi <pchilamk@codeaurora.org>
2020-04-27 14:00:37 -07:00
Pavan Kumar Chilamkurthi
efc0528e8a msm: camera: smmu: Add support for non-contiguous mermory region
Add support to discard a memory region inside the full dma map
virtual address space region.

CRs-Fixed: 2580128
Change-Id: I76cc778f2437a01a4efabec836ce92c47d983d61
Signed-off-by: Pavan Kumar Chilamkurthi <pchilamk@codeaurora.org>
2020-04-27 14:00:17 -07:00
Pavan Kumar Chilamkurthi
1b644126dd msm: camera: smmu: Profile time taken for map, unmap
Add debugging capability to profile ion alloc,
smmu map and unmap calls. Enable below debugfs settings
to get the traces with corresponding latencies.
Alloc      : echo 1 > /sys/kernel/debug/camera_memmgr/alloc_profile_enable
Map, Unmap : echo 1 > /sys/kernel/debug/camera_smmu/map_profile_enable
Capture the profiling numbers in traces.

CRs-Fixed: 2538876
Change-Id: I92dc58416a9febc77a7836b8f7b1523b547c128f
Signed-off-by: Pavan Kumar Chilamkurthi <pchilamk@codeaurora.org>
2020-04-27 13:23:55 -07:00
Mukund Madhusudan Atre
2e6a2419b4 msm: camera: common: Add sysfs support for bw override
To simulate bus overflow recovery in camera, cpas needs sysfs
to take input from shell and vote the final value as given,
instead of consolidated values from cpas clients. Add initial
support for sysfs to add nodes for all drivers. Add sysfs
based debug node to maintain and update all settings. Add cpas
settings to override final bw voted to camnoc and mnoc ports.

Usage:
adb shell "echo <driver_name>#<setting_name>=<value>
> /sys/devices/platform/soc/soc:qcom,cam-req-mgr/debug_node"

Example:i
adb shell "echo cpas#camnoc_bw=100
> /sys/devices/platform/soc/soc:qcom,cam-req-mgr/debug_node"

Input format for updating settings is strict.

CRs-Fixed: 2646825
Change-Id: I8d6063240f9685474bf4b2899e8dfb3f74cbdb75
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2020-04-25 19:24:45 -07:00
Chandan Kumar Jha
e990f99276 msm: camera: isp: Ignore other csid irq errors during csid top reset
During global reset, csi rx irq bits are set since sensor/phy was not
reset properly in last closure and sending some data. This can lead
to csid fatal or non-fatal errors.
To avoid this condition, ignore other csid irq errors during csid top
reset and during csid stop sequence.

CRs-Fixed: 2585726
Change-Id: I5e09caf3b374407ece8ff1b871c2cf7e0f1837ac
Signed-off-by: Chandan Kumar Jha <cjha@codeaurora.org>
Signed-off-by: Depeng Shao <depengs@codeaurora.org>
Signed-off-by: Vishalsingh Hajeri <vhajeri@codeaurora.org>
2020-04-24 10:33:04 -07:00
Karthik Anantha Ram
85ac759b1e msm: camera: cpas: Set AHB clock rate only if a client is streamed on
Currently the ahb clock rate is set as part of cpas_start for a
given client. In order to set this rate, any camera gdsc needs to
be enabled. This change adds a check to allow setting the clk rate
only if the gdsc regulator has been enabled to avoid NoC timeouts.

CRs-Fixed: 2671048
Change-Id: I6551c8c648ae298dca97f0e35ba7c9ca83b5a2cd
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
2020-04-24 10:04:43 -07:00
Venkat Chinta
758e751074 msm: camera: isp: Remove request ID in bubble sof notification
This change removes valid request ID from sof notification
when bubble is detected. The sof notification for this request
will be sent after the state machine moves out of bubble applied
state. This is to avoid duplication of timestamps in case of
bubble due to IRQ delays.

CRs-Fixed: 2671273
Change-Id: I5334fab41ae5bce8a42e421747b35f9bfd32aff3
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2020-04-23 15:45:53 -07:00
Venkat Chinta
df4da1d8dd msm: camera: ife: Change log level
To acquire a CSID path we loop through all available
CSIDs. Therefore the log that indicates that a specific
CSID does not have a path available is not a error by
itself. This commit changes that log level to debug.

CRs-Fixed: 2671273
Change-Id: I52750975a739faa5a4015d20cebb5f7f0442fb58
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2020-04-23 15:44:24 -07:00
Karthik Jayakumar
28be26b740 msm: camera: sync: Fix kbuild config checks for synx driver
External configs should be checked by using IS_REACHABLE/IS_ENABLED
macro's to check if the config option is set for the build target.

CRs-Fixed: 2584631
Change-Id: I07a0d95391a83a2264f826e2935d67686d295317
Signed-off-by: Karthik Jayakumar <kjayakum@codeaurora.org>
2020-04-22 10:43:31 -07:00
Vishalsingh Hajeri
a085cf0e51 msm: camera: isp: Fix per req reg dump for Single IFE usecase
In dual ife usecase we get two cdm callbacks from respective
internal cdm's. This change makes sure per req reg dump function
is called only once when two cdm callbacks are received.

CRs-Fixed: 2666317
Change-Id: I766dbe471cbee0fd2d26e7618ebc06a9f185a873
Signed-off-by: Vishalsingh Hajeri <vhajeri@codeaurora.org>
2020-04-20 11:16:19 -07:00
Mukund Madhusudan Atre
b7235bc92c msm: camera: ife: IFE debug enhancement for overflow debugging
In many error cases it is required to know the
bandwidth applied on axi ports and camnoc axi
clock rate values. Added cpas api to print the
current axi bus votes, camnoc axi clock and ahb
vote level.This api can be called for isp errors
such as bus overflow, pxl overflow cases.
On RDI overflow printing last applied IFE clock,
dumping the CAMNOC fill-level registers to know
the pending and queued transactions, SOF EPOCH
and EOF timing to know exactly at what time the
RDI overflow came, Width and height of specific
Write master.

CRs-Fixed: 2623885
Change-Id: I92a9097efe9f6726748ec27ca39dd51c8c6de1b6
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2020-04-20 11:13:36 -07:00
Camera Software Integration
d324acfbdb Merge "msm: camera: config: Do not compile camera sources for VM image" into camera-kernel.lnx.4.0 2020-04-17 19:37:57 -07:00
Camera Software Integration
0819ac8dba Merge "msm: camera: isp: Add trace events across ISP" into camera-kernel.lnx.4.0 2020-04-17 19:37:44 -07:00
Camera Software Integration
c41567ea23 Merge "msm: camera: isp: change variables declaration to static" into camera-kernel.lnx.4.0 2020-04-16 15:35:27 -07:00
Vishalsingh Hajeri
b318b39465 msm: camera: config: Do not compile camera sources for VM image
Do not compile camera sources for VM image for lahaina.
Guard the source path against CONFIG_QTI_VM to decide to
compile it are not.

CRs-Fixed: 2663712
Change-Id: I4a624cf8d9824b545c8fb70c134a3b7011c4d2ca
Signed-off-by: Vishalsingh Hajeri <vhajeri@codeaurora.org>
2020-04-15 19:14:40 -07:00
Camera Software Integration
ccdab9dadf Merge "msm: camera: csiphy: Secure cam usecase not working" into camera-kernel.lnx.4.0 2020-04-14 15:55:29 -07:00
Camera Software Integration
f66e56ea06 Merge "msm: camera: ife: Re-enable auto clock gating" into camera-kernel.lnx.4.0 2020-04-14 15:55:17 -07:00
Vishalsingh Hajeri
54bddb9d74 msm: camera: isp: change variables declaration to static
Static variables are initialized only once and the compiler
persists with the variable till the end of the program hence
declaring some of the varaibles in header files as static.

CRs-Fixed: 2663712
Change-Id: I55265f5ac1d144ae5b5c62a9984c08d242be157d
Signed-off-by: Vishalsingh Hajeri <vhajeri@codeaurora.org>
2020-04-14 14:33:17 -07:00
Anil Kumar Kanakanti
eb919ee4dc msm: camera: csiphy: Secure cam usecase not working
Secure CP control register always assume that it contains 7 bit
mask for each PHY. But this register format is different based on
target. Update secure CP control bitmask generation logic for each
PHY index based on phy_version.
So we have below 3 combinations to handle at SW.
1.Old Titan Targets : 7 bits for each PHY.
2.PHY 1_2_1 : for 4 pHYS 7 bits and for
remaining 2 PHYs 8 bits are reserved.
3.Mimas (PHY 2_0_1): 8 bits for each PHY.

CRs-Fixed: 2624698
Change-Id: Iac4c3c718fc96a51592e07b45458fb045c52366d
Signed-off-by: Anil Kumar Kanakanti <akanakan@codeaurora.org>
2020-04-12 22:24:38 -07:00
Camera Software Integration
2601946ec0 Merge "msm: camera: cpas: Update camnoc axi port vote during cpas start/stop" into camera-kernel.lnx.4.0 2020-04-09 17:01:54 -07:00
Fernando Pacheco
2b5f776630 msm: camera: ife: Re-enable auto clock gating
Auto clock gating was disabled to aid in certain debug scenarios.
However, for normal operation the expectation is for auto clock
gating to be enabled. The writes could be removed as enabled is the
default, but no harm in being explicit.

CRs-Fixed: 2584631
Change-Id: I63336d12b94f270c4962281e14e879a6207ea386
Signed-off-by: Fernando Pacheco <fpacheco@codeaurora.org>
2020-04-09 12:11:02 -07:00
Tejas Prajapati
ae5d1857a3 msm: camera: isp: variable should be accessed only if match is found
There is a possibility that the priority variable would be
accessed even for the HEAD node which would result in
out of bound errors, so access the elements of the
structure only if the handler is found.

CRs-Fixed: 2646173
Change-Id: I0540658b9c9487f6e3a4601a488a1add1e790dda
Signed-off-by: Tejas Prajapati <tpraja@codeaurora.org>
2020-04-07 17:45:25 +05:30
Gaurav Jindal
4f1388a7b0 msm: camera: cpas: Update camnoc axi port vote during cpas start/stop
For some cpas clients like csiphy, cci voting is applied and
removed during their respective start and stop flow. Such
clients do no call for vote update explicitly.
For such cases, camnoc axi ports were not updated. This can
result in camnoc_sf vote to be present.
This commit updates the camnoc ports as well for the clients
for who the voting is applied and removed during the start and
stop only.

CRs-Fixed: 2571273
Change-Id: I2997e5abad904532dc0d582edbf6d6078ac732d7
Signed-off-by: Gaurav Jindal <gjindal@codeaurora.org>
2020-04-06 10:13:13 -07:00
Tejas Prajapati
ede10a2048 msm: camera: reqmgr: increase the rd idx if no lower pd device
For link with maximum pipeline delay of 1 e.g.,
TPG use case or sensors with pipeline delay of 1,
if the request is not submitted before 2
consecutive triggers we do not get chance to
increment rd idx, in the mean time the slot which
was last applied will be reset and we will not be
able to apply request even if new requests are scheduled.

This will cause the camera to not apply any request
further, hence increasing the rd idx if no lower pd
devices are pending will fix the issue.

CRs-Fixed: 2622845
Change-Id: I012e242c7fca22abecc171ef4d7063d851bb5748
Signed-off-by: Tejas Prajapati <tpraja@codeaurora.org>
2020-04-01 10:38:05 -07:00
Camera Software Integration
bc1008874b Merge "msm: camera: isp: Add header files and hardware updates" into camera-kernel.lnx.4.0 2020-03-27 18:23:38 -07:00
Camera Software Integration
43e77a1892 Merge "msm: camera: cdm: Enable internal CDM" into camera-kernel.lnx.4.0 2020-03-27 18:22:54 -07:00
Gaurav Jindal
1befcf3a1a msm: camera: isp: Add header files and hardware updates
For lagoon, few changes in CSID and IFE  to handle the
dual vfe sync and halt.
For CSID, while handling the halt, external and internal
core configuration is changed.
For VFE, 3 IFE support is possible with the combinations:
0-1, 1-2, 0-2. This requires changes in dual vfe sync handling.
Also, CSID and IFE versions are updated.
This commit adds the driver header files for the version and
handles the hardware changes in the driver.

CRs-Fixed: 2571273
Change-Id: I48fd3319692cc1044beb20c278cc2fe5676cb668
Signed-off-by: Gaurav Jindal <gjindal@codeaurora.org>
Signed-off-by: Vishalsingh Hajeri <vhajeri@codeaurora.org>
2020-03-26 17:38:26 -07:00
Camera Software Integration
401a339af6 Merge "msm: camera: cpas: Add missing axi port name info" into camera-kernel.lnx.4.0 2020-03-23 19:54:45 -07:00