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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Add camera config support for BENGAL target.
CRs-Fixed: 2531589
Change-Id: Ie0afa4acdcdcde2286a56f802b4f8246e711503f
Signed-off-by: Suresh Vankadara <svankada@codeaurora.org>
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>
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>
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>
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>
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>
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>
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>
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>
EIS have 6 fences per request and uses 15 frame window. On camera close
it signals ~90 fences at once. This can overflow v4l2 event queue.
Increase v4l2 queue length for sync events to prevent overflow.
CRs-Fixed: 2498880
Change-Id: Ie886318168e326c1525b4f8be5cacc5f70d0c477
Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>
Do not clear the irq bits that are not handled by the bus irq
controller. Clearing all bits by buf_done irq controller may
clear RUP bit without handling, resulting missing RUP.
CRs-Fixed: 2519423
Change-Id: I65c5efeafbda8f5face50e8c17078269daa37767
Signed-off-by: Pavan Kumar Chilamkurthi <pchilamk@codeaurora.org>
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>
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>
This change adds event count in the error log that is printed
when difference between the counts for the two full IFEs is
greater than one in dual IFE mode.
CRs-Fixed: 2513939
Change-Id: I4346406f36eae72e55f07bdb185a7f85566a4f37
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
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>
Currently CSID path resource enum is being used to convert
resource ID to path to notify UMD of acquired resources. This
change addresses this inaccuracy.
CRs-Fixed: 2513939
Change-Id: I8d31904dd9b8b500c3f4504142b153151cdcee71
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
Current sanitary checks for integer overflow exhibit incorrect
behavior if number of RDI/paths paths are filled in as zero.
This change addresses that.
CRs-Fixed: 2513939
Change-Id: Ib4cf369971f2d50be0ec167ff78f46fb0d985b33
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
This change provides a template to add any custom HW
block.
CRs-Fixed: 2515662
Change-Id: Ie707c27950a330658cdaa4b64b7e304f4d62a5b2
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
This change adds support for custom csid HW and
programming of user defined interfaces (UDI) in
custom csid block.
CRs-Fixed: 2515662
Change-Id: I4b226b3a3787fbc3e56eb285e9a4dbd6d62edefa
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
This change adds a dentry to enable req dump in the case of
hardware errors.
CRs-Fixed: 2513939
Change-Id: I0ae5d6c658964bf33d0e4c1775413aaa9201f7a1
Signed-off-by: Venkat Chinta <vchinta@codeaurora.org>
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>
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>