Error handling in time synchronization function is not
appropriate as an error in disabling link level low power modes
could cause a spin lock to be unlocked without being locked.
Change-Id: I06177e587f4010b0558bf1331d3b80daf6948e53
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
In order to ensure that a DRV resume follows immediately after
a client calls device wake assert or deassert, MHI core driver
must unconditionally increment the PM runtime usage count and
post a wake source before waiting for the state change.
Change-Id: I50228742c090a5df6fcb06f89f53723179bcd76d
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
An incorrect failure check needs to be fixed in the bandwidth
scaling initialization function as the absence of the supported
event ring support does not get factored in.
Change-Id: If80e5126821bc4c9223fe37c4403935a6b1bf047
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
While writing any sequence or session identifiers, it is
possible that the host could write a zero value, whereas only
non-zero values are supported writes to those registers. Ensure
that host does not write a non-zero value for those cases.
Change-Id: I33248a0aa43321c85a107e394f953774140dec50
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Execution environment and power off changes can be serialized
to avoid changing these important controller variables from
multiple places and serialize handling of all state transitions.
Change-Id: I394e5ff4992d7c911e3889f96057d8467d79509c
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Remove the unused timesync MHI device as we use the controller
device for timesync related activity instead.
Change-Id: If2bb5937cbf468d8778b89549afdb1d0a9af7782
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Instead of sending a completion from the IRQ thread to notify a
worker thread to update the FIFO samples, update the samples in
the IRQ thread directly. This should help achieve lower latency
which is good for FIFO playing.
Meanwhile, following changes are made for FIFO playing:
1) Defer stopping command into erase() function if it's coming
before all FIFO samples are played. This gives the hardware
a little more time to play before stopping.
2) Restore FIFO play rate to T_LRA after playing is done according
to hardware recommendation.
Change-Id: I7b21589641d753d45b1261ce0e342373c249f4e5
Signed-off-by: Fenglin Wu <fenglinw@codeaurora.org>
param offset and size were switched in the function signature
Change-Id: Ice7b9b6c2651940648a95bdf8fa331b62c577378
Signed-off-by: Yu SI <ysi@codeaurora.org>
The last entry of the a660_protected_regs array must be an empty
entry. The empty entry serves as a terminating placeholder value
indicating the end of the array.
Change-Id: Ie5dd6afcd65dca3ea1fa885d3aa675c23bdf5ca0
Signed-off-by: Raghu Ananya Arabolu <rarabolu@codeaurora.org>
Enable the proxy consumer drivre for Lahaina platform to satisfy
the sync-state requirements in the abcense of real drivers.
Change-Id: I255aee9c1cf2995ab7038f7c95e45afdd94ef42b
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
A target may contain multiple defconfigs, but only one device-tree
configuration. Such a target may have device-drivers that are
only enabled in a particular defconfig, while disabled in the
others. For the kernel that boots up with disabled configuration,
since the device-tree node exists, the of_devlink logic expects
the driver to be probed, which is not possible. As a result, the
sync-state remains incomplete.
Hence, add support for a proxy consumer driver that shows a
proxy-presence of the main driver to satisfy the sync-state.
Change-Id: Ica8c2599fb66420c67e6a72e9b35e7afc0ae3220
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
If we query the OPP table when it doesn't exist we get an error. If
we populate it again with the same operating points we get an error.
So just skip the table create if it already exists and go with
whatever we have.
Change-Id: Ic0dedbad3d5bd24b35867a82873a6ece555d8314
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>