QCOM_ICE_INVALID_CCFG_ERR_STTS is now also dumped in case of error
for ICE 3.0
Change-Id: Ib7f522d0143f5131880c8c1badf4e64461810e72
Signed-off-by: Andrey Markovytch <andreym@codeaurora.org>
Add support for AFE encoder configuration.
Add new mixer controls to support AFE input channel
and encoder configuration.
Add support in AFE to set the encoder and input
channel configuration.If encoder configuration is set
ADSP will encode the PCM steam and send over backend.
Change-Id: I56581533ffff3b61f5b5ee128841ab61b62674d7
Signed-off-by: Naresh Tanniru <ntanniru@codeaurora.org>
Add support of route control to set ADM input channel
config. This is used to help open adm with different
channel config compare to AFE output.
Add new mixer command to override adm channel count set
by hw_params. This is useful in cases where BE hw_params
is different from the ADM channel configuration for cases
such as A2DP exercising ADSP path.
Change-Id: I93ad53016a28efe0d8592ac0092d6c8896a66072
Signed-off-by: Naresh Tanniru <ntanniru@codeaurora.org>
In soundwire control drivers, some pointers are not
set as NULL after the memory is freed, which will
leave many dangling pointers. Set them to NULL
explicitly to avoid potential risk.
CRs-Fixed: 997062
Change-Id: I18bd73397173187f87af28c78564835eed6d6a10
Signed-off-by: Meng Wang <mwang@codeaurora.org>
In wcd core drivers, some pointers are not set as NULL
after the memory is freed, which will leave many
dangling pointers. Set them to NULL explicitly to
avoid potential risk.
CRs-Fixed: 997062
Change-Id: I5dd4a9dd8f757d0850d75575d7e522e2a22f46f3
Signed-off-by: Meng Wang <mwang@codeaurora.org>
In machine drivers, some pointers are not set as NULL
after the memory is freed, which will leave many
dangling pointers. Set them to NULL explicitly to
avoid potential risk.
CRs-Fixed: 997062
Change-Id: Ifa27a21cb76688101b758a34eddf69b160c27c79
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Currently when selecting a PDO the request object is specifying
900mA as the operating current, which is suboptimal if the
supply is capable of more. Instead, simply request for the
maximum available. In the case where a PDO does not meet the
minimum current, set the capability mismatch flag and indicate
the required amount via the maximum field in the request.
Change-Id: I521059ab1c1d95df95fdede84512e73c5d9b2329
Signed-off-by: Jack Pham <jackp@codeaurora.org>
In codec drivers, some pointers are not set as NULL
after the memory is freed, which will leave many
dangling pointers. Set them to NULL explicitly to
avoid potential risk.
CRs-Fixed: 997062
Change-Id: I1fde78158af71d57c958ac9f5668d4b65c9a7a3f
Signed-off-by: Meng Wang <mwang@codeaurora.org>
Update the graphics and multimedia clock frequencies and FMAXes
to align with the v2 and vq frequency plans. While doing so,
remove support for the gpu_pll1 PLL since it is not going to be
used to generate any frequencies.
CRs-Fixed: 1051170
Change-Id: I4d6547d95bd76d8ca6f4d729009d8b4a78716d5b
Signed-off-by: Deepak Katragadda <dkatraga@codeaurora.org>
Set the memory retention flags for certain hardware clocks to
save power. Memory does not need to be retained for these
clocks since the driver reinitializes the FD hardware
whenever the clocks are turned on.
CRs-Fixed: 1044373
Change-Id: I7ffa9d7bd9c39696b2ca0c688fdc13ce947ae1c7
Signed-off-by: Gautham Mayyuri <gmayyuri@codeaurora.org>
Set the memory retention flags for certain hardware clocks to
save power. Memory does not need to be retained for these
clocks since the driver reinitializes the jpeg hardware
whenever the clocks are turned on.
CRs-Fixed: 1044373
Change-Id: Idd83064eaea2dee48b78a352a715633c04347217
Signed-off-by: Gautham Mayyuri <gmayyuri@codeaurora.org>
The axi clock is needed while voting for bus bandwidth and needs
to be turned on along with other cpp clocks, Remove cpp rcg clk.
CRs-Fixed: 1044777 1044373
Change-Id: I644cdf84c6cf71bcb8f4ea24c0efb9a3603ca435
Signed-off-by: Gautham Mayyuri <gmayyuri@codeaurora.org>
GDSC driver is removing control for USB memory power states.
DWC driver need to explicitly call clk_set_flag() API to turn
off both memory core and periphery upon vbus off. When core
clock is turned on both of them will be turn on automatically.
Change-Id: I7e442daf51c6ece39b8fe5cc8a38d3405163c9b5
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Add smmu iova address and size for ICNSS. It will be used to
attach to smmu driver.
CRs-Fixed: 1049889
Change-Id: I7aad55ba6ac69ad2ca7a8783bf4fdd8241d112cc
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
Previously the dma fifo read watermark was set to default value
which is 1/2 full. The full FIFO size is 512B, and this means the
read would be blocked for the first 256B and as soon as it is
consumed, it might expect the next 256B immediately. This may
result in underflow if sufficient data is not produced. To avoid
such cases, set read watermark to 15/16, so it is blocked until
full FIFO size data is generated.
Change-Id: I39bd10ccb7db3c4fe37ea609babdd6305fc19a7d
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Previously, the error case for retire fence did not handle
removing of fence_install for release fence properly. Fix it
by doing sync_fence_install for both release/retire fence
after successful release/retire create_fence.
Change-Id: I6e983a1a1d843ddca46729c37a49cb85eda74cfe
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
There might be cases during bootup when backlight cmds or ESD thread
sends DCS cmds to the panel when iommu attach is yet to happen. DSI
uses physical or virtual address based on the iommu_attached status
check. If iommu attach happens when the DCS cmds are using the
physical address, it would lead to SMMU page faults. Protect iommu
attach/detach and DCS cmd sending with an iommu_lock to avoid such
race conditions.
Change-Id: I16fb0bf884f0dbbce1cd9099ec5619d132379054
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
Configure autorefresh in the slave pingpong register too
when autorefresh is enabled along with pp-split.
Change-Id: I3dc51f99018bb7a97fa01cd9aebe50d63671261e
Signed-off-by: Veera Sundaram Sankaran <veeras@codeaurora.org>
The policy engine should only request for a specific current
amount when establishing an explicit contract. When performing
a hard reset, suspend this by requesting 0 and only if it
was non-zero before, otherwise requesting the maximum may
invalidate the default current for non-PD cases.
Change-Id: Icbef00d61f8705429105f241161362ad9f1f9d30
Signed-off-by: Jack Pham <jackp@codeaurora.org>
There is a possibility of tasklet bottom half handler racing
with dwc3_msm_suspend(). As a result before disabling the dwc3
irq, dwc3 interrupts are fired and once the suspend routine
disables the clocks bottom half handler gets a chance to run
and tries to access dwc3 register resulting into un-clocked
register access. Since dwc3 interrupt is already running in
threaded irq context, interrupt can be directly handled in
same context and avoid this race.
Change-Id: Ife9e165f6aa2112c1440819d659b97b5502a3f07
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>