remoteproc: qcom: pas: Add auto_boot flag
authorSibi Sankar <sibis@codeaurora.org>
Mon, 18 Nov 2019 21:44:07 +0000 (21:44 +0000)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Mon, 16 Dec 2019 23:43:37 +0000 (15:43 -0800)
Add auto_boot flag and set it to false for modem. This allows for
the delayed boot up of modem after the dependencies are met in
userspace.

Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
Link: https://lore.kernel.org/r/0101016e80790f6a-98fb016c-9639-4124-b6ee-fe7639af734f-000000@us-west-2.amazonses.com
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/remoteproc/qcom_q6v5_pas.c

index 686b861..b890e6e 100644 (file)
@@ -33,6 +33,7 @@ struct adsp_data {
        const char *firmware_name;
        int pas_id;
        bool has_aggre2_clk;
+       bool auto_boot;
 
        char **active_pd_names;
        char **proxy_pd_names;
@@ -388,6 +389,8 @@ static int adsp_probe(struct platform_device *pdev)
                return -ENOMEM;
        }
 
+       rproc->auto_boot = desc->auto_boot;
+
        adsp = (struct qcom_adsp *)rproc->priv;
        adsp->dev = &pdev->dev;
        adsp->rproc = rproc;
@@ -471,6 +474,7 @@ static const struct adsp_data adsp_resource_init = {
                .firmware_name = "adsp.mdt",
                .pas_id = 1,
                .has_aggre2_clk = false,
+               .auto_boot = true,
                .ssr_name = "lpass",
                .sysmon_name = "adsp",
                .ssctl_id = 0x14,
@@ -481,6 +485,7 @@ static const struct adsp_data sm8150_adsp_resource = {
                .firmware_name = "adsp.mdt",
                .pas_id = 1,
                .has_aggre2_clk = false,
+               .auto_boot = true,
                .active_pd_names = (char*[]){
                        "load_state",
                        NULL
@@ -499,6 +504,7 @@ static const struct adsp_data cdsp_resource_init = {
        .firmware_name = "cdsp.mdt",
        .pas_id = 18,
        .has_aggre2_clk = false,
+       .auto_boot = true,
        .ssr_name = "cdsp",
        .sysmon_name = "cdsp",
        .ssctl_id = 0x17,
@@ -509,6 +515,7 @@ static const struct adsp_data sm8150_cdsp_resource = {
        .firmware_name = "cdsp.mdt",
        .pas_id = 18,
        .has_aggre2_clk = false,
+       .auto_boot = true,
        .active_pd_names = (char*[]){
                "load_state",
                NULL
@@ -527,6 +534,7 @@ static const struct adsp_data mpss_resource_init = {
        .firmware_name = "modem.mdt",
        .pas_id = 4,
        .has_aggre2_clk = false,
+       .auto_boot = false,
        .active_pd_names = (char*[]){
                "load_state",
                NULL
@@ -546,6 +554,7 @@ static const struct adsp_data slpi_resource_init = {
                .firmware_name = "slpi.mdt",
                .pas_id = 12,
                .has_aggre2_clk = true,
+               .auto_boot = true,
                .ssr_name = "dsps",
                .sysmon_name = "slpi",
                .ssctl_id = 0x16,
@@ -556,6 +565,7 @@ static const struct adsp_data sm8150_slpi_resource = {
                .firmware_name = "slpi.mdt",
                .pas_id = 12,
                .has_aggre2_clk = false,
+               .auto_boot = true,
                .active_pd_names = (char*[]){
                        "load_state",
                        NULL
@@ -574,6 +584,7 @@ static const struct adsp_data wcss_resource_init = {
        .crash_reason_smem = 421,
        .firmware_name = "wcnss.mdt",
        .pas_id = 6,
+       .auto_boot = true,
        .ssr_name = "mpss",
        .sysmon_name = "wcnss",
        .ssctl_id = 0x12,