While dumping information about already acquired IFE hw manager contexts,
we are iterating over IFE out resource list and SFE out resource list. Use
of 'max_ife_out_res' and 'max_sfe_out_res' has scope of reaching out of
bound and access unallocated memory.
This change makes use of number of IFE and SFE out resources stored in the
IFE hw manager context to iterate and dump the information properly and
thus solving the out of bounds access.
CRs-Fixed: 3550510
Change-Id: Ifeb7702209958f067a601ca591bb273820e98e1c
Signed-off-by: Abhilash Kumar <quic_krabhi@quicinc.com>
Reinitialize active list only after the flush call to the
respective driver's HW layer.
CRs-Fixed: 3546603
Change-Id: Ib0a5cb208147d2c81717188e89acb5eba474b454
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
camera-kernel:
1f51485c Merge "msm: camera: isp: csid test bus change" into camera-kernel.lnx.dev
9df50da9 Merge "msm: camera: utils: Add support for LowSVS_D1" into camera-kernel.lnx.dev
d3a99aba Merge "msm: camera: smmu: Do not remap a buffer to the same device" into camera-kernel.lnx.dev
5e3aed7f Merge "msm: camera: isp: Change error print into rate limit logs" into camera-kernel.lnx.dev
6d86a147 Merge "msm: camera: isp: Remove redundant CSID global SW reset" into camera-kernel.lnx.dev
5f8210ea Merge "msm: camera: csiphy: Refine MINK API usage for secure camera" into camera-kernel.lnx.dev.
Change-Id: I87ba80a2810c02aa8b31b84bb99a01a7e00432a5
Signed-off-by: hchintal <quic_hchintal@quicinc.com>
setting value to reset controller, which issues the sync reset to all,
CSID registers and also sends reset to bus.
CRs-Fixed: 3550726
Change-Id: I897d3db876149337864c9889fb99d89d9df3ac43
Signed-off-by: Soumen Ghosh <quic_soumeng@quicinc.com>
When the camera subsystem is powered on (titan_top), async reset
is issued thereby ensuring clean state for all CSIDs. At the
start of the use-case, issuing a sync global SW reset is
redundant, and can be avoided. At the end of the use-case, issue
a SW sync global reset thereby ensuring all SWI registers are
wiped out for the CSID and all connected cores. The sync global
reset also ensures the rx decoder is also reset.
CRs-Fixed: 3545161
Change-Id: I0f5e25bad8508f72b2a0395df4dafc368f71243c
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
Currently, lowest clk voting level supported is LowSVS, this
change will add support to a lower voting level, LowSVS_D1.
CRs-Fixed: 3480799
Change-Id: Ibdfe9d1d05aa45439a537cebe828cceea83f39d4
Signed-off-by: Atiya Kailany <quic_akailany@quicinc.com>
If a buffer is already mapped to a device or a context bank,
do not try to map it again. This causes inconsistency between
the number of times it is attached and detached.
CRs-Fixed: 3510467
Change-Id: I1cfa5bc68edae1147562c3bbf3609c278d837bcd
Signed-off-by: Vijay Kumar Tumati <quic_vtumati@quicinc.com>
Use MINK API for all the targets that support domain ID and
use legacy API for all other targets. In addition, use a
target based macro to not compile the MINK API for the
older targets where those APIs are not defined.
Change-Id: I0d8f05df6ca8126db1e3ad8456fe78aa77a33ebf
CRs-Fixed: 3529425
Signed-off-by: Vijay Kumar Tumati <quic_vtumati@quicinc.com>
This change removes icp dev type info when
logs have icp ctx string. Because icp string
includes dev type info.
CRs-Fixed: 3542004
Change-Id: Ib7464b3937aaddf0efc27d731865a1631e8cf9cc
Signed-off-by: Wang Kan <quic_wkan@quicinc.com>
This change changes csiphy datarate default channel from std to short.
CRs-Fixed: 3534590
Change-Id: I52cb37fc89c770795fc1fbec57c91eeb6ab379f7
Signed-off-by: Wang Kan <quic_wkan@quicinc.com>
Due to the scheduling delay, the top half was getting delayed for
buff-done events. 2 different requests buff-done is merged due to
top half delay and we incremented 2 times deferred ack due to merger
of buff-done events. This check will prevent duplicate deferred
ack increments.
CRs-Fixed: 3477436
Change-Id: If6bbd460a0a1025758f330f26eaf1099de2daa38
Signed-off-by: Chandan Kumar Jha <quic_cjha@quicinc.com>
Currently, in_interrupt() is used to determine task context.
in_interrupt() would return 0 if the execution is in task context;
a spin lock is obtained with bh disabled. Since the bh's are disabled,
the preempt count/soft_irq disable count would increase.
When we attempt to release the lock, the same in_interrupt() API
would now return non-zero, failing to release the lock.
The change uses appropriate preempt API to determine execution context.
CRs-Fixed: 3509317
Change-Id: I43f981bf3a2d4c238cebc4b29fa8a9aa0a8e0df3
Signed-off-by: Soumen Ghosh <quic_soumeng@quicinc.com>
camera-kernel:
e85ad3c0 Merge "msm: camera: cpas: correcting the enum value of LLCC staling mode" into camera-kernel.lnx.dev
8e322a66 Merge "msm: camera: tfe: Add support for TFE BW limiter" into camera-kernel.lnx.dev
9d5020dc Merge "msm: camera: common: Partial Camera Support" into camera-kernel.lnx.dev
cd3c0373 Merge "msm: camera: csiphy: Add support for long and short channel" into camera-kernel.lnx.dev
bd93b3e1 Merge "msm: camera: isp: Add notify frame skip for bubble applied substate" into camera-kernel.lnx.dev.
Change-Id: I127380dd9ccad3a4ab0da86f65d5c8d60febfbde
Signed-off-by: hchintal <quic_hchintal@quicinc.com>
This change to add the camera internal LLCC staling mode enum,
rather than using direct kernel LLCC enum.
CRs-Fixed: 3523216
Change-Id: I81b5f0b84a2dd429061cc45bcaea198d909b2364
Signed-off-by: Soumen Ghosh <quic_soumeng@quicinc.com>
All the IRQs are masked out at the start of the stop sequence.
When unsubscribing for respective IRQ controllers, only clean up
internal data structures without impacting the mask registers.
CRs-Fixed: 3535921
Change-Id: I7f05867f07fcfabe065269734c67c5e11e0a9fe2
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
When ois get stop op code and the state is not in start,
we need return directly and don't set state to config.
This change also adds ctrl mutex init when ois i2c
component bind.
CRs-Fixed: 3520698
Change-Id: I0041f9aa3af250d449f7b757791ef684fa1b385f
Signed-off-by: Wang Kan <quic_wkan@quicinc.com>
Config different channel settings according to the flag
including short and standard channel.
CRs-Fixed: 3441333
Change-Id: I90ae6f941debcd63ecad1e24363997c19bad59ca
Signed-off-by: Wang Kan <quic_wkan@quicinc.com>
For sHDR usecase, we may enter bubble applied substate, then
isp trigger bubble recovery again, we need isp to apply default
setting in this case. This change adds notify frame skip interface
for bubble applied substate to apply the default settings.
CRs-Fixed: 3533564
Change-Id: Ie82aa73786902328b21909ba958d0a225ed49916
Signed-off-by: Depeng Shao <quic_depengs@quicinc.com>
This change fixes below issues:
1. When we handling hw err irq, hw info of vfe and sfe should be dumped
based on res_id. However, the res_id that passed to handle_hw_err
function was invalid, which results the dump operation fail to execute.
2. If the error that SFE RD encountering is not the type of violation,
it will return a NULL pointer of ctx and causing fail to notify hw mgr.
3. When facing multiple errors on different out ports, it's only able to
notify hw mgr to handle one of them and ignore the rest, which results
failing to respond to all the errors.
CRs-Fixed: 3446685
Change-Id: I6861a3e7565e4aff2ebd2e5fbf589f406e65f517
Signed-off-by: Stark Lin <quic_starlin@quicinc.com>
This change creates a sysfs entry(subparts_info) which
has info about number of IFEs, IFE-LITEs, SFEs & CUSTOM,
whose values are populated in their respective drivers.
Also, validates whether a particular IFE, SFE and CUSTOM
is supported or not. Based on this, probe of IFE, SFE and
CUSTOM drivers will happen accordingly.
CRs-Fixed: 3482745
Change-Id: Iff6e79a7793b14b1f368f215020617f10dbd4bb5
Signed-off-by: Karthik Dillibabu <quic_kard@quicinc.com>
Add a goto label to fine-grain situations where
buffer tracker list is to be freed, and when it
doesn't, where the submitted packet request id
is less than or equal to request that was last
flushed, as this call will cause null pointer
access.
CRs-Fixed: 3507867
Change-Id: I1b909473baf7a227bbd649e4c883daa485602cd9
Signed-off-by: Li Sha Lim <quic_lishlim@quicinc.com>
The function cam_mem_mgr_release can unmap buffers when in use.
This change with cam_mem_put_cpu_buf prevents unmaping the buffers in use.
CRs-Fixed: 3489559
Change-Id: I3a0d7ee0d3e86a2a315bc44e15ca298e71d62ffd
Signed-off-by: illa lakshmi soujanya <quic_illa@quicinc.com>
This change will allow clients voting through mmrm to use the new mmrm
api and vote according to their drv_type. This change affects
registering, unregistering and setting the clk rate to sw and
hw clients.
CRs-Fixed: 3385745
Change-Id: I11f76a0de3ba0d8d969093725d4c528afef51373
Signed-off-by: Atiya Kailany <quic_akailany@quicinc.com>
The function cam_mem_mgr_release can unmap the buffers when in use.
This change prevents unmapping the buffers when in use.
CRs-Fixed: 3489559
Change-Id: I2e72e795d39ac15abfa56c19043c419a03686966
Signed-off-by: Shivakumar Malke <quic_smalke@quicinc.com>
If no valid axi BW request is found in 6 continuous requests, the axi
bw vote will remain unchanged, causing BW reduction fail to execute,
and error axi vote log will be printed per request. We need to vote
current request even it's zero to do reduction in this case.
CRs-Fixed: 3507989
Change-Id: Ibf81bc7098ae2599c0fc3d31537c58e18e781704
Signed-off-by: Stark Lin <quic_starlin@quicinc.com>
This change fixes a known issue:
Operands in a bitwise operation have different size.
CRs-Fixed: 3523401
Change-Id: Ic7ef67a5bc5413c137fee7693efb2d7ad53ceb50
Signed-off-by: Stark Lin <quic_starlin@quicinc.com>
Now isp state monitor is moved into dbg_monitors, but some function
is still using isp state monitor in struct cam_isp_context. we should
use isp state monitor in dbg_monitors and need to remove isp state
monitor from struct cam_isp_context.
CRs-Fixed: 3514701
Change-Id: Ib993f25234654ad5be74617d6ddb82355ece33bc
Signed-off-by: mingpan <quic_mingpan@quicinc.com>
camera-kernel:
7658ef4a Merge "msm: camera: cpas: handle return value in cpas start sequence" into camera-kernel.lnx.dev
7a9a0042 Merge "msm: camera: isp: Add support for composite config in csid v980" into camera-kernel.lnx.dev
328af2b1 Merge "msm: camera: uapi: Add support for composite config in CSID v980" into camera-kernel.lnx.dev
445799d8 Merge "msm: camera: isp: Add UAPI to get RCS flag" into camera-kernel.lnx.dev
Change-Id: I29330bfa8bcba1484d8379e89f7ff21c30f51ce3
Signed-off-by: hchintal <quic_hchintal@quicinc.com>
On v980, context-based IPPs are introduced, per TFE hw. This
change programs the IPP_IRQ_COMP_CFG0 register, which has
information on how the IPP ctxt paths from CSID (post CAMIF)
are mapped to the ctxt paths in TFE.
Since this information can change dynamically, per frame basis,
this is programmed by UMD through command buffer. This change
provides the support for it.
CRs-Fixed: 3321317
Change-Id: I845bba4b7fd09eeb42821b5b7f1cbc6022abe631
Signed-off-by: Li Sha Lim <quic_lishlim@quicinc.com>
Signed-off-by: Gaurav Jindal <quic_gjindal@quicinc.com>
Signed-off-by: Mukund Madhusudan Atre <quic_matre@quicinc.com>
Signed-off-by: Suraj Dongre <quic_sdongre@quicinc.com>
New register IPP_IRQ_COMP_CFG0 needs information regarding active
contexts in CSID CAMIF, and TFE from userspace. This change
provides the support for it.
CRs-Fixed: 3321317
Change-Id: I9cd85a4392f4f5602c3865526acc3bc13cbf8472
Signed-off-by: Li Sha Lim <quic_lishlim@quicinc.com>
RC value is getting modified during CPAS start in error
scenario. Handle return value which helps to retain
the original rc value.
CRs-Fixed: 3477436
Change-Id: I7006c60c1c5903c85f18f6eb385859b43b0cedc9
Signed-off-by: Chandan Kumar Jha <quic_cjha@quicinc.com>
Few ports with UBWC needs RCS enablement. This commit adds
hint from userland to indicate if RCS can be enabled. This
information is passed as a part of acquire.
CRs-Fixed: 3321317
Change-Id: Ic7375de0091ab3aebec70cc521be85585362555d
Signed-off-by: Gaurav Jindal <quic_gjindal@quicinc.com>
camera-kernel:
2fb1d4b5 Revert "msm: camera: isp: Add support to stream on csid for v980 hw".
Change-Id: I9d0ef82694f21aa3b7fc40d1e1a1afd5af839696
Signed-off-by: hchintal <quic_hchintal@quicinc.com>
Add support for camera modules to be built,
with Bazel DDK framework for pineapple.
CRs-Fixed: 3378634
Change-Id: I9f1d7562ea3aad6e0c198e3818099fc9f6b4aa97
Signed-off-by: Soumen Ghosh <quic_soumeng@quicinc.com>
Add support to allocate IPP1/2 resources and handle corresponding
configuration. Add support to skip camif and cfg1 register
programming so that the cmd buffer settings could take effect.
CRs-Fixed: 3321317
Change-Id: I959666aa14618741148320a50e53f252882b6874
Signed-off-by: Mukund Madhusudan Atre <quic_matre@quicinc.com>