Currently, the clients of the hh_msgq driver would allocate buffers,
fill with data and call hh_msgq_send(). Upon success, hh_msgq_send()
would be freeing the buffer, while in the case of failure, the clients
are responsible for it. However, this approach of buffer management is
not symmetric and could be confusing for the clients. Hence, let the
clients take full ownership of the buffers- allocating and freeing.
Also make changes to the affected client drivers.
Change-Id: I73101d823f9d3de16414e444fde494222f584e53
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
It's a highly likely situation that the clients call hh_msgq_recv()
from a thread in a polling fashion, and these threads are spawned
during client driver's initialization. Hence, it's possible that
the cap-ids for the message queues will not be ready so early and
the clients would end up continuously spinning on hh_msgq_recv(),
receiving the error -EAGAIN. To avoid this situation, put the
client process onto a wait-queue until the cap-ids are ready.
Although a little unlikely, to satisfy the symmetry, add the same
provision for the callers of hh_msgq_send() as well.
Change-Id: I4e042215c5e43271d566340ce1ef9c52ecafeb5c
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
There's a potential chance that the clients can request to
send or receive the data from an interrupt context. Hence,
convert the cap_entry_lock from mutex to a spinlock.
Change-Id: Ic314a32f7a8007308c0a397e0cc44f16441c58d4
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Signed-off-by: Murali Nalajala <mnalajal@codeaurora.org>
Currently, the cap-id for Tx and Rx of the message-queue are
initialized with 0. However, 0 is a valid value for cap-id.
A better value to initialize the cap-id is with U64_MAX. Hence,
make corrections to use U64_MAX, defined as HH_CAPID_INVAL, in
the message-queue driver.
Change-Id: Ia501e87dc3cb8d880ea3d35ff000ca07b64aeced
Signed-off-by: Raghavendra Rao Ananta <rananta@codeaurora.org>
Add spin_lock_init for funnel and replicator to avoid spinlock issue.
Change-Id: I6cb14bfd363e8d92070af2e0e99e60eaf45d923b
Signed-off-by: Mao Jinlong <jinlmao@codeaurora.org>
Current driver will check PCIe link status by reading PCIe config space
before updating time sync registers. However, there is a drawback to use
PCIe API pci_read_config_word() to access config space since it will
disable interrupt and then perform read. If PCIe link is in L1 or L1ss
state, there may be more than 4ms needed to change the link state to L0
in order to access so it will cause jank for other time critical tasks.
Hence make sure PCIe link is in L0 state before updating time sync
registers instead of checking config space.
Change-Id: I59ca63c38b5af9e38e5a04d8e679f4dfde294746
Signed-off-by: Yue Ma <yuem@codeaurora.org>
Media and USB Video Class drivers are needed to get USB video
devices functional in USB host mode. Hence enable media and USB
video class drivers on Lahaina.
Change-Id: I70ccc146b55a564b4408496a54b044d52cbf9e41
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Adding inrout buffer CMO support with new cache flush logic
involving offsets and overlaps.
Acked-by: Deepika Singh <dsi@qti.qualcomm.com>
Change-Id: I1e5ac1e3c52c80d40b6c3a0c9207e7a73d06bf65
Signed-off-by: Mohammed Nayeem Ur Rahman <mohara@codeaurora.org>
Enable memory dump driver to be build as a module in the defconfig
on Lahaina.
Change-Id: I284e5d082d5a595f794b15fd66163137596e714e
Signed-off-by: Mao Jinlong <jinlmao@codeaurora.org>
Add support to build the memory dump driver as moudle on gki build.
Change-Id: I8cf227d0b0044b935bbf224d1191ec84fa497509
Signed-off-by: Mao Jinlong <jinlmao@codeaurora.org>
Driver reports sensor data without modifying the
orientation of axes.
Change-Id: I3e0d3d3efc848d7e72a1edda9f168721dbccb308
Signed-off-by: rbandi <rohitbandi@codeaurora.org>
Enable LKDTM module for various test cases in the qgki-debug
configuration of Lahaina.
Change-Id: Id0479ec95d8410e52bc270f907e8a537e73d0fb3
Signed-off-by: Prakruthi Deepak Heragu <pheragu@codeaurora.org>
GPIOs that can be configured as wakeup sources, have their
interrupt lines routed to PDC interrupt controller. Add the
interrupt map of the GPIO's to its wakeup capable interrupt
parent.
Change-Id: I6680a6d55f53936ace4daab1f2365de055a89a06
Signed-off-by: Srinivas Rao L <lsrao@codeaurora.org>
Add PDC interrupt controller chip support for shima.
Change-Id: I8d92ccba39ac09eede3236780f0509f6a4b117f1
Signed-off-by: Srinivas Rao L <lsrao@codeaurora.org>
The return value of device resume function should be greater than
or equal to 0. Correct the conditional judgment to allow the return
value to be greater than 0. Otherwise, it can cause cti fail to
pass test sometimes.
Change-Id: I195b192d438b954c02c9d2cda2906075e8688ac9
Signed-off-by: Tao,Zhang <taozha@codeaurora.org>
With the exception of control event ring processing, turn
the non-essential error messages to log variants so they
do not show up in dmesg.
Change-Id: Ib49022b25817d8d65dd10d33c4a948698c571082
Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>