2020-08-19 10:10:25

by Maulik Shah

[permalink] [raw]
Subject: [PATCH 0/2] Modularize RPMH driver

This series is to modularize RPMH driver

The tracepoint in RPMH driver was changed to _rcuidle variant based on the
test results of unmerged series [1] where .power_off callback from genpd
reported RCU warnings.

The series which finally got merged [2] uses CPU PM notifications
and genpd .power_off callback is not implemented in RPMH driver to invoke
rpmh_flush(). The CPU PM notifications are done with RCU non idle in kernel
(see cpu_pm_notify() uses rcu_irq_enter_irqson() before notifications)

However using _rcuidle variant prevented RPMH driver to compile as module
since these _rcuidle are not exported symbols for tracepoints.

This seris reverts the change [3] to remove _rcuidle variant for tracepoint
as its no more valid test case (genpd .power_off is not implemented)
and bring backs the change [4] that was reverted due to _rcuidle preventing
to become modular.

[1] https://patchwork.kernel.org/project/linux-arm-msm/list/?series=243931
[2] https://patchwork.kernel.org/project/linux-arm-msm/list/?series=269733
[3] https://lore.kernel.org/r/[email protected]
[4] https://lore.kernel.org/r/[email protected]

Maulik Shah (2):
Revert "drivers: qcom: rpmh-rsc: Use rcuidle tracepoints for rpmh"
Revert "Revert "soc: qcom: rpmh: Allow RPMH driver to be loaded as a
module""

drivers/soc/qcom/Kconfig | 2 +-
drivers/soc/qcom/rpmh-rsc.c | 7 ++++++-
2 files changed, 7 insertions(+), 2 deletions(-)

--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation


2020-08-19 10:13:17

by Maulik Shah

[permalink] [raw]
Subject: [PATCH 2/2] Revert "Revert "soc: qcom: rpmh: Allow RPMH driver to be loaded as a module""

The _rcuidle tracepoints are removed from RPMH driver which prevented
to compile it as module. Bring back the change to make it module.

This reverts commit 1f7a3eb785e4a4e196729cd3d5ec97bd5f9f2940.

Cc: John Stultz <[email protected]>
Cc: Stephen Rothwell <[email protected]>
Cc: Todd Kjos <[email protected]>
Cc: Saravana Kannan <[email protected]>
Signed-off-by: Maulik Shah <[email protected]>
---
drivers/soc/qcom/Kconfig | 2 +-
drivers/soc/qcom/rpmh-rsc.c | 5 +++++
2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
index 3dc3e3d..892bdc7 100644
--- a/drivers/soc/qcom/Kconfig
+++ b/drivers/soc/qcom/Kconfig
@@ -92,7 +92,7 @@ config QCOM_RMTFS_MEM
Say y here if you intend to boot the modem remoteproc.

config QCOM_RPMH
- bool "Qualcomm RPM-Hardened (RPMH) Communication"
+ tristate "Qualcomm RPM-Hardened (RPMH) Communication"
depends on ARCH_QCOM || COMPILE_TEST
help
Support for communication with the hardened-RPM blocks in
diff --git a/drivers/soc/qcom/rpmh-rsc.c b/drivers/soc/qcom/rpmh-rsc.c
index fabe390d..5fce87c 100644
--- a/drivers/soc/qcom/rpmh-rsc.c
+++ b/drivers/soc/qcom/rpmh-rsc.c
@@ -13,6 +13,7 @@
#include <linux/iopoll.h>
#include <linux/kernel.h>
#include <linux/list.h>
+#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_irq.h>
#include <linux/of_platform.h>
@@ -1025,6 +1026,7 @@ static const struct of_device_id rpmh_drv_match[] = {
{ .compatible = "qcom,rpmh-rsc", },
{ }
};
+MODULE_DEVICE_TABLE(of, rpmh_drv_match);

static struct platform_driver rpmh_driver = {
.probe = rpmh_rsc_probe,
@@ -1040,3 +1042,6 @@ static int __init rpmh_driver_init(void)
return platform_driver_register(&rpmh_driver);
}
arch_initcall(rpmh_driver_init);
+
+MODULE_DESCRIPTION("Qualcomm Technologies, Inc. RPMh Driver");
+MODULE_LICENSE("GPL v2");
--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation

2020-08-20 23:13:57

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH 2/2] Revert "Revert "soc: qcom: rpmh: Allow RPMH driver to be loaded as a module""

Quoting Maulik Shah (2020-08-19 03:07:50)
> The _rcuidle tracepoints are removed from RPMH driver which prevented
> to compile it as module. Bring back the change to make it module.
>
> This reverts commit 1f7a3eb785e4a4e196729cd3d5ec97bd5f9f2940.
>
> Cc: John Stultz <[email protected]>
> Cc: Stephen Rothwell <[email protected]>
> Cc: Todd Kjos <[email protected]>
> Cc: Saravana Kannan <[email protected]>
> Signed-off-by: Maulik Shah <[email protected]>
> ---

Please send the original patch and add your SoB to it. Reverting a patch
out of the history works, but doesn't do justice to the authorship of
the patch.

2020-08-22 16:24:34

by Maulik Shah

[permalink] [raw]
Subject: Re: [PATCH 2/2] Revert "Revert "soc: qcom: rpmh: Allow RPMH driver to be loaded as a module""

Hi,

On 8/21/2020 4:42 AM, Stephen Boyd wrote:
> Quoting Maulik Shah (2020-08-19 03:07:50)
>> The _rcuidle tracepoints are removed from RPMH driver which prevented
>> to compile it as module. Bring back the change to make it module.
>>
>> This reverts commit 1f7a3eb785e4a4e196729cd3d5ec97bd5f9f2940.
>>
>> Cc: John Stultz <[email protected]>
>> Cc: Stephen Rothwell <[email protected]>
>> Cc: Todd Kjos <[email protected]>
>> Cc: Saravana Kannan <[email protected]>
>> Signed-off-by: Maulik Shah <[email protected]>
>> ---
> Please send the original patch and add your SoB to it. Reverting a patch
> out of the history works, but doesn't do justice to the authorship of
> the patch.
Sure, i will re-send the original patch in v2 instead of doing revert's
revert.

Thanks,
Maulik

--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation