1. 03 6月, 2021 2 次提交
  2. 29 9月, 2020 2 次提交
  3. 23 9月, 2020 1 次提交
  4. 30 7月, 2020 4 次提交
    • C
      PM / devfreq: Fix the wrong end with semicolon · 27a69714
      Chanwoo Choi 提交于
      Fix the wrong grammar at the end of code line by using semicolon.
      
      Cc: stable vger.kernel.org
      Fixes: 490a421b ("PM / devfreq: Add debugfs support with devfreq_summary file")
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      27a69714
    • C
      PM / devfreq: Fix indentaion of devfreq_summary debugfs node · 0aae11bc
      Chanwoo Choi 提交于
      The commit 66d0e797 ("Revert "PM / devfreq: Modify the device name
      as devfreq(X) for sysfs"") roll back the device name from 'devfreqX'
      to device name explained in DT. After applied commit 66d0e797,
      the indentation of devfreq_summary debugfs node was broken.
      
      So, fix indentaion of devfreq_summary debugfs node as following:
      
      For example on Exynos5422-based Odroid-XU3 board,
      $ cat /sys/kernel/debug/devfreq/devfreq_summary
      dev                            parent_dev                     governor        polling_ms  cur_freq_Hz  min_freq_Hz  max_freq_Hz
      ------------------------------ ------------------------------ --------------- ---------- ------------ ------------ ------------
      10c20000.memory-controller     null                           simple_ondemand          0    413000000    165000000    825000000
      soc:bus_wcore                  null                           simple_ondemand         50     88700000     88700000    532000000
      soc:bus_noc                    soc:bus_wcore                  passive                  0     66600000     66600000    111000000
      soc:bus_fsys_apb               soc:bus_wcore                  passive                  0    111000000    111000000    222000000
      soc:bus_fsys                   soc:bus_wcore                  passive                  0     75000000     75000000    200000000
      soc:bus_fsys2                  soc:bus_wcore                  passive                  0     75000000     75000000    200000000
      soc:bus_mfc                    soc:bus_wcore                  passive                  0     83250000     83250000    333000000
      soc:bus_gen                    soc:bus_wcore                  passive                  0     88700000     88700000    266000000
      soc:bus_peri                   soc:bus_wcore                  passive                  0     66600000     66600000     66600000
      soc:bus_g2d                    soc:bus_wcore                  passive                  0     83250000     83250000    333000000
      soc:bus_g2d_acp                soc:bus_wcore                  passive                  0            0     66500000    266000000
      soc:bus_jpeg                   soc:bus_wcore                  passive                  0            0     75000000    300000000
      soc:bus_jpeg_apb               soc:bus_wcore                  passive                  0            0     83250000    166500000
      soc:bus_disp1_fimd             soc:bus_wcore                  passive                  0            0    120000000    200000000
      soc:bus_disp1                  soc:bus_wcore                  passive                  0            0    120000000    300000000
      soc:bus_gscl_scaler            soc:bus_wcore                  passive                  0            0    150000000    300000000
      soc:bus_mscl                   soc:bus_wcore                  passive                  0            0     84000000    666000000
      
      Cc: stable@vger.kernel.org
      Fixes: 66d0e797 ("Revert "PM / devfreq: Modify the device name as devfreq(X) for sysfs"")
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      0aae11bc
    • C
      PM / devfreq: Clean up the devfreq instance name in sysfs attr · 483d557e
      Chanwoo Choi 提交于
      The sysfs attr interface used eithere 'df' or 'devfreq' for devfreq instance
      name. In order to keep the consistency and to improve the readabilty,
      unify the instance name as 'df'. Add add the missing conditional statement
      to prevent the fault.
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      483d557e
    • C
      PM / devfreq: Add support delayed timer for polling mode · 4dc3bab8
      Chanwoo Choi 提交于
      Until now, the devfreq driver using polling mode like simple_ondemand
      governor have used only deferrable timer for reducing the redundant
      power consumption. It reduces the CPU wake-up from idle due to polling mode
      which check the status of Non-CPU device.
      
      But, it has a problem for Non-CPU device like DMC device with DMA operation.
      Some Non-CPU device need to do monitor continuously regardless of CPU state
      in order to decide the proper next status of Non-CPU device.
      
      So, add support the delayed timer for polling mode to support
      the repetitive monitoring. The devfreq driver and user can select
      the kind of timer on either deferrable and delayed timer.
      
      For example, change the timer type of DMC device
      based on Exynos5422-based Odroid-XU3 as following:
      
      - If want to use deferrable timer as following:
      echo deferrable > /sys/class/devfreq/10c20000.memory-controller/timer
      
      - If want to use delayed timer as following:
      echo delayed > /sys/class/devfreq/10c20000.memory-controller/timer
      Reviewed-by: NBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
      Reviewed-by: NLukasz Luba <lukasz.luba@arm.com>
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      4dc3bab8
  5. 28 5月, 2020 2 次提交
  6. 25 3月, 2020 2 次提交
  7. 24 2月, 2020 1 次提交
  8. 16 1月, 2020 1 次提交
    • C
      PM / devfreq: Add debugfs support with devfreq_summary file · 490a421b
      Chanwoo Choi 提交于
      Add debugfs interface to provide debugging information of devfreq device.
      It contains 'devfreq_summary' entry to show the summary of registered
      devfreq devices as following and the additional debugfs file will be added.
      - /sys/kernel/debug/devfreq/devfreq_summary
      
      [Detailed description of each field of 'devfreq_summary' debugfs file]
      - dev_name	: Device name of h/w
      - dev		: Device name made by devfreq core
      - parent_dev	: If devfreq device uses the passive governor,
      		  show parent devfreq device name. Otherwise, show 'null'.
      - governor	: Devfreq governor name
      - polling_ms	: If devfreq device uses the simple_ondemand governor,
      		  polling_ms is necessary for the period. (unit: millisecond)
      - cur_freq_Hz	: Current frequency (unit: Hz)
      - min_freq_Hz	: Minimum frequency (unit: Hz)
      - max_freq_Hz	: Maximum frequency (unit: Hz)
      
      [For example on Exynos5422-based Odroid-XU3 board]
      $ cat /sys/kernel/debug/devfreq/devfreq_summary
      dev_name                       dev        parent_dev governor        polling_ms  cur_freq_Hz  min_freq_Hz  max_freq_Hz
      ------------------------------ ---------- ---------- --------------- ---------- ------------ ------------ ------------
      10c20000.memory-controller     devfreq0   null       simple_ondemand          0    165000000    165000000    825000000
      soc:bus_wcore                  devfreq1   null       simple_ondemand         50    532000000     88700000    532000000
      soc:bus_noc                    devfreq2   devfreq1   passive                  0    111000000     66600000    111000000
      soc:bus_fsys_apb               devfreq3   devfreq1   passive                  0    222000000    111000000    222000000
      soc:bus_fsys                   devfreq4   devfreq1   passive                  0    200000000     75000000    200000000
      soc:bus_fsys2                  devfreq5   devfreq1   passive                  0    200000000     75000000    200000000
      soc:bus_mfc                    devfreq6   devfreq1   passive                  0    333000000     83250000    333000000
      soc:bus_gen                    devfreq7   devfreq1   passive                  0    266000000     88700000    266000000
      soc:bus_peri                   devfreq8   devfreq1   passive                  0     66600000     66600000     66600000
      soc:bus_g2d                    devfreq9   devfreq1   passive                  0    333000000     83250000    333000000
      soc:bus_g2d_acp                devfreq10  devfreq1   passive                  0    266000000     66500000    266000000
      soc:bus_jpeg                   devfreq11  devfreq1   passive                  0    300000000     75000000    300000000
      soc:bus_jpeg_apb               devfreq12  devfreq1   passive                  0    166500000     83250000    166500000
      soc:bus_disp1_fimd             devfreq13  devfreq1   passive                  0    200000000    120000000    200000000
      soc:bus_disp1                  devfreq14  devfreq1   passive                  0    300000000    120000000    300000000
      soc:bus_gscl_scaler            devfreq15  devfreq1   passive                  0    300000000    150000000    300000000
      soc:bus_mscl                   devfreq16  devfreq1   passive                  0    666000000     84000000    666000000
      
      [lkp: Reported the build error]
      Reported-by: Nkbuild test robot <lkp@intel.com>
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      490a421b
  9. 30 12月, 2019 6 次提交
  10. 09 12月, 2019 6 次提交
  11. 29 11月, 2019 1 次提交
    • M
      PM / devfreq: Add missing locking while setting suspend_freq · e1e047ac
      Marek Szyprowski 提交于
      Commit 2abb0d52 ("PM / devfreq: Lock devfreq in trans_stat_show")
      revealed a missing locking while calling devfreq_update_status() function
      during suspend/resume cycle.
      
      Code analysis revealed that devfreq_set_target() function was called
      without needed locks held for setting device specific suspend_freq if such
      has been defined. This patch fixes that by adding the needed locking, what
      fixes following kernel warning on Exynos4412-based OdroidU3 board during
      system suspend:
      
      PM: suspend entry (deep)
      Filesystems sync: 0.002 seconds
      Freezing user space processes ... (elapsed 0.001 seconds) done.
      OOM killer disabled.
      Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
      ------------[ cut here ]------------
      WARNING: CPU: 2 PID: 1385 at drivers/devfreq/devfreq.c:204 devfreq_update_status+0xc0/0x188
      Modules linked in:
      CPU: 2 PID: 1385 Comm: rtcwake Not tainted 5.4.0-rc6-next-20191111 #6848
      Hardware name: SAMSUNG EXYNOS (Flattened Device Tree)
      [<c0112588>] (unwind_backtrace) from [<c010e070>] (show_stack+0x10/0x14)
      [<c010e070>] (show_stack) from [<c0afb010>] (dump_stack+0xb4/0xe0)
      [<c0afb010>] (dump_stack) from [<c01272e0>] (__warn+0xf4/0x10c)
      [<c01272e0>] (__warn) from [<c01273a8>] (warn_slowpath_fmt+0xb0/0xb8)
      [<c01273a8>] (warn_slowpath_fmt) from [<c07d105c>] (devfreq_update_status+0xc0/0x188)
      [<c07d105c>] (devfreq_update_status) from [<c07d2d70>] (devfreq_set_target+0xb0/0x15c)
      [<c07d2d70>] (devfreq_set_target) from [<c07d3598>] (devfreq_suspend+0x2c/0x64)
      [<c07d3598>] (devfreq_suspend) from [<c05de0b0>] (dpm_suspend+0xa4/0x57c)
      [<c05de0b0>] (dpm_suspend) from [<c05def74>] (dpm_suspend_start+0x98/0xa0)
      [<c05def74>] (dpm_suspend_start) from [<c0195b58>] (suspend_devices_and_enter+0xec/0xc74)
      [<c0195b58>] (suspend_devices_and_enter) from [<c0196a20>] (pm_suspend+0x340/0x410)
      [<c0196a20>] (pm_suspend) from [<c019480c>] (state_store+0x6c/0xc8)
      [<c019480c>] (state_store) from [<c033fc50>] (kernfs_fop_write+0x10c/0x228)
      [<c033fc50>] (kernfs_fop_write) from [<c02a6d3c>] (__vfs_write+0x30/0x1d0)
      [<c02a6d3c>] (__vfs_write) from [<c02a9afc>] (vfs_write+0xa4/0x180)
      [<c02a9afc>] (vfs_write) from [<c02a9d58>] (ksys_write+0x60/0xd8)
      [<c02a9d58>] (ksys_write) from [<c0101000>] (ret_fast_syscall+0x0/0x28)
      Exception stack(0xed3d7fa8 to 0xed3d7ff0)
      ...
      irq event stamp: 9667
      hardirqs last  enabled at (9679): [<c0b1e7c4>] _raw_spin_unlock_irq+0x20/0x58
      hardirqs last disabled at (9698): [<c0b16a20>] __schedule+0xd8/0x818
      softirqs last  enabled at (9694): [<c01026fc>] __do_softirq+0x4fc/0x5fc
      softirqs last disabled at (9719): [<c012fe68>] irq_exit+0x16c/0x170
      ---[ end trace 41ac5b57d046bdbc ]---
      ------------[ cut here ]------------
      Signed-off-by: NMarek Szyprowski <m.szyprowski@samsung.com>
      Acked-by: NChanwoo Choi <cw00.choi@samsung.com>
      Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
      e1e047ac
  12. 06 11月, 2019 4 次提交
  13. 25 8月, 2019 1 次提交
  14. 24 8月, 2019 2 次提交
  15. 19 6月, 2019 1 次提交
  16. 16 4月, 2019 4 次提交