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>
Address the inconsistency in a function prototype
across multiple kernel versions.
Change-Id: Ib5d3c3df74a89a019b0f1f858746888ce0101512
CRs-Fixed: 3509086
Signed-off-by: Vijay Kumar Tumati <quic_vtumati@quicinc.com>
Signed-off-by: wasikhan <quic_wasikhan@quicinc.com>
Dump cpas vote info when CRM dump request, just like
cam_req_mgr_dump_state_monitor_info.
CRs-Fixed: 3441303
Change-Id: Ic5c2e671a27593ef1c25fa650c2148dd88c9968f
Signed-off-by: mingpan <quic_mingpan@quicinc.com>
When crm close, call free link which free in_q.
The in_q ptr is null. It will result in null
in_q ptr deref when call notify trigger. So need
add spin lock to protect req data.
CRs-Fixed: 3488142
Change-Id: I25101f00e07bd56f1449085f2c6ce3ce3141adc3
Signed-off-by: Wang Kan <quic_wkan@quicinc.com>
Use SCM 7 call during the process shutdown. This is to
workaround a race condition between the close of camera FD
and the invoke driver FD that leads to a device crash.
Additionally, keep the Domain ID clocks on only during
protect or unprotect operations.
CRs-Fixed: 3509086
Change-Id: Ic091aa737df10bb2b41190c2f850c31fd17af9b2
Signed-off-by: Vijay Kumar Tumati <quic_vtumati@quicinc.com>
Add support to pre-process acquire information for csid ipp
paths, and make sure correct resource is acquired. Add support
to have destination mask consolidated for camif resource in vfe.
Add hw context id info for vfe output resource acquire. Add
support for exceptions in context config for certain bus ports.
CRs-Fixed: 3321317
Change-Id: I5a812c29c1aaa72d186d0398a024c0da76ec862b
Signed-off-by: Mukund Madhusudan Atre <quic_matre@quicinc.com>
Signed-off-by: Suraj Dongre <quic_sdongre@quicinc.com>
problem:
scm calls to enable/disable SAFE signal introduced due to HW limitation
in some targets from ife causing overall system delay whenever
camera starts and other HW components also making scm calls.
solution:
prevent redundant SCM calls for SAFE signal.
CRs-Fixed: 3511194
Change-Id: Ib6692d599e9ec9e9182a9e6eb0aef52322cbfdef
Signed-off-by: Pranav Sanwal <quic_psanwal@quicinc.com>
IFE cpas state monitor enhancement by printing ctx id,
hw index, frame id, event id and request id.
CRs-Fixed: 3368290
Change-Id: I41a01382ec2bc6f0c7b9f89c8bb20da42774a65c
Signed-off-by: Wang Kan <quic_wkan@quicinc.com>
camera-kernel:
1f7b1774 Merge "msm: camera: isp: Add Multi Context IRQ support in CSID Driver" into camera-kernel.lnx.dev
b1dd6a97 Merge "msm: camera: isp: Add support for Multi Context IO Buffer Config" into camera-kernel.lnx.dev
2594b82b Merge "msm: camera: isp: Transfer rightly hw err info from ife to isp ctx" into camera-kernel.lnx.dev
8d5f3851 Merge "msm: camera: sensor: Add process evt interface for i2c sensor" into camera-kernel.lnx.dev
877b58c6 Merge "msm: camera: common: Fix isp log errs and format errs" into camera-kernel.lnx.dev.
Change-Id: I7b413a292645660f3ea27423ce3390b820f2d8d9
Signed-off-by: hchintal <quic_hchintal@quicinc.com>
Adds support in Multi Context IRQs in CSID Driver.
CRs-Fixed: 3321317
Change-Id: I49e1645b1f655b02e8097158798e23259598b8ee
Signed-off-by: Gaurav Jindal <quic_gjindal@quicinc.com>
In case of multi context supported targets for MC ports,
before configuring the bus related registers, correct context
needs to be configured to update the correct registers in the
respective context domain.
This commit adds support for context selection register
and update the io buffers for each context sequentially.
CRs-Fixed: 3321317
Change-Id: Icd660c2dfa56fad0d349679701a638943a0e833c
Signed-off-by: Gaurav Jindal <quic_gjindal@quicinc.com>
Fix isp log errs and format errs.
CRs-Fixed: 3499636
Change-Id: Ieb5b81b95dea440b1da17cb5bc9be86f75b7c4f6
Signed-off-by: Wang Kan <quic_wkan@quicinc.com>