Commit Graph

162 Commits

Author SHA1 Message Date
Karthik Jayakumar
8d6ec3bf3c msm: camera: uapi: Add camera subfolder
Added a camera subfolder for the UAPI headers to be located in.
This prevents the camera UAPI headers from overwriting upstream kernel
headers.

CRs-Fixed: 2554484
Change-Id: Ie1edbfe585bbd428a6e5d1a40b438d22bd7c06c0
Signed-off-by: Karthik Jayakumar <kjayakum@codeaurora.org>
2019-11-01 14:03:03 -07:00
Abhijit Trivedi
4435861788 Merge upto camera-kernel.lnx.1.0-191021 'quic/camera-kernel.lnx.1.0' into camera-kernel.lnx.4.0
* quic/camera-kernel.lnx.1.0:
  msm: camera: isp: Add log for first SOF in EPCR
  msm: camera: ife: Remove line start addition
  msm: camera: common: Fix compilation issues for 32-bit arch
  msm: camera: ife: Dump ife camnoc debug registers
  msm: camera: csiphy: Enable multi-datarate support for csiphy v1.2
  msm: camera: cpas: Fix TCSR register programming
  msm: camera: isp: Update last applied request ID
  msm: camera: ife: Deinit input mux resources
  msm: camera: reqmgr: Reset the pd tables as part of flush
  msm: camera: ife: Disable early eof strobe
  msm: camera: isp: Set error type to fatal
  msm: camera: isp: Add tasklet index to logs
  msm: camera: isp: Add log in flush
  msm: camera: reqmgr: Logs v4l2 event queue failure
  msm: camera: isp: Correct acquire dump log
  msm: camera: isp: Remove redundant use of spin lock
  msm: camera: req_mgr: Increase device handles in hdl_tbl

Change-Id: I4b60c033f81a767a61c383f2dc3ef1608005b491
Signed-off-by: Abhijit Trivedi <abhijitt@codeaurora.org>
2019-10-22 17:47:55 -07:00
Venkat Chinta
80560aa938 msm: camera: isp: Add log for first SOF in EPCR
This change adds a log for first SOF in early PCR.

CRs-Fixed: 2546941
Change-Id: Iaca8695f0886fecba84e40b06798818b3f864c35
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2019-10-21 16:34:38 -07:00
Venkat Chinta
898869cd11 msm: camera: ife: Remove line start addition
This change removes line start addition to epoch line config.
After CSID crop is applied, the first line that CAMIF
receives is already at the required line and therefore number
of lines for epoch should just be half of the frame width.

CRs-Fixed: 2546941
Change-Id: Ib12b1fc96cedf140672af03862aaf4be65ab38d8
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2019-10-21 16:33:04 -07:00
Trishansh Bhardwaj
35bead08c3 msm: camera: common: Fix compilation issues for 32-bit arch
Fix improper use of divide and modulo operator on 64 bit numbers.
Fix variable type to work with both 32/64 bit arch.

CRs-Fixed: 2543730
Change-Id: Ifa52d46dece3434d41308d284982a0cd8e17cd1b
Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>
2019-10-21 15:46:03 -07:00
Vishalsingh Hajeri
037967bc88 msm: camera: ife: Dump ife camnoc debug registers
ife camnoc debug registers need to dumped only
when bus overflow status is set.

CRs-Fixed: 2538876
Change-Id: I6f886f6e084380de62c0b4acaa48fa02fce01136
Signed-off-by: Vishalsingh Hajeri <vhajeri@codeaurora.org>
2019-10-21 15:45:12 -07:00
Shravan Nevatia
3205f18e3c msm: camera: csiphy: Enable multi-datarate support for csiphy v1.2
Enable support for multiple data rates (2.5/3.5/4.5 Gsps)
for csiphy v1.2 driver.

CRs-Fixed: 2542855
Change-Id: Idbe299aca210e30d732304e77e2a8191c8809f09
Signed-off-by: Shravan Nevatia <snevatia@codeaurora.org>
2019-10-21 15:44:13 -07:00
Trishansh Bhardwaj
a62a432522 msm: camera: cpas: Fix TCSR register programming
Program TCSR_CAMERA_HF_SF_ARES_GLITCH_MASK to ignore
erroneous signals.

CRs-Fixed: 2545751
Change-Id: Ie638136d364372b7a8309af1d9656a8c8b7772fc
Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>
2019-10-21 15:41:45 -07:00
Venkat Chinta
064d662a3c msm: camera: isp: Update last applied request ID
This change updates last applied request ID when init packets
are applied and when stop ioctls are invoked.

