Loading drivers/cpufreq/qcom-cpufreq-hw.c +3 −1 Original line number Original line Diff line number Diff line Loading @@ -62,6 +62,7 @@ struct cpufreq_qcom { int dcvsh_irq; int dcvsh_irq; char dcvsh_irq_name[MAX_FN_SIZE]; char dcvsh_irq_name[MAX_FN_SIZE]; bool is_irq_enabled; bool is_irq_enabled; bool is_irq_requested; }; }; struct cpufreq_counter { struct cpufreq_counter { Loading Loading @@ -294,7 +295,7 @@ static int qcom_cpufreq_hw_cpu_init(struct cpufreq_policy *policy) em_register_perf_domain(policy->cpus, ret, &em_cb); em_register_perf_domain(policy->cpus, ret, &em_cb); if (c->dcvsh_irq > 0) { if (c->dcvsh_irq > 0 && !c->is_irq_requested) { snprintf(c->dcvsh_irq_name, sizeof(c->dcvsh_irq_name), snprintf(c->dcvsh_irq_name, sizeof(c->dcvsh_irq_name), "dcvsh-irq-%d", policy->cpu); "dcvsh-irq-%d", policy->cpu); ret = devm_request_threaded_irq(cpu_dev, c->dcvsh_irq, NULL, ret = devm_request_threaded_irq(cpu_dev, c->dcvsh_irq, NULL, Loading @@ -305,6 +306,7 @@ static int qcom_cpufreq_hw_cpu_init(struct cpufreq_policy *policy) return ret; return ret; } } c->is_irq_requested = true; c->is_irq_enabled = true; c->is_irq_enabled = true; writel_relaxed(LT_IRQ_STATUS, c->reg_bases[REG_INTR_EN]); writel_relaxed(LT_IRQ_STATUS, c->reg_bases[REG_INTR_EN]); c->freq_limit_attr.attr.name = "dcvsh_freq_limit"; c->freq_limit_attr.attr.name = "dcvsh_freq_limit"; Loading Loading
drivers/cpufreq/qcom-cpufreq-hw.c +3 −1 Original line number Original line Diff line number Diff line Loading @@ -62,6 +62,7 @@ struct cpufreq_qcom { int dcvsh_irq; int dcvsh_irq; char dcvsh_irq_name[MAX_FN_SIZE]; char dcvsh_irq_name[MAX_FN_SIZE]; bool is_irq_enabled; bool is_irq_enabled; bool is_irq_requested; }; }; struct cpufreq_counter { struct cpufreq_counter { Loading Loading @@ -294,7 +295,7 @@ static int qcom_cpufreq_hw_cpu_init(struct cpufreq_policy *policy) em_register_perf_domain(policy->cpus, ret, &em_cb); em_register_perf_domain(policy->cpus, ret, &em_cb); if (c->dcvsh_irq > 0) { if (c->dcvsh_irq > 0 && !c->is_irq_requested) { snprintf(c->dcvsh_irq_name, sizeof(c->dcvsh_irq_name), snprintf(c->dcvsh_irq_name, sizeof(c->dcvsh_irq_name), "dcvsh-irq-%d", policy->cpu); "dcvsh-irq-%d", policy->cpu); ret = devm_request_threaded_irq(cpu_dev, c->dcvsh_irq, NULL, ret = devm_request_threaded_irq(cpu_dev, c->dcvsh_irq, NULL, Loading @@ -305,6 +306,7 @@ static int qcom_cpufreq_hw_cpu_init(struct cpufreq_policy *policy) return ret; return ret; } } c->is_irq_requested = true; c->is_irq_enabled = true; c->is_irq_enabled = true; writel_relaxed(LT_IRQ_STATUS, c->reg_bases[REG_INTR_EN]); writel_relaxed(LT_IRQ_STATUS, c->reg_bases[REG_INTR_EN]); c->freq_limit_attr.attr.name = "dcvsh_freq_limit"; c->freq_limit_attr.attr.name = "dcvsh_freq_limit"; Loading