Commit Graph

145 Commits

Author SHA1 Message Date
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
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
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
Vishalsingh Hajeri
ca48923671 msm: camera: cdm: Enable internal CDM
Add support to acquire IFE CDM instead of CPAS
CDM.

CRs-Fixed: 2571273
Change-Id: Iea3bcf236d00d39bf19e0997e6d21efcd5406a61
Signed-off-by: Jigar Agrawal <jigar@codeaurora.org>
Signed-off-by: Vishalsingh Hajeri <vhajeri@codeaurora.org>
2020-03-23 07:16:15 -07:00
Camera Software Integration
d5c5960288 Merge "msm: camera: ife: Subscribe to error IRQs only on slave core" into camera-kernel.lnx.4.0 2020-03-19 15:31:02 -07:00
Venkat Chinta
89feb6b2ae msm: camera: ife: Remove check for intra-client mask
Intra-client mask is unused in Bus version 2.0 hardware
and can be removed.

CRs-Fixed: 2641529
Change-Id: I89b3620496995dbef8a6b09718f20a419ccf632c
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2020-03-13 13:37:32 -07:00
Venkat Chinta
2b9a25929a msm: camera: ife: Subscribe to error IRQs only on slave core
This change adds a check for slave core in dual IFE usecases
to avoid subscribing to SOF/EOF/EPOCH IRQs. We can use IRQs
from single core to drive our state machine. Error IRQs must
still be subscribed to as earlier.

CRs-Fixed: 2639855
Change-Id: I6aa6ab5b7e1049cd12f702da560b9b4a6ba9562b
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2020-03-13 13:27:44 -07:00
Venkat Chinta
5619d4e93e msm: camera: ife: Unmask top level bus write IRQ bit
During VFE reset we mask all bits apart from reset done. Since
the top level bus write IRQ bit is common to all output ports
it is set during the initialize hardware sequence. However since
initialize hardware is not invoked in start only case that follows
flush, we must set it again.

CRs-Fixed: 2590331
Change-Id: I73f09e552779bd65f472178c1025594be03025fb
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2020-03-05 11:10:07 -08:00
Haritha Chintalapati
a018ba6cf1 Merge "msm: camera: ife: Assign half the height value for cbcr plane" into camera-kernel.lnx.4.0 2020-03-04 14:31:30 -08:00
Haritha Chintalapati
0f65d30e1d Merge "msm: camera: csid: Rename TPG vd/dt macros" into camera-kernel.lnx.4.0 2020-03-03 14:21:05 -08:00
Haritha Chintalapati
4243c023a9 Merge "msm: camera: ife: Add check for DSP enabled in acquire" into camera-kernel.lnx.4.0 2020-03-03 14:20:53 -08:00
Camera Software Integration
4723bcdf25 Merge "msm: camera: ife: Save dual IFE flag" into camera-kernel.lnx.4.0 2020-03-02 15:05:06 -08:00
Venkat Chinta
c5086bcea3 msm: camera: csid: Rename TPG vd/dt macros
CSID TPG and PHY TPG require different values for VC/DT. This change
renames the macros to more distinct identifiers and assigns the
appropriate values based on input TPG type.

CRs-Fixed: 2632165
Change-Id: I136eb88a7cec338898cab8537cb080a0f26c2f77
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2020-02-28 15:29:10 -08:00
Venkat Chinta
4682501c82 msm: camera: ife: Add check for DSP enabled in acquire
This change adds a check if DSP is enabled to ensure lower
index IFE cores are acquired since only they support DSP
mode.