CRs-Fixed: 2539888
Change-Id: I113b7897740d6577a4757ce41f9fcb1fff8c56e9
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2019-10-17 14:52:41 -07:00
Venkat Chinta
422de0bbf4 msm: camera: ife: Deinit input mux resources
We must deinit IFE input mux resources before the check for open
count. Without this change the last bus resource is the last to
enter this function when open count reaches zero. So input mux
resources are never deinitialized.

CRs-Fixed: 2545140
Change-Id: I355afce7d631cdb00e3f6da0ba0be40c2e2b63a2
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2019-10-17 14:52:03 -07:00
Karthik Anantha Ram
388c4f7280 msm: camera: reqmgr: Reset the pd tables as part of flush
As part of flush only the request slots were reset, we need
to reset the slots in each of the pd tables.

CRs-Fixed: 2545130
Change-Id: I34054dea2e5849739df9dd0a77d908a9af9fe3be
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
2019-10-17 14:49:13 -07:00
Venkat Chinta
1dfd3efd17 msm: camera: ife: Disable early eof strobe
This change disables early eof strobe for version 480 hardware
due to hardware limitation.

CRs-Fixed: 2545140
Change-Id: I727ba5950911caac76cd2046e9e7c1e6d7ca6d96
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2019-10-16 14:38:41 -07:00
Venkat Chinta
11e7f21754 msm: camera: isp: Set error type to fatal
This change sets error type to fatal by default when hardware
errors occur.

CRs-Fixed: 2545140
Change-Id: Ic530fe460e67b6d5ec26a6d9d5735f4c8b34affc
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2019-10-16 14:38:06 -07:00
Venkat Chinta
49d6a1b3c6 msm: camera: isp: Add tasklet index to logs
This change adds tasklet index to logs which shares a one-one
mapping with ife hardware manager context ID.

CRs-Fixed: 2545140
Change-Id: I879662c9d90e98c604d20d975b4973369ac7a41e
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2019-10-16 14:37:36 -07:00
Venkat Chinta
f8c6095719 msm: camera: isp: Add log in flush
This change adds a log in flush to indicate stop/restart HW complete.

CRs-Fixed: 2545140
Change-Id: I0068f239c5efeb536d60a9de27577d46bdc66edd
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2019-10-16 14:32:49 -07:00
Trishansh Bhardwaj
3619ae634b msm: camera: reqmgr: Logs v4l2 event queue failure
Kernel uses v4l2 events to communicate with userspace.
If userspace is not dequeuing events and kernel is pushing more events
then v4l2_event_queue fails silently.
This change uses v4l2 callbacks to log v4l2_event_queue failure.

CRs-Fixed: 2541894
Change-Id: I98f8f609f615104ec6dde569bf1f39de1eb368fc
Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>
2019-10-15 17:46:51 -07:00
Karthik Anantha Ram
af27416f68 msm: camera: isp: Correct acquire dump log
Print the split id correctly as part of the acquire
failure dump.

CRs-Fixed: 2541667
Change-Id: Ie7156e35458027e24cea1993e487bfe38fcc2324
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
2019-10-14 17:42:14 -07:00
Vishalsingh Hajeri
1aadfe80e8 msm: camera: isp: Remove redundant use of spin lock
Interrupts in activated state machine are already
protected with spin_lock for context. No need to
reuse the spin_lock in interrupt handling routine.

CRs-Fixed: 2538876
Change-Id: Id86e7dc3419861cb8bce143c56923126a3dc3d3e
Signed-off-by: Vishalsingh Hajeri <vhajeri@codeaurora.org>
2019-10-14 17:40:28 -07:00
Mangalaram ARCHANA
259e6f55d0 msm: camera: req_mgr: Increase device handles in hdl_tbl
Increasing device handles to 128 in handle table.

CRs-Fixed: 2532741
Change-Id: I58278026d08865cd7935bf4f0dd04f6a594c6dbc
Signed-off-by: Mangalaram ARCHANA <mangar@codeaurora.org>
2019-10-10 13:33:58 -07:00
Abhilash Kumar
f3af79222b msm: camera: icp: Dump IOCONFIG during io config failure
This change dumps IOCONFIG command for IPE and BPS in case
of io config failure.

