52490169 | 05-Jul-2018 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
slimbus: ngd: add stream support
This patch adds support to stream support, this involve implementing user specific implementation of Data channel management and channel management SLIMbus messages.
slimbus: ngd: add stream support
This patch adds support to stream support, this involve implementing user specific implementation of Data channel management and channel management SLIMbus messages.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
abb9c9b8 | 05-Jul-2018 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
slimbus: stream: add stream support
This patch adds support to SLIMbus stream apis for slimbus device. SLIMbus streaming involves adding support to Data Channel Management and channel Reconfiguratio
slimbus: stream: add stream support
This patch adds support to SLIMbus stream apis for slimbus device. SLIMbus streaming involves adding support to Data Channel Management and channel Reconfiguration Messages to slim core plus few stream apis. >From slim device side the apis are very simple mostly inline with other stream apis.
Currently it only supports Isochronous and Push/Pull transport protocols, which are sufficient for audio use cases.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
917809e2 | 19-Jun-2018 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
slimbus: ngd: Add qcom SLIMBus NGD driver
This patch adds suppor to Qualcomm SLIMBus Non-Generic Device (NGD) controller driver. This is light-weight SLIMBus controller driver responsible for commun
slimbus: ngd: Add qcom SLIMBus NGD driver
This patch adds suppor to Qualcomm SLIMBus Non-Generic Device (NGD) controller driver. This is light-weight SLIMBus controller driver responsible for communicating with slave HW directly over the bus using messaging interface, and communicating with master component residing on ADSP for bandwidth and data-channel management
Based on intial work from Karthikeyan Ramasubramanian <kramasub@codeaurora.org> and Sagar Dharia <sdharia@codeaurora.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Tested-by: Craig Tatlor <ctatlor97@gmail.com> Reviewed-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
d3062a21 | 19-Jun-2018 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
slimbus: messaging: add slim_alloc/free_txn_tid()
This patch adds slim_alloc_txn_tid() and slim_free_txn_tid() api to allow controllers like ngd to allocate tids for user specific commands. This als
slimbus: messaging: add slim_alloc/free_txn_tid()
This patch adds slim_alloc_txn_tid() and slim_free_txn_tid() api to allow controllers like ngd to allocate tids for user specific commands. This also cleans up the existing code to use single place for tid allocations and free.
This patch also make the tid allocation cyclic one, its very useful to track the transactions back during debug.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
e0772de8 | 19-Jun-2018 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
slimbus: core: add of_slim_device_get() helper
On SLIMBus controllers like Qcom NGD(non ported device), controller can request logical address once the remote side is powered, having a helper functi
slimbus: core: add of_slim_device_get() helper
On SLIMBus controllers like Qcom NGD(non ported device), controller can request logical address once the remote side is powered, having a helper function like this to explicitly enumerate the bus is helpful. Also codec drivers which are taking to interface device would need such a helper too.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
ba883d90 | 19-Jun-2018 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
slimbus: qcom: remove redundant depends in Kconfig
QCOM SLIMBus controller is already under a 'if SLIMBUS' in Kconfig, having depends on SLIMBUS is totally redundant. Just remove it.
Signed-off-by:
slimbus: qcom: remove redundant depends in Kconfig
QCOM SLIMBus controller is already under a 'if SLIMBUS' in Kconfig, having depends on SLIMBUS is totally redundant. Just remove it.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
ffa2d921 | 19-Jun-2018 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
slimbus: messaging: initialize completion correctly
slim_val_inf can contain random value from stack, make sure the completion is initialized to NULL while filling the msg.
Signed-off-by: Srinivas
slimbus: messaging: initialize completion correctly
slim_val_inf can contain random value from stack, make sure the completion is initialized to NULL while filling the msg.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
057ba872 | 19-Jun-2018 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
slimbus: messaging: remove multiple calls to pm_runtime_mark_last_busy
There seems to be a multiple calls to pm_runtime_mark_last_busy(), which looks like a typo. Fix this by properly adding pm_runt
slimbus: messaging: remove multiple calls to pm_runtime_mark_last_busy
There seems to be a multiple calls to pm_runtime_mark_last_busy(), which looks like a typo. Fix this by properly adding pm_runtime_put_autosuspend to put controller in auto suspend state.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
fc6b1f3d | 03-Jan-2018 |
Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
slimbus: qcom: add HAS_IOMEM dependency
Below build failure was reported on UML, ERROR: "devm_ioremap_resource" [drivers/slimbus/slim-qcom-ctrl.ko] undefined! ERROR: "__ioread32_copy" [drivers/slimb
slimbus: qcom: add HAS_IOMEM dependency
Below build failure was reported on UML, ERROR: "devm_ioremap_resource" [drivers/slimbus/slim-qcom-ctrl.ko] undefined! ERROR: "__ioread32_copy" [drivers/slimbus/slim-qcom-ctrl.ko] undefined! ERROR: "__iowrite32_copy" [drivers/slimbus/slim-qcom-ctrl.ko] undefined! ERROR: "devm_ioremap" [drivers/slimbus/slim-qcom-ctrl.ko] undefined!
This patch fixes it by making qcom slimbus depend on HAS_IOMEM, as these are only defined when HAS_IOMEM is selected.
Reported-by: Thomas Meyer <thomas@m3y3r.de> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
ff595a33 | 02-Jan-2018 |
Wei Yongjun <weiyongjun1@huawei.com> |
slimbus: qcom: Fix return value check in qcom_slim_probe()
In case of error, the function devm_ioremap_resource() returns ERR_PTR() and never returns NULL. The NULL test in the return value check sh
slimbus: qcom: Fix return value check in qcom_slim_probe()
In case of error, the function devm_ioremap_resource() returns ERR_PTR() and never returns NULL. The NULL test in the return value check should be replaced with IS_ERR().
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
f8d2c8ea | 02-Jan-2018 |
Wei Yongjun <weiyongjun1@huawei.com> |
slimbus: Fix missing unlock on error in slim_msg_response()
Add the missing unlock before return from function slim_msg_response() in the error handling case.
Signed-off-by: Wei Yongjun <weiyongjun
slimbus: Fix missing unlock on error in slim_msg_response()
Add the missing unlock before return from function slim_msg_response() in the error handling case.
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
ab9b3de7 | 02-Jan-2018 |
Wei Yongjun <weiyongjun1@huawei.com> |
slimbus: Use GFP_ATOMIC under spin lock
A spin lock is taken here so we should use GFP_ATOMIC.
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Signed-off-by: Srinivas Kandagatla <srinivas.kanda
slimbus: Use GFP_ATOMIC under spin lock
A spin lock is taken here so we should use GFP_ATOMIC.
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
c88c8d7a | 02-Jan-2018 |
Colin Ian King <colin.king@canonical.com> |
slimbus: make functions slim_ack_txn and slim_alloc_txbuf static
The functions slim_ack_txn and slim_alloc_txbuf are local to the source and do not need to be in global scope, so make them static.
slimbus: make functions slim_ack_txn and slim_alloc_txbuf static
The functions slim_ack_txn and slim_alloc_txbuf are local to the source and do not need to be in global scope, so make them static.
Cleans up sparse warnings: symbol 'slim_ack_txn' was not declared. Should it be static? symbol 'slim_alloc_txbuf' was not declared. Should it be static?
Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
551b9ee4 | 02-Jan-2018 |
Colin Ian King <colin.king@canonical.com> |
slimbus: fix retries comparison to correctly identify failed allocation
Currently the check for too many retries fails because retries is actually -1 when the retry loop terminates if no pbuf can be
slimbus: fix retries comparison to correctly identify failed allocation
Currently the check for too many retries fails because retries is actually -1 when the retry loop terminates if no pbuf can be allocated because of the post decrement on retries. Fix this by not comparing retries with zero but instead check if it is negative.
Detected by CoverityScan, CID#1463143 ("Logically dead code") and CID#1463144 ("Dereference after null check")
Signed-off-by: Colin Ian King <colin.king@canonical.com> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
c088c335 | 11-Dec-2017 |
Sagar Dharia <sdharia@codeaurora.org> |
slimbus: qcom: Add runtime-pm support using clock-pause
Slimbus HW mandates that clock-pause sequence has to be executed before disabling relevant interface and core clocks. Runtime-PM's autosuspend
slimbus: qcom: Add runtime-pm support using clock-pause
Slimbus HW mandates that clock-pause sequence has to be executed before disabling relevant interface and core clocks. Runtime-PM's autosuspend feature is used here to enter/exit low power mode for Qualcomm's Slimbus controller. Autosuspend feature enables driver to avoid changing power-modes too frequently since entering clock-pause is an expensive sequence
Signed-off-by: Sagar Dharia <sdharia@codeaurora.org> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Reviwed-by: Mark Brown <broonie@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|
ad7fcbc3 | 11-Dec-2017 |
Sagar Dharia <sdharia@codeaurora.org> |
slimbus: qcom: Add Qualcomm Slimbus controller driver
This controller driver programs manager, interface, and framer devices for Qualcomm's slimbus HW block. Manager component currently implements l
slimbus: qcom: Add Qualcomm Slimbus controller driver
This controller driver programs manager, interface, and framer devices for Qualcomm's slimbus HW block. Manager component currently implements logical address setting, and messaging interface. Interface device reports bus synchronization information, and framer device clocks the bus from the time it's woken up, until clock-pause is executed by the manager device.
Signed-off-by: Sagar Dharia <sdharia@codeaurora.org> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Reviwed-by: Mark Brown <broonie@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
show more ...
|