Due to deferred probes being dpendent on request manager to register
v4l2 subdev, failures are seen if probes are delayed. Change logic
for subdev registration to avoid failures due to delay.
CRs-Fixed: 2584631
Change-Id: Ia01d5d27ff6a6e6dbbb8e3b25b9aa53ac2fa9e38
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
As part of acquire HW, kernel passes the IFE hw_idx to
userspace. This change will enable the capability to pass
the hw_idx of additional IFE HW enabled.
CRs-Fixed: 2582959
Change-Id: I689b99d021c8d0f3440e46d09a5dcda3daaefcfc
Signed-off-by: Vishalsingh Hajeri <vhajeri@codeaurora.org>
For some targets, there is a requirement to have the lower IFE
as master. Current implementation selects the higher IFE as
the master.
This commit changes the acquire logic to reserve the lower IFE
first and then the higher IFE as slave. This logic is for dual
ife use cases. For single IFE use case, acquire logic is not
changed.
Also, removes the hard coded check for master hw index
during the irq handling. Stores the master hw index
in ife hardware manager context and check against it.
Change-Id: Ifd3a28e80a0a4d16e3d9278b7ed61290c620ec79
CRs-Fixed: 2582959
Signed-off-by: Gaurav Jindal <gjindal@codeaurora.org>
Signed-off-by: Vishalsingh Hajeri <vhajeri@codeaurora.org>
Add interface to umd to give an option whether to
disable Delayed Unamp feature for a given buffer
mapping. DelayedUnmap is enabled by default if
umd doesn't explicitly asks for disable.
CRs-Fixed: 2580128
Change-Id: I66f87a9dbdfc4d9cecdc02eb24c1c670c9985cae
Signed-off-by: Pavan Kumar Chilamkurthi <pchilamk@codeaurora.org>
The v4l2 registration requires all devices that are not subdevs
to have device caps field to be non zero. Add device caps for
CRM and SYNC devices during probe.
CRs-Fixed: 2582994
Change-Id: I804e7bc00d597debc39d1f71259cf607c60ed069
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
The static values for AHB bw do not exceed u32, and using u64
parsing function to read it requires unnecessary device tree
changes. Changing parsing function for bw values from 64-bit
to 32-bit version.
CRs-Fixed: 2584631
Change-Id: Ie7c685fd40a0ee390f997fbe6cf3610c2209e3f1
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
When loading the camera FW, use the appropriate APIs
depending on the kernel version to map the FW region.
CRs-Fixed: 2564857
Change-Id: I2104b63b54bce799c8e44f36c49042de86f78c7e
Signed-off-by: Isaac J. Manjarres <isaacm@codeaurora.org>
Signed-off-by: Karthik Jayakumar <kjayakum@codeaurora.org>
Add support for disabling bus scaling by moving bus driver
references from cpas to cam utils. The references can be
switched based on compile time flags in defconfig. Also, add
interconnect support which has bw voting based on source and
destination bus IDs.
CRs-Fixed: 2525881
Change-Id: I2a78523c0cad41503fe32aeb7bf4c794a26b16b6
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
Currently camera modules platform registration/remove function
is being called as a part of module_init function individually.
Building camera as module, current infrastructure cannot support
it, as DLKM only support single module_init/exit function.
This change enables that support by combining all platform
entry/remove functions centrally. Also, remove all submodule
makefiles and combined into one root makefile in order to generate
single kernel object file to dynamically loading the kernel module
in case of DLKM compilation.
CRs-Fixed: 2569808
Change-Id: I59db3ed6cef60123e474db2f222c39836056bd6e
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
Signed-off-by: Karthik Jayakumar <kjayakum@codeaurora.org>
Currently all the modules are compiled based on single config flag.
This change adds the capability for module based compilation
with module based config flag for various targets.
CRs-Fixed: 2569808
Change-Id: I054a555db04d1643b9da2d3f409d009c1fb2da9c
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
Add mandate check in order to compile and use the cx_ipeak
related functionality. Also, update header with stub function.
CRs-Fixed: 2572607
Change-Id: I2e07101f88b6a47ca1733d04b3aa126fdeae176b
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
Replace cma_alloc() api with vmalloc() in order to accommodate
kernel upgrade and DLKM/Builtin support.
CRs-Fixed: 2572607
Change-Id: If8caaefe5ac333998bd8c4868f16e586ee749e8a
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
TFE is thin front end hardware that capture and process the
real time image. Support is added to enable the TFE
hardware.
CRs-Fixed: 2545590
Change-Id: Ie8efef77fabeeea28d70380c398089e6351e35e3
Signed-off-by: Ravikishore Pampana <rpampana@codeaurora.org>
Signed-off-by: Pavan Kumar Chilamkurthi <pchilamk@codeaurora.org>
OPE is camera offline engine, support is added
to enable camera OPE hardware.
CRs-Fixed: 2520602
Change-Id: I8b08ecb34323ee927f2be88707ad65ad2444447d
Signed-off-by: Suresh Vankadara <svankada@codeaurora.org>
Signed-off-by: Ravikishore Pampana <rpampana@codeaurora.org>
Signed-off-by: Pavan Kumar Chilamkurthi <pchilamk@codeaurora.org>
Add register info. initial QoS settings info to program
camera static settings for chipsets having camera v580.
CRs-Fixed: 2528069
Change-Id: I6361140959ef64f35539612cf66604344adaea52
Signed-off-by: Mukund Madhusudan Atre <matre@codeaurora.org>
Old API's returning struct timeval and struct timespec will be
deprecated in future kernel versions as their tv_sec members
will overflow in the year 2038 on 32-bit arhitectures.
CRs-Fixed: 2564616
Change-Id: I6e3e37cf957daca992b66cad1134f49dd78961f5
Signed-off-by: Karthik Jayakumar <kjayakum@codeaurora.org>
Supporting read operation for sensor and
sub modules OIS and actuator.
CRs-Fixed: 2538801
Change-Id: I83ad154dd577d5a664c4d68792a90489e725fbfd
Signed-off-by: Jigarkumar Zala <jzala@codeaurora.org>
Signed-off-by: Sureshnaidu Laveti <lsuresh@codeaurora.org>
Split the acquire in custom node to acquire device and
acquire hw to be in line with IFE for multicamera usecases.
CRs-Fixed: 2524308
Change-Id: I7be7d5227dcd304d095d7e3d7fac32800fecc199
Signed-off-by: Karthik Anantha Ram <kartanan@codeaurora.org>
kref_put causes crash if refcount is zero.
This change prevents crash by checking if refcount value.
CRs-Fixed: 2553290
Change-Id: Ie9a950b289cdb2b8fca8c5d025be540d926eadbd
Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>
CSID hw register reset is done with the the help of
IRQ to make sure it is reset every time before we start
a new session.
CRs-Fixed: 2563958
Change-Id: I33c870003eb1e99d458b7650b5b3218f61cccd3b
Signed-off-by: Tejas Prajapati <tpraja@codeaurora.org>
While start hw, either a fresh start or resume after flush,
reset the overflow pending flag as we reset the hw and start
fresh with applying init packet. In case where overflow happening
at the same time as halt immediately, we set overflow pending
flag to true. Eventhough while halt immediate and resume
scenario, we reset the hw, not resetting overflow pending flag
causes not to apply any new packets while resume.
CRs-Fixed: 2565049
Change-Id: Ia9c871402343306945fe1b8f8373659e52630fe2
Signed-off-by: Pavan Kumar Chilamkurthi <pchilamk@codeaurora.org>
ON receiving HFI_EVENT_SYS_ERROR event_id as part
of sys_error msg and event_data1 is set to
HFI_ERR_SYS_FATAL, trigger the crash.
CRs-Fixed: 2549369
Change-Id: Iddf56f46b2c07a703a787b0dedebd801081c93d6
Signed-off-by: Tejas Prajapati <tpraja@codeaurora.org>
If link is not ready on master epoch, but it becomes ready on slave
epoch, then master skips apply and slave applies request and goes ahead
of master.
Fix this by skipping apply on slave if master slot in not in applied
state.
CRs-Fixed: 2562008
Change-Id: Ic612eedfeedf2a6ea50737a49a6f1f31a5de1dc2
Signed-off-by: Trishansh Bhardwaj <tbhardwa@codeaurora.org>
Adding CRM interface to stop SOF timer from isp during flush.
During flush hardware is getting stop and will not send SOF
notification to CRM so need to pause SOF timer. Whenever SOF
timer will get expire,do not need to send error to UMD during
pause time.
CRs-Fixed: 2564389
Change-Id: I6d85f2c658c30dbe211f0ec9d83bca323a5c265b
Signed-off-by: Chandan Kumar Jha <cjha@codeaurora.org>