CRs-Fixed: 2632139
Change-Id: Ib1be26be9d5afd83f565ddf5adb989ef463d8b8d
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2020-02-28 14:46:48 -08:00
Venkat Chinta
88406b50a8 msm: camera: ife: Save dual IFE flag
This change saves the dual IFE flag during CAMIF acquire. This
line was misplaced during rebase of commit 8e79606ada ("msm:
camera: isp: Add support for offline IFE").

CRs-Fixed: 2630545
Change-Id: I321898aa6550b15240ca4308b1ceda1fbad14963
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2020-02-27 14:25:36 -08:00
Camera Software Integration
3a756cef36 Merge "msm: camera: isp: Config hardware in work queue" into camera-kernel.lnx.4.0 2020-02-26 13:14:11 -08:00
Camera Software Integration
64ac46e64e Merge "msm: camera: ife: Improve logs" into camera-kernel.lnx.4.0 2020-02-26 13:14:02 -08:00
Camera Software Integration
b4881d5569 Merge "msm: camera: ife: Change halt type" into camera-kernel.lnx.4.0 2020-02-26 13:13:55 -08:00
Camera Software Integration
3d0a403321 Merge "msm: camera: ife: Change data type for timeout" into camera-kernel.lnx.4.0 2020-02-24 13:20:48 -08:00
Camera Software Integration
43297e2c0e Merge "msm: camera: isp: Avoid dereference for unavailable port in ife out" into camera-kernel.lnx.4.0 2020-02-24 13:20:41 -08:00
Venkat Chinta
a16202752f msm: camera: ife: Assign half the height value for cbcr plane
This change adds a check for plane ID when updating write master
height value in per frame blob. Plane C must be programmed with
half the height.

CRs-Fixed: 2626999
Change-Id: I44b4d69d9d330342c444bbe435c6a54ad9f3bd6f
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2020-02-21 11:34:40 -08:00
Mukund Madhusudan Atre
0e57ffd0a0 msm: camera: isp: Avoid dereference for unavailable port in ife out
During deinit, we are dereferencing resource data even for unavailable
out resource. Avoid dereferencing NULL pointer during vfe deinit out
resource.

CRs-Fixed: 2584631
Change-Id: I8488ccf73f62c551fc9d6ce3d636b10d8b0c7b8c
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2020-02-20 09:31:17 -08:00
Venkat Chinta
32eade687a msm: camera: isp: Config hardware in work queue
Currently requests for offline IFE are applied from tasklet
context or from an ioctl thread within a critical section
protected by a spinlock. In both of these cases, preemtion is
disabled but CDM requires mutex locks during this operation.
Therefore a work queue is added in this change to handle
apply request for offline IFE.

CRs-Fixed: 2606911
Change-Id: Ie893a626bc274d026fb878f1f19830e990be6dc6
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2020-02-19 17:56:44 -08:00
Venkat Chinta
f1a54282cc msm: camera: ife: Improve logs
This change adds more information to existing acquire and
hfr update logs.

CRs-Fixed: 2606911
Change-Id: I1ff4e1cbdd52be6b5c434438772084c4fdb2e80e
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2020-02-19 17:55:27 -08:00
Venkat Chinta
cf19384de7 msm: camera: ife: Change halt type
This commit changes halt type when HVX streamer is
enabled as halting immediately will lead to HVX hang.

CRs-Fixed: 2620821
Change-Id: Iab28cb91018899acec1eb671a87aec05b872391e
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2020-02-19 15:59:36 -08:00
Venkat Chinta
dbdab7dbb0 msm: camera: ife: Change data type for timeout
This commit changes the data type used to capture
wait for completion timeout return value from
integer type to the more appropriate unsigned
long type.

CRs-Fixed: 2620807
Change-Id: Ifcf54bdee133df5277ce56f0ba85442d32046eac
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2020-02-19 15:58:34 -08:00
Mukund Madhusudan Atre
3abdf420b1 msm: camera: isp: Fix failure due to dereference of invalid ife device
During reset of vfe hw, we are referencing an ife device which might
not be available. Add condition to check ife device validity before
reset.

CRs-Fixed: 2584631
Change-Id: Ibf9e3e0a3696cf006977af60360a964748e8ef38
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2020-02-17 19:27:25 -08:00
Camera Software Integration
3060a9b340 Merge "msm: camera: ife: Assign VC/DT values for CSID TPG" into camera-kernel.lnx.4.0 2020-02-14 13:33:56 -08:00
Venkat Chinta
a753fd0f4d msm: camera: ife: Assign VC/DT values for CSID TPG
This change adds check for CSID TPG to assign VC/DT
values for CSID path.

CRs-Fixed: 2619894
Change-Id: I94b3661e45285cd83b572353a6bcd3f2b04d31c7
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2020-02-12 15:00:47 -08:00
Venkat Chinta
7c25b49bef msm: camera: ife: Reduce CSID reset timeout
This change reduces CSID reset timeout from one second
to hundred milliseconds.

CRs-Fixed: 2619894
Change-Id: I1593b033356fc17c2fc35e962dd193a5537b23b7
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2020-02-12 11:33:31 -08:00
Venkat Chinta
8e79606ada msm: camera: isp: Add support for offline IFE
This change adds new IRQ state machine and updates the acquire
logic to enable offline IFE. This change also adds the fixes
necessary to enable bus read for various buffer formats and
append go command at the end of each packet for offline
context.

CRs-Fixed: 2513939
Change-Id: Ie068670ed11aa6713e8f0cb817e4b5d4c209e696
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2020-02-10 15:50:56 -08:00
Venkat Chinta
131b4115d5 msm: camera: isp: Add support for PHY TPG
This change adds support for PHY TPG version
102 hardware.

CRs-Fixed: 2608550
Change-Id: I92387b08e8a91bb0c6a77b5301ebc30c7cb6f252
Signed-off-by: Vishalsingh Hajeri <vhajeri@codeaurora.org>
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2020-02-10 15:17:44 -08:00
Karthik Anantha Ram
381bb12c68 msm: camera: isp: Obtain timestamp as part of frame header
In use-cases that involve custom HW retrieve the timestamp
for shutter from frame header as opposed to csid registers.

CRs-Fixed: 2524308
Change-Id: I5de789cf939546affbfe6d537d8090982f39189d
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
2020-02-10 14:56:25 -08:00
Gaurav Jindal
e3f5738e43 msm: camera: isp: LDAR Dump ISP information
When user space detects an error or does not receive
response for a request, Lets do a reset(LDAR) is triggered.
Before LDAR, user space sends flush command to the
kernel space.
In order to debug the cause for this situation and to dump
the information, user space sends a dump command to
kernel space before sending flush.
As a part of this command, it passes the culprit request id
and the buffer into which the information can be dumped.
Kernel space traverses across the drivers and find the culprit hw
and dumps the relevant information in the buffer.
This data is written to a file for offline processing.
This commit dumps the IFE, CSID registers, LUT tables and context
information, cmd buffers, timestamps information for
submit, apply, RUP, epoch and buffdones of the last 20
requests.

CRs-Fixed: 2612116
Change-Id: If83db59458c1e5ad778f3fa90cbc730122491c54
Signed-off-by: Gaurav Jindal <gjindal@codeaurora.org>
2020-02-10 14:39:46 -08:00
Camera Software Integration
2460a8e82a Merge "msm: camera: isp: Add support to obtain frame index" into camera-kernel.lnx.4.0 2020-02-10 11:47:28 -08:00
Camera Software Integration
4c9c8a271a Merge "msm: camera: isp: Update IRQ controller names" into camera-kernel.lnx.4.0 2020-02-10 11:47:15 -08:00
Karthik Anantha Ram
5ddf0a5cfb msm: camera: isp: Add support to obtain frame index
This change captures the frame index as part of the IFE top
register space at every epoch event. The index is then notified
to userspace as part of shutter notification.

CRs-Fixed: 2524308
Change-Id: Iac510c452f9ceda86e9f7d69528f22f81e614974
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
2020-02-08 00:15:28 -08:00
Camera Software Integration
0894c95dda Merge "msm: camera: isp: Get packet opcode from hw manager" into camera-kernel.lnx.4.0 2020-02-07 15:14:33 -08:00
Camera Software Integration
d5fa77dbdd Merge "msm: camera: isp: Register dump for first request id" into camera-kernel.lnx.4.0 2020-02-07 15:13:41 -08:00
Camera Software Integration
ba20c111ed Merge "msm: camera: common: Add component helper support in camera" into camera-kernel.lnx.4.0 2020-02-07 15:13:17 -08:00
Camera Software Integration
182154ab1c Merge "msm: camera: isp: Add epd Blob support" into camera-kernel.lnx.4.0 2020-02-07 15:12:59 -08:00
Ravikishore Pampana
4f1ba0f292 msm: camera: isp: Get packet opcode from hw manager
While processing the user space submitted isp packet,
isp context need to know the packet opcode.
Get the opcode from the hw manager than the direct accessing the
opcode from packet.
Ife umd sends different opcodes then tfe umd. Both ife and tfe kernel
packet opcodes are same. So hw manager can consume this differences.

CRs-Fixed: 2585713
Change-Id: I54813af233cd8bfa640f2688c1334510a5b85f1c
Signed-off-by: Ravikishore Pampana <rpampana@codeaurora.org>
2020-02-06 15:13:05 -08:00
Ravikishore Pampana
05378eff25 msm: camera: isp: Register dump for first request id
First request id not getting dump if early pcr is on.
If early pcr is on need to store the parsed register dump descriptor
for first request id which comes as init packet.

CRs-Fixed: 2595702
Change-Id: Icbf94d65b5c35cdf47044d770c7db7093001d506
Signed-off-by: Ravikishore Pampana <rpampana@codeaurora.org>
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2020-02-06 13:01:12 -08:00
Mukund Madhusudan Atre
5cb000ee7f msm: camera: common: Add component helper support in camera
Due to the asynchronous nature of platform probes, inter
dependency between drivers needs to be taken care during
kernel boot up. Component helper provides the facility of
adding matching drivers in a list ordered in the way we want
to bind those drivers. The CRM driver acts as component master
to make sure all slave drivers are bound before it returns
from its own bind call. Add support for serializing platform
probes through component framework.

CRs-Fixed: 2584631
Change-Id: I345da1d2b9cccf6021ac6fc899143013b7714ec4
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2020-02-05 22:58:13 -08:00
Prakasha Nayak
8dc1774e8b msm: camera: isp: Add epd Blob support
This change adds blob support to disable CSID EOT IRQ
in case of high data rate sensors which sends
EPD instead of EOT.

CRs-Fixed: 2566158
Change-Id: I8ac6d2281a6510d3702f3b651e2c7ca2391afe6c
Signed-off-by: Prakasha Nayak <pnayak@codeaurora.org>
2020-02-05 14:14:57 -08:00
Gaurav Jindal
14b75bff2d msm: camera: isp: Add support for IFE2
Add support for IFE2 hardware in ife hw manager, bus files.

CRs-Fixed: 2571273
Change-Id: I6193b70707b15282b8d819e8dda5eb2e5fc4c345
Signed-off-by: Gaurav Jindal <gjindal@codeaurora.org>
2020-02-05 10:49:16 -08:00
Karthik Jayakumar
c1eedf8be5 msm: camera: isp: Update IRQ controller names
Fixes debug log printing of IRQ controller names from within
interrupt.

CRs-Fixed: 2584631
Change-Id: I0df94603f31fa2fb56464938e1a28fda470e4a27
Signed-off-by: Karthik Jayakumar <kjayakum@codeaurora.org>
2020-02-04 19:01:18 -08:00
Camera Software Integration
0da9c03755 Merge "msm: camera: ife: Remove reset type override" into camera-kernel.lnx.4.0 2020-02-04 15:19:15 -08:00
Camera Software Integration
3fc621826d Merge "msm: camera: isp: Add check for cid acquire" into camera-kernel.lnx.4.0 2020-02-04 15:19:06 -08:00
Camera Software Integration
bd60f847ef Merge "msm: camera: isp: Mask unused rdi interrupts" into camera-kernel.lnx.4.0 2020-02-04 15:18:31 -08:00