CRs-Fixed: 2430046
Change-Id: Iae730f46e4b3f2e327ac10587896a4e755f96a38
Signed-off-by: Suresh Vankadara <svankada@codeaurora.org>
Signed-off-by: Abhilash Kumar <krabhi@codeaurora.org>
2019-10-07 14:40:14 -07:00
Vishalsingh Hajeri
5c2bb43241 msm: camera: isp: Re-apply Bubble request
In certain scenario Buf_done failures are observed
for the request which is in bubble state. Since we
never get bufdone we inadvertently are stuck
in Bubble state. This change will wait for a period
of two frames to receive bufdone and recover from bubble
state. If any bufdone IRQ is never generated within this
time period, we remove the request from active list and
add it back to pending request list.

CRs-Fixed: 2506159
Change-Id: Ibcce21a1a87d0a64e49c6454391ca139fc7d1fa7
Signed-off-by: Vishalsingh Hajeri <vhajeri@codeaurora.org>
2019-10-04 11:58:16 -07:00
Venkat Chinta
8c91109b74 msm: camera: core: Change return type
Return different error number when new requests and update
packets are rejected due to bad request ID. This allows
userspace to differentiate this specific reason for failure.

CRs-Fixed: 2518451
Change-Id: I0400c6f2b2e0baf99bee4b4a3736bb1eab646627
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2019-10-04 11:55:34 -07:00
Venkat Chinta
aa2e549641 msm: camera: ife: Program RDI clients in line based mode
Gralloc allocated buffers are aligned before calculating
stride, which can lead to corruption in frame based mode.
This change programs RDI clients in line based mode when
the output format is PLAIN_16 to prevent this. RDI clients
support only PLAIN128 packing format and this change also
enforces that.

CRs-Fixed: 2513939
Change-Id: Ic079e4cfd34cb4a9a0edc1152ff40565cdab2a81
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2019-10-02 13:11:02 -07:00
Shravan Nevatia
83aa86fe79 msm: camera: csiphy: Sensor: Update cphy 3-phase registers for lito
Update register settings for CPHY mode as per
the latest HPG (revision H).

CRs-Fixed: 2534885
Change-Id: I4caade811792467ef7f3eeba85c4a4f5b9050b11
Signed-off-by: Shravan Nevatia <snevatia@codeaurora.org>
2019-10-02 13:09:18 -07:00
Mukund Madhusudan Atre
102db1e4e5 msm: camera: isp: Fix no reg dump when EPCR is enabled
During second init request of EPCR, number of reg dump
buffers was set to zero causing no reg dump. Add fix to
ensure value is updated to ife ctx when it is non zero.

CRs-Fixed: 2532096, 2532101
Change-Id: Ic16001314522cc5b227fc3c33d899c719fbaeacd
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2019-10-01 13:46:46 -07:00
Haritha Chintalapati
ac8704ffd3 Merge "msm: camera: isp: Stop HW immediately in flush" into camera-kernel.lnx.1.0 2019-10-01 13:46:38 -07:00
Venkat Chinta
aaab1ef87e msm: camera: isp: Stop HW immediately in flush
When the userspace issues flush, ISP driver needs to ensure that
wait and active list requests are flushed and corresponding
buffer fences are signaled with error. For active and wait lists
IFE hardware is stopped immediately. Therefore IFE must also be
reset to ensure that VFE BUS FIFOs are cleared. Start IFE HW
after receiving init packet again.

CRs-Fixed: 2513939
Change-Id: I9a35ce05c24d6b63016e264a870d376eabb2b56f
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2019-10-01 13:45:42 -07:00
Venkat Chinta
92a98f6137 msm: camera: ife: Add packing format support
This change adds packing format field for CSID in IFE Lite for
version 480 hardware.

CRs-Fixed: 2537287
Change-Id: Ifa46b07218fefe46721f99e65291837500c413de
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2019-10-01 13:44:37 -07:00
Venkat Chinta
a5dc6c6cac msm: camera: ife: Do not enable CAMIF by default
This change removes enabling CAMIF and CAMIF Lite module config
programming by default. Henceforth these settings must be
programmed by the userspace by adding them in command buffers.

CRs-Fixed: 2513939
Change-Id: I739a57a392974056f358820f77bc2ae40451d9d6
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2019-09-30 16:36:22 -07:00
Vishalsingh Hajeri
3d8cdd5b7a msm: camera: ife: Assign primary RDI during start HW
This change sets primary RDI source and out resources for a
particular RDI only Context. This information
is utilized during start HW resource to tell the driver
if it should subscribe to IRQs.

