Graf commitů

22 Commity

Autor SHA1 Zpráva Datum
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
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
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
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
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
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
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
Depeng Shao
99709eacd2 msm: camera: isp: Reset rdi only context flag
Reset rdi only context flag during releasing device,
otherwise it will affect non-rdi context at next time.

CRs-Fixed: 2519406
Change-Id: I904f0cae664a7530b2b85342c9a6daba579cbccc
Signed-off-by: Depeng Shao <depengs@codeaurora.org>
2019-09-04 13:54:50 -07:00
Venkat Chinta
19d814458b msm: camera: isp: Send notification to userspace
ISP driver must notify the userspace when any hardware error occurs
so that the userspace knows when to use the register dump.

CRs-Fixed: 2513939
Change-Id: I0d9ba9a22c6f2494ba3cc837513b8989c6cc1119
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2019-09-03 13:48:30 -07:00
Karthik Anantha Ram
72eeacf17a msm: camera: common: Change log type to WARN
When a request setting could not be applied by any device
on the link, it does not indicate a fatal error. It only
leads to a frame drop. Changing the apply failure logs to
warn as opposed to error.

CRs-Fixed: 2514752
Change-Id: Idbca2dbb06b0bbb4c380264cf31b665188306396
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
2019-09-03 13:47:12 -07:00
Depeng Shao
598dfb05af msm: camera: isp: Correct the active req cnt assignment order
We need to reset the active req cnt before assigning
new value. Also move the log behind the active req cnt
assignment.

CRs-Fixed: 2517421
Change-Id: I38f418f79f5f1adcb8b29bc870f904cd1f925bfc
Signed-off-by: Depeng Shao <depengs@codeaurora.org>
2019-08-29 11:17:32 +08:00
Depeng Shao
95460b8f2e msm: camera: isp: Fix RDI only early PCR issue
RDI only context also need to get req from
wait_req_list afte received RUP event in early
PCR case.

CRs-Fixed: 2511798
Change-Id: If2e8da36cf83dee1c348dd0d6c6ea916061a376e
Signed-off-by: Depeng Shao <depengs@codeaurora.org>
2019-08-27 14:46:30 -07:00
Karthik Anantha Ram
03e52e70d6 msm: camera: isp: Dump previous acq ctx info on acq failure
In case acquire hw fails, dump the previously acquired
streams to infer the reason for the failure.

CRs-Fixed: 2512474
Change-Id: I3ee2b85e0843ab4a605625950dc60366c0b50713
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
2019-08-23 12:50:39 -07:00
Pavan Kumar Chilamkurthi
6bf14f8fd4 msm: camera: isp: Look at next request for BUF_DONE event
If the resource for which BUF_DONE event has come is already
signalled in the oldest request, this BUF_DONE could be for
the next request in the list. This can happen if the IRQ
handling for BUF_DONE is delayed and by the time it is handled
if the resources for the next request are already signalled
along with other pending resources for the oldest request,
we might handle resources which corresponds to next request
first. If we do not look into next request and thus if we
ignore these BUF_DONEs, we will never be done with the next
request.

Change-Id: I1b20aff0a68172bc8794d2c37f088ba2539d173d
Signed-off-by: Pavan Kumar Chilamkurthi <pchilamk@codeaurora.org>
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2019-08-16 17:41:58 -07:00
Venkat Chinta
e8ceba2d02 msm: camera: isp: Send shutter notification
Shutter notification must be sent when moving request
to free list if it was not sent out earlier due to
missed EPOCH IRQ or delayed EPOCH IRQ handling.

Change-Id: I9b3b039827bea24814fbea34e61abfc938f6bf2d
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2019-08-16 17:41:06 -07:00
Mukund Madhusudan Atre
827791eafa msm: camera: Add support for reg dump to command buffers
Certain register values are required by user space during flush
to apply settings accordingly. Also, support for dumping registers
at the time of error is needed for debugging. Add support for
dumping register values in a range of offsets to given cmd buffer.

Change-Id: I5912118809f7a7dd701a555639d1057ffe665ce1
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2019-08-08 20:18:36 -07:00
Vishalsingh Hajeri
b2bd543adf msm: camera: isp: Dump page fault info for pending request
If bubble report is set from usersapce we move the active
request back to pending request list while handling error.
We need to iterate through pending request list as well
when dumping page fault info for erroneous request.

Change-Id: I2458313affbae6cb161f077eef7bdd0263c43ae2
Signed-off-by: Vishalsingh Hajeri <vhajeri@codeaurora.org>
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
2019-08-08 15:37:57 -07:00
Venkat Chinta
a6efb05c3f msm: camera: isp: Move req out of pending list before start
This change moves init request out of pending list before
starting hardware. Currently if we receive the first SOF and
RUP IRQs before start_dev routine has completed, we miss
pushing out the init request to free list on the first RUP as
wait list will be empty.

Change-Id: Icd53e0ebe0d12e264172058d836e6ccfcb7df0c2
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
2019-08-06 12:22:04 -07:00
Jigarkumar Zala
2c55550c19 msm: camera: isp: Add debugfs parameter for state monitor dump
This change adds a debugfs parameter to enable isp context state
monitor dump rather than always print by default. This change
also changes isp context substate to HALT only after stop hw
is complete.

Change-Id: I1025a46e9be63b4ee5808c2eb44672687d901c2e
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
2019-07-09 10:33:52 -07:00
Jigarkumar Zala
40047f58df msm: camera: core : Validate the dev name during the node ioctl handler
Validate the context device name with node name. If device name is
not matching return the error.

Change-Id: I8dee4e6f64e17b0d1e486077a2c8b0df562a702e
Signed-off-by: Rishabh Jain <risjai@codeaurora.org>
2019-07-09 10:33:30 -07:00
Jigarkumar Zala
05349feaa2 Camera: Bring over camera driver changes
Bring over camera driver changes as of msm-4.19
commit  5a5551a7 (Merge "msm: camera: reqmgr: Fix CRM
shift one req issue").

Change-Id: Ic0c2b2d74d1b3470c1c51d98228e312fb13c501a
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
2019-07-08 10:24:55 -07:00