lkml.org 
[lkml]   [2013]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v6 3/8] cpufreq:acpi:x86: Adjust the acpi-cpufreq.c code to work with common boost solution
    On Fri, 26 Jul 2013 14:54:07 +0530 Viresh Kumar viresh.kumar@linaro.org
    wrote,
    > On 26 July 2013 13:39, Lukasz Majewski <l.majewski@samsung.com> wrote:
    > > On Fri, 26 Jul 2013 12:58:02 +0530 Viresh Kumar wrote,
    > >> On 25 July 2013 22:03, Lukasz Majewski <l.majewski@samsung.com>
    > >> wrote:
    > >> > diff --git a/drivers/cpufreq/acpi-cpufreq.c
    > >> > b/drivers/cpufreq/acpi-cpufreq.c
    > >>
    > >> > static void __init acpi_cpufreq_boost_init(void)
    > >> > {
    > >> > + acpi_cpufreq_driver.boost_supported = false;
    > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [*]
    > >>
    > >> Would be better if we do this in else of below if.
    > >
    > > We need to set boost_supported = false at [*] for the case when:
    > > 1. msrs_alloc fails
    > > or
    > > 2. acpi_cpufreq is built as a module and can be inserted and removed
    > > several times. Without [*] we could end up with wrong (not false)
    > > initial state.
    >
    > Hmm.. Now that I see the code again, we don't need to set it to false
    > as it is a global variable and this field is already set to false..

    Ok, so then I will remove this line [*].

    >
    > >> > if (boot_cpu_has(X86_FEATURE_CPB) ||
    > >> > boot_cpu_has(X86_FEATURE_IDA)) { msrs = msrs_alloc();
    > >>
    > >>
    > >> > @@ -1021,12 +995,11 @@ static int __init acpi_cpufreq_init(void)
    > >> > *iter = &cpb;
    > >> > }
    > >> > #endif
    > >> > + acpi_cpufreq_boost_init();
    > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [**]
    > >>
    > >> We are calling it before registering cpufreq driver. Will this have
    > >> any complications?
    > >
    > > When we call [**] after the cpufreq_register_driver [***] we end up
    > > with sysfs boost attribute not exported at x86.
    > > The boost attribute is exported at [***] only when
    > > acpi_cpufreq.boost_supported = true. However support for boost at
    > > x86 is evaluated at acpi_cpufreq_boost_init().
    >
    > I understand why you moved it above cpufreq driver register. I was
    > thinking if there can be few side effects of this..

    As fair as I've tested it, there weren't any side effects.

    Moreover the acpi_cpufreq_boost_init() mostly read state of the HW, so
    IMHO can be done before cpufreg_register_driver().

    --
    Best regards,

    Lukasz Majewski

    Samsung R&D Institute Poland (SRPOL) | Linux Platform Group


    \
     
     \ /
      Last update: 2013-07-26 12:21    [W:4.609 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site