CRs-Fixed: 2521064
Change-Id: Ia5567b4432603db993c4783e60721be144c619f9
Signed-off-by: Vishalsingh Hajeri <vhajeri@codeaurora.org>
2019-09-27 18:25:40 -07:00
Karthik Anantha Ram
0eee5ccc3f msm: camera: icp: Handle RT/NRT flags for IPE/BPS device types
The device type is only needed to create the handle with FW,
internally to the KMD we can unify the different device types.

CRs-Fixed: 2534504
Change-Id: I92b77f54556d840f49136ea187df939350951078
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
2019-09-27 14:36:12 -07:00
Venkat Chinta
00abd8feda msm: camera: isp: Add check for last flush request ID
This change adds a check for last flush request ID before adding
bubbled request to pending list. This prevents the request from
sitting in pending list indefinitely.

CRs-Fixed: 2533433
Change-Id: I82d641d42fe507e8eabf0bee0e9a2f0b98d9a802
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2019-09-25 14:30:49 -07:00
Venkat Chinta
f7d89d9bed msm: camera: isp: Disable tasklet once
This changes avoids disabling and killing inactive tasklet.

CRs-Fixed: 2530034
Change-Id: If1b0b04684f9425f742b51e5eb4b6ec8107f2c75
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2019-09-25 14:30:11 -07:00
Karthik Anantha Ram
6761d7b872 msm: camera: cpas: Change to enable bus scaling for AHB
This change scales BW voting with src clock voltage corner.
Adds a debugfs to disable this scaling.

CRs-Fixed: 2531856
Change-Id: I266e34ca81f635954e60648366bcc4792f90fdb6
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
2019-09-25 14:29:41 -07:00
Ravikishore Pampana
2424e34228 msm: camera: isp: Register only one irq handler for rdi only context
If RDI only context has two rdi ports enabled, then register
single irq handler for both ports.
This change help registering only one irq handlers for
rdi only context.

CRs-Fixed: 2521064
Change-Id: I201cf62b73dbfb20636821213afc7f2a4d6cf13c
Signed-off-by: Ravikishore Pampana <rpampana@codeaurora.org>
2019-09-25 14:28:58 -07:00
Depeng Shao
6b38f7e1bf msm: camera: reqmgr: Verify the req of two links
The req of two links should be same if current
frame sync with previous frame of sync link, CRM can
do self-correction based on this condition.

CRs-Fixed: 2492019
Change-Id: Idb208958a850ec1fe12f12443e7ecc2e126970d8
Signed-off-by: Depeng Shao <depengs@codeaurora.org>
2019-09-23 16:11:19 +08:00
Depeng Shao
68b3051037 msm: camera: reqmgr: Add initial sync support
Do the initial sync by SOF timestamp, if the gap
between the initial SOF of link and the last SOF
of sync link is less than half of frame druation,
CRM should abandon this frame since this frame
should sync with next frame of sync link.

CRs-Fixed: 2492019
Change-Id: I204e3ed49bcf4ac7424aaf5109ad5ce3bc3a2789
Signed-off-by: Depeng Shao <depengs@codeaurora.org>
2019-09-23 16:06:50 +08:00
Suraj Dongre
af2756b88f msm: camera: jpeg: Fix jpeg hw hang after flush
Add block formatter reset bit missing from reset cmd.

CRs-Fixed: 2525580
Change-Id: I17afb362d945952ae63c50621058f1c5748281df
Signed-off-by: Suraj Dongre <sdongre@codeaurora.org>
2019-09-21 22:51:53 -07:00
Jong-Guk Im
1500c7dad5 Merge "msm: camera: sensor: Update the flash init structure" into camera-kernel.lnx.1.0 2019-09-21 22:49:45 -07:00
Suresh Vankadara
68c8d11eba msm: camera: config: Add support for BENGAL target
Add camera config support for BENGAL target.

CRs-Fixed: 2531589
Change-Id: Ie0afa4acdcdcde2286a56f802b4f8246e711503f
Signed-off-by: Suresh Vankadara <svankada@codeaurora.org>
2019-09-21 22:49:26 -07:00
Trishansh Bhardwaj
921bdca4b0 msm: camera: isp: Skip reapply of DMI config on bubble recovery
Updating same DMI bank, which is consumed by HW, can result in
violations so during bubble recvery skip  updating DMI config.

