During IPA driver processing context delete, a delete to
the referenced header is being done. The header deletion
will also commit the changes to H/W which includes the
processing context commit. This resulted into committing
an invalid process context as it is still in the processing
context list, but points to deleted header.
The fix is to not commit the changes when deleting the header
but only when deleting the processing context.
Change-Id: I9d3c5eec717da0b072144a1027e4582e73aaa6d9
CRs-fixed: 1044710
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
The array index value when setting/getting the channels
of proxy is incorrect as the channel count begins from two.
Fix by setting the correct index offset.
Change-Id: I3ab9858daf6dcdbce762946cbdebeb96eaad764a
Signed-off-by: Shiv Maliyappanahalli <smaliyap@codeaurora.org>
Goodix GT915 driver was provided by vendor and cherry-picked into
our project, it need to be placed to right location.
Change-Id: Idf191144354426233eca41727a41e26ddbf92f95
Signed-off-by: Bingzhe Cai <bingzhec@codeaurora.org>
Signed-off-by: Pan Fang <fangpan@codeaurora.org>
Registers for page 0x50 in the wcd934x audio codec are currently
not defined. These registers control WCD DSP register configuration
and setup. Add these register definitions so that codec driver can
read/write these registers.
CRs-Fixed: 1049012
Change-Id: If1162c09de8d4d7c330a97a1f133f6d46ce2fd74
Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
This module provides two APIs which are used to control a boolean
sysfs entry deploy. The irq balancer's blacklist in user space will be
controlled by this sysfs entry.
CRs-Fixed: 1013201
Change-Id: Ie6ec7211c64f3c4f53b9f590e5bcf5fa1937d594
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
Remove dmesg about irq redistributor since it fills up
the console with every hotplug of the cpus. The information
about redistributor is already disclosed in the dmesg during
bootup.
CRs-Fixed: 1048941
Change-Id: I5ddb2036ab3df4715382368c144365d578ce4bb8
Signed-off-by: Runmin Wang <runminw@codeaurora.org>
One of the CPE sessions uses EC(Echo cancellation) PP(Ping-Pong)
path on WCD9335 that is connected to CPE (Codec Processing Engine)
hardware. Configure EC PP path for CPE functionality. This
requires WCD9335 codec to be out of digital core power collapse
without turning on MCLK(Master clock).
CRs-fixed: 1022917
Change-Id: I68200b12fcb316bf36f7c3af2734a094f972da9c
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
On iommu attach and detach we should not be changing the dma ops
if the domain is in bypass.
Fix the iommu detach call to not clear the dma ops if the
domain is in bypass.
CRs-Fixed: 1048740
Change-Id: Ie29e7a6a5375e1ec33b000fa09f01aeb7406c8d9
Signed-off-by: Liam Mark <lmark@codeaurora.org>
DAPM marks back end dai as dirty during ASoC suspend
which triggers device path teardown. Add ignore suspend
to all back end dais to avoid device path teardown.
CRs-Fixed: 1031932
Change-Id: I89f83feed0702f3a3f3b6141ed73459b8878d2df
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
This reverts commit commit 6a70911936 ("arm64: dma-mapping: Attach
IOMMUs as groups"). PCIe endpoint devices are no longer placed into
groups with the root complex device so we no longer need to attach as
groups in the DMA layer.
CRs-Fixed: 1036401
Change-Id: I953808314ed92e9da1ac15dc5be3d1d223fee188
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
There's currently a placeholder stream ID of "1" in the PCIe RC device
tree node. The PCIe RC doesn't actually attach and doesn't need a
stream ID though, the "1" was put there to get around an error caused by
the fact that #iommu-cells was equal to 1 for the anoc1_smmu, even
though it should have actually been 0.
Fix all this by making #iommu-cells = <0> for the anoc1 SMMU and
removing the bogus placeholder stream ID.
CRs-Fixed: 1036401
Change-Id: I73ff6d6b081b1ee00c8e8ebea42e86160b35aa37
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
In general, the IOMMU framework likes to group PCI devices together.
This prevents someone from assigning them to separate VMs using VFIO,
for example. The reason they shouldn't go to separate VMs is because
there could be DMA aliasing between endpoint devices, and because the
root complex device can access anything that endpoint devices can
access.
Unfortunately, this makes things difficult in the DMA layer since the
IOMMU framework freaks out if you try to attach a single device that is
also part of a group. First instinct might be to start using
iommu_attach_group instead of iommu_attach_device in the DMA layer but
that has problems of its own (it attaches *everyone* in the group as
soon as one client attaches). Besides all that, it's also a bit
annoying to have the root complex device in group since, in our
platform, it doesn't actually have any stream IDs assigned to it and it
doesn't do any DMA of its own, so it doesn't really make any logical
sense to attach it.
As a compromise, we can stop grouping PCI devices together by allocating
a new domain for each one. By doing so we no longer need to call
iommu_attach_group in the DMA layer, avoid the issues described above.
It should be noted that with this patch in place we can't securely do
any direct DMA assignment of PCI endpoint devices to separate VMs.
CRs-Fixed: 1036401
Change-Id: I9528b61a695dc7840e1c6f80af18044340f5c6c4
Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
CHARGER_TEMP reflects the temperature of the charging chip, and
CHARGER_TEMP_MAX reflects the temperature threshold at which the
hardware will take action to reduce the temperature of the charger.
Change-Id: I9cba8e370c753ac5aa33252fce0ea446f061b4c0
Signed-off-by: Nicholas Troast <ntroast@codeaurora.org>
Fix multiple static analysis issues in IPA driver.
Initialize function variables before using them and remove
redundant variables.
CRs-Fixed: 1048706
Change-Id: Iedccc4ab908e1b076efdd4506b686c826eacb73a
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
TSENS (Temperature sensor) driver does not need to map the
QFPROM region to obtain the gain and offset since these are
programmed in the boot initialization to the controller.
This removes the dependency for the application TSENS driver
to map the QFPROM physical region. Hence remove this property
as its optional. Also remove the default slope values that
are used in cases where the application TSENS driver uses it
for calibrationless mode.
Change-Id: Id6893729f5b37a862f3621b8c7897eb767490cd7
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>
TSENS (temperature sensor) controller provides capability
to program the gain and offset for individual sensors so that
the controller reports the temperature. The efuse information
for gain and offset can be read during boot and programmed
at boot initialization and the application TSENS driver
does not need to support reading from the efuse region.
Update the property for reading the tsens efuse as optional
for such cases.
Change-Id: Icd637fcd264565b06bcb90f8e6f7b26c8d112f24
Signed-off-by: Siddartha Mohanadoss <smohanad@codeaurora.org>