Skip to content
Snippets Groups Projects
  1. Oct 27, 2021
  2. Oct 05, 2021
  3. Sep 08, 2021
  4. Jun 24, 2021
  5. Jun 17, 2021
  6. May 21, 2021
  7. May 20, 2021
  8. Apr 08, 2021
  9. Mar 09, 2021
  10. Feb 04, 2021
  11. Feb 02, 2021
  12. Jan 05, 2021
  13. Dec 09, 2020
  14. Dec 07, 2020
  15. Nov 23, 2020
  16. Nov 13, 2020
  17. Oct 26, 2020
    • Dmitry Osipenko's avatar
      PM / devfreq: tegra30: Silence deferred probe error · 09d56d92
      Dmitry Osipenko authored
      
      Tegra EMC driver was turned into a regular kernel driver, meaning that it
      could be compiled as a loadable kernel module now. Hence EMC clock isn't
      guaranteed to be available and clk_get("emc") may return -EPROBE_DEFER.
      Let's silence the deferred probe error.
      
      Acked-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
      Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
      Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
      09d56d92
    • Dmitry Osipenko's avatar
      PM / devfreq: tegra20: Relax Kconfig dependency · cc2a4e83
      Dmitry Osipenko authored
      
      The Tegra EMC driver now could be compiled as a loadable kernel module.
      Currently devfreq driver depends on the EMC/MC drivers in Kconfig, and
      thus, devfreq is forced to be a kernel module if EMC is compiled as a
      module. This build dependency could be relaxed since devfreq driver
      checks MC/EMC presence on probe, allowing kernel configuration where
      devfreq is a built-in driver and EMC driver is a loadable module.
      This change puts Tegra20 devfreq Kconfig entry on a par with the Tegra30
      devfreq entry.
      
      Acked-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
      Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
      Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
      cc2a4e83
    • Dmitry Osipenko's avatar
      PM / devfreq: tegra20: Silence deferred probe error · 9a93386b
      Dmitry Osipenko authored
      
      Tegra EMC driver was turned into a regular kernel driver, meaning that it
      could be compiled as a loadable kernel module now. Hence EMC clock isn't
      guaranteed to be available and clk_get("emc") may return -EPROBE_DEFER.
      Let's silence the deferred probe error.
      
      Acked-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
      Signed-off-by: default avatarDmitry Osipenko <digetx@gmail.com>
      Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
      9a93386b
    • Chanwoo Choi's avatar
      PM / devfreq: Remove redundant governor_name from struct devfreq · 96ffcdf2
      Chanwoo Choi authored
      
      The devfreq structure instance contains the governor_name and a governor
      instance. When need to show the governor name, better to use the name
      of devfreq_governor structure. So, governor_name variable in struct devfreq
      is a redundant and unneeded variable. Remove the redundant governor_name
      of struct devfreq and then use the name of devfreq_governor instance.
      
      Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
      96ffcdf2
    • Chanwoo Choi's avatar
      PM / devfreq: Add governor attribute flag for specifc sysfs nodes · 5f1a9066
      Chanwoo Choi authored
      
      DEVFREQ supports the default governors like performance, simple_ondemand and
      also allows the devfreq driver to add their own governor like tegra30-devfreq.c
      according to their requirement. In result, some sysfs attributes are useful
      or not useful. Prior to that the user can access all sysfs attributes
      regardless of the available attributes.
      
      So, clarify the access permission of sysfs attributes according to governor.
      When adding the devfreq governor, can specify the available attribute
      information by using DEVFREQ_GOV_ATTR_* constant variable. The user can
      read or write the sysfs attributes in accordance to the specified attributes.
      
      When adding the governor, can add the following attributes
      according to the governor feature.
      
      [Definition for speific sysfs attributes]
      - DEVFREQ_GOV_ATTR_POLLING_INTERVAL to update polling interval for timer.
        : /sys/class/devfreq/[devfreq dev name]/polling_interval
      - DEVFREQ_GOV_ATTR_TIMER to change the type of timer on either deferrable
        or dealyed timer.
        : /sys/class/devfreq/[devfreq dev name]/timer
      
      And all devfreq governors have to support the following common attributes.
      The common attributes are added to devfreq class by default.
      - governor
      - available_governors
      - available_frequencies
      - cur_freq
      - target_freq
      - min_freq
      - max_freq
      - trans_stat
      
      [Table of governor attribute flags for devfreq governors]
      ------------------------------------------------------------------------------
                            | simple    | perfor | power | user | passive | tegra30
      		      | ondemand  | mance  | save  | space|         |
      ------------------------------------------------------------------------------
      governor              | O         | O      | O     | O    | O       | O
      available_governors   | O         | O      | O     | O    | O       | O
      available_frequencies | O         | O      | O     | O    | O       | O
      cur_freq              | O         | O      | O     | O    | O       | O
      target_freq           | O         | O      | O     | O    | O       | O
      min_freq              | O         | O      | O     | O    | O       | O
      max_freq              | O         | O      | O     | O    | O       | O
      trans_stat            | O         | O      | O     | O    | O       | O
                            --------------------------------------------------------
      polling_interval      | O         | X      | X     | X    | X       | O
      timer                 | O         | X      | X     | X    | X       | X
      ------------------------------------------------------------------------------
      
      Reviewed-by: default avatarDmitry Osipenko <digetx@gmail.com>
      Tested-by: default avatarDmitry Osipenko <digetx@gmail.com>
      Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
      5f1a9066
    • Chanwoo Choi's avatar
      PM / devfreq: Add governor feature flag · 0dd25a0d
      Chanwoo Choi authored
      
      The devfreq governor is able to have the specific flag as follows
      in order to implement the specific feature. For example, devfreq allows
      user to change the governors on runtime via sysfs interface.
      But, if devfreq device uses 'passive' governor, don't allow user to change
      the governor. For this case, define the DEVFREQ_GOV_FLAG_IMMUTABLE
      and set it to flag of passive governor.
      
      [Definition for governor flag]
      - DEVFREQ_GOV_FLAG_IMMUTABLE
        : If immutable flag is set, governor is never changeable to other governors.
      - DEVFREQ_GOV_FLAG_IRQ_DRIVEN
        : Devfreq core won't schedule polling work for this governor if value is set.
      
      [Table of governor flag for devfreq governors]
      ------------------------------------------------------------------------------
                            | simple    | perfor | power | user | passive | tegra30
      		      | ondemand  | mance  | save  | space|         |
      ------------------------------------------------------------------------------
      immutable             | X         | X      | X     | X    | O       | O
      interrupt_driven      | X(polling)| X      | X     | X    | X       | O (irq)
      ------------------------------------------------------------------------------
      
      Reviewed-by: default avatarDmitry Osipenko <digetx@gmail.com>
      Tested-by: default avatarDmitry Osipenko <digetx@gmail.com>
      Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
      0dd25a0d
Loading