CRs-Fixed: 2511286
Change-Id: I1af2dbf2f1b49afcd4276d3f5759e5ba6d8da637
Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>
2019-09-21 22:48:29 -07:00
Jigarkumar Zala
3aac10c09f msm: camera: sensor: Update the flash init structure
Currently there is mismatch of the cmd type byte position for the
flash init structure, which casue the cmd type parsing failure
for early PCR. This change move to cmd type to sixth byte to
support the unificaiton with other flash uapi structures. Also,
update respective header change with respect to uapi change.

CRs-Fixed: 2432102
Change-Id: Ic4899b483b35013c5ad77a8894eb3bb4831de811
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
2019-09-21 22:16:15 -07:00
Mukund Madhusudan Atre
70c486722f msm: camera: common: Fix cpas register for custom hw
The client handle is obtained by providing client identifier
to cpas. Add identifier in custom hw registration for cpas
to recognize client. Also, improve identifier string
validation in cpas register client.

CRs-Fixed: 2528679
Change-Id: I924f5c98a8affa26753710fa542c1bb651d0af13
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2019-09-19 13:30:09 -07:00
Shravan Nevatia
36765c90e8 msm: camera: csiphy: Update combo-mode dphy registers for csiphy 1.2
Update register settings for combo-mode dphy
to fix UNBOUNDED_FRAME csid error observed on
combo-mode sensor.

CRs-Fixed: 2521347
Change-Id: I363ad48fc534aa95cc810bf03a0e4704aff6d07b
Signed-off-by: Shravan Nevatia <snevatia@codeaurora.org>
2019-09-19 13:28:28 -07:00
Venkat Chinta
184ed6286f msm: camera: ife: Add support for RDI crop in dual IFE
This change adds support for RDI crop in dual IFE usecases. The
crop window for RDI is obtained by combining left and right IFE
crop windows and width is calculated based on the crop window.
If crop or drop is needed on RDI, decode format should not be
programmed as payload only in order to enable RPP subpath.

CRs-Fixed: 2513939
Change-Id: Iaaf64784372ef918802a684b33e16845fd7d2b3b
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2019-09-18 13:38:29 -07:00
Prakasha Nayak
2d76f42380 msm: camera: isp: Fix page fault dump for first request
In case of page fault for first request, page fault
information is not dumped since we are not initializing
member variable in case of init request.

CRs-Fixed: 2498880
Change-Id: Ie9ecda7434028e396392f3ac905ae80ae6ad6376
Signed-off-by: Prakasha Nayak <pnayak@codeaurora.org>
2019-09-17 16:19:27 -07:00
Karthik Anantha Ram
b8e35c3397 msm: camera: common: Update AHB vote for camera drivers
As part of cpas start, all drivers will now request for
LOW_SVS as opposed to SVS. The drivers also scale the AHB
vote based on the corresponding HW's src clk voltage.

CRs-Fixed: 2507919
Change-Id: I7fd35e9dd298deb1603812f39d50e4e9390b3aac
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
2019-09-16 15:11:42 -07:00
Abhilash Kumar
3ef8ba0db6 msm: camera: common: Add validation check for cpu buffers before accessing
Add validation check before accessing the packets and configs from
the buffers.

CRs-Fixed: 2360223, 2416463
Change-Id: I9a09bc7064fd7e7914f91576542181c301db926d
Signed-off-by: Abhilash Kumar <krabhi@codeaurora.org>
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2019-09-12 13:45:06 -07:00
Mukund Madhusudan Atre
4329af66bd msm: camera: isp: Add per request reg dump to command buffer
For debugging, user space may request a specified register range
values to be dumped to a command buffer every request. Add
support for reg dump every request during cdm callback. Add debugfs
flag for making sure per request dump is not enabled by mistake.

CRs-Fixed: 2501003
Change-Id: I01a0f3bb00dd122b8037d513ec331c5c08fdf372
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2019-09-10 13:56:35 -07:00
Mukund Madhusudan Atre
e4be9ecbfe msm: camera: utils: Add command buffer validation for reg dump
The command buffer obtained from user has several offsets and
sizes that need to be validated before accessing data. Also,
out buffer offsets need to be checked before writing data.
Add validation checks for parameters in command buffer for
reg dump.

CRs-Fixed: 2501003
Change-Id: I65b37befcefbd7f739663b6142d5d0eedcab25b4
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2019-09-10 13:55:39 -07:00