1. 27 10月, 2011 11 次提交
    • A
      [CPUFREQ] db8500: remove unneeded for loop iteration over freq_table · ded84337
      Axel Lin 提交于
      Don't know why to do the loop iteration here. It looks unneeded.
      Signed-off-by: NAxel Lin <axel.lin@gmail.com>
      Signed-off-by: NDave Jones <davej@redhat.com>
      ded84337
    • M
      [CPUFREQ] ARM Exynos4210 PM/Suspend compatibility with different bootloaders · 0073f538
      MyungJoo Ham 提交于
      We have various bootloaders for Exynos4210 machines. Some of they
      set the ARM core frequency at boot time even when the boot is a resume
      from suspend-to-RAM. Such changes may create inconsistency in the
      data of CPUFREQ driver and have incurred hang issues with suspend-to-RAM.
      
      This patch enables to save and restore CPU frequencies with pm-notifier and
      sets the frequency at the initial (boot-time) value so that there wouldn't
      be any inconsistency between bootloader and kernel. This patch does not
      use CPUFREQ's suspend/resume callbacks because they are syscore-ops, which
      do not allow to use mutex that is being used by regulators that are used by
      the target function.
      
      This also prevents any CPUFREQ transitions during suspend-resume context,
      which could be dangerous at noirq-context along with regulator framework.
      Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      Signed-off-by: NDave Jones <davej@redhat.com>
      0073f538
    • V
      [CPUFREQ] ARM: ux500: send cpufreq notification for all cpus · 8efd072b
      Vincent Guittot 提交于
      The same clock is used for all cpus so we must notify the frequency change
      for each one in order to update the configuration of all twd clockevents.
      
      change since V1:
      * use policy->cpus instead of cpu_online_mask
      Signed-off-by: NVincent Guittot <vincent.guittot@linaro.org>
      Signed-off-by: NDave Jones <davej@redhat.com>
      8efd072b
    • R
      [CPUFREQ] e_powersaver: Allow user to lower maximum voltage · 826e570b
      Rafał Bilski 提交于
      Add new module option "set_max_voltage".
      One of the lessons learned from Adaptive Powersaver is that voltage values
      returned by processor are for worst case scenario. But required voltage
      is changing with CPU temperature. And even processors produced in the same
      batch can have different minimum voltage necessary for stable work at
      specified frequency.
      On Elonex Webbook, once system starts, temperature never drops below
      48 deg. C. Loading module after systems start allows user to lower CPU
      voltage and still have stable system.
      Sadly C7 doesn't allow code to set frequency or voltage from outside limits.
      If you ask it to set voltage lower then minimum it will ignore you. Thats
      why it isn't possible to change minimum voltage for minimum frequency too.
      Changing maximum voltage on Elonex Webbook leads to very good results. Looks
      like VIA C7 1.6GHz 1084mV can safetly run at 892mV. This means 83% of
      orginal value. If same percentage applies to power generated it means 12.5W
      in the place of 15W. Not much, but it is better then nothing.
      Only C7-M makes it possible.
      If voltage is too low by 16mV or more you will experience kernel panic.
      If voltage is too low by 32mV or more you will experience system freeze.
      Signed-off-by: NRafał Bilski <rafalbilski@interia.pl>
      Signed-off-by: NDave Jones <davej@redhat.com>
      826e570b
    • R
      [CPUFREQ] e_powersaver: Check BIOS limit for CPU frequency · 27e954c2
      Rafał Bilski 提交于
      Call ACPI function to get BIOS limit for CPU frequency.
      Fail if processor would like to run at higher frequency.
      Allow user to ignore BIOS limit.
      
      eps: Detected VIA Model D C7-M
      eps: Current voltage = 1084mV
      eps: Current multiplier = 16
      eps: Highest voltage = 1084mV
      eps: Highest multiplier = 16
      eps: Lowest voltage = 844mV
      eps: Lowest multiplier = 4
      eps: ACPI limit 1.60GHz
      Signed-off-by: NRafał Bilski <rafalbilski@interia.pl>
      Signed-off-by: NDave Jones <davej@redhat.com>
      27e954c2
    • R
      [CPUFREQ] e_powersaver: Additional checks · ed361bf0
      Rafał Bilski 提交于
      Some systems are using 1,2Ghz@844mV processors running at 600MHz@796mV.
      Try to detect such systems and don't touch anything on it. If CPU doesn't have
      P-States in BIOS it should run at maximum frequency.
      Allow user to bypass checks by means of two new options.
      Don't set frequency to maximum on module unloading to avoid bada boom.
      It is also possible that some processors may have incorrect values in min/max
      registers caused by error in manufacturing process. Probably it would be BIOS
      job to set them to right frequency and P-States tables would have correct
      values inside.
      Two additional sanity checks for voltage.
      Signed-off-by: NRafał Bilski <rafalbilski@interia.pl>
      Signed-off-by: NDave Jones <davej@redhat.com>
      ed361bf0
    • D
      [CPUFREQ] exynos4210: Show list of available frequencies · 5beae3b9
      Donggeun Kim 提交于
      This patch enables 'scaling_available_frequencies' attribute
      showing list of available frequencies.
      Signed-off-by: NDonggeun Kim <dg77.kim@samsung.com>
      Signed-off-by: NMyungJoo Ham <myungjoo.ham@samsung.com>
      Signed-off-by: NKyungMin Park <kyungmin.park@samsung.com>
      Signed-off-by: NDave Jones <davej@redhat.com>
      5beae3b9
    • L
      Merge branch 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux · 138c4ae9
      Linus Torvalds 提交于
      * 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux:
        tools, slub: Fix off-by-one buffer corruption after readlink() call
        slub: Discard slab page when node partial > minimum partial number
        slub: correct comments error for per cpu partial
        mm: restrict access to slab files under procfs and sysfs
        slub: Code optimization in get_partial_node()
        slub: doc: update the slabinfo.c file path
        slub: explicitly document position of inserting slab to partial list
        slub: update slabinfo tools to report per cpu partial list statistics
        slub: per cpu cache for partial pages
        slub: return object pointer from get_partial() / new_slab().
        slub: pass kmem_cache_cpu pointer to get_partial()
        slub: Prepare inuse field in new_slab()
        slub: Remove useless statements in __slab_alloc
        slub: free slabs without holding locks
        slub: use print_hex_dump
        slab: use print_hex_dump
      138c4ae9
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin · 3b3dd79d
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin:
        Blackfin: irq: remove IRQF_DISABLED
        Blackfin: boards: clean up i2c_board_info
        Blackfin: drop unused Kconfig symbol
        Blackfin: bf537-stamp: register ASoC EVAL-ADAU1373 board driver
        Blackfin: bf537-stamp: Register adav801 codec and ASoC machine driver
        Blackfin: bf537-stamp: register adau1701 codec and asoc machine driver
        Blackfin: merge asm/mutex.h into kbuild too
        Blackfin: bf537-stamp: fix ad73311 codec config macro
        Blackfin: bf537-stamp: fix ad1836 name
        Blackfin: kgdb_test: rework code to avoid -O0 usage
        Blackfin: fix sparse warnings in copy_to/from_user
        Blackfin: bf548-ezkit: update defconfig
        Blackfin: SMP: fix scheduling deadlock
        Blackfin: H8606: fixup bogus ioresource init
        Blackfin: SMP: convert to common asm-generic/atomic.h
      3b3dd79d
    • L
      Merge branch 'for-linus' of git://neil.brown.name/md · c3ae1f33
      Linus Torvalds 提交于
      * 'for-linus' of git://neil.brown.name/md: (34 commits)
        md: Fix some bugs in recovery_disabled handling.
        md/raid5: fix bug that could result in reads from a failed device.
        lib/raid6: Fix filename emitted in generated code
        md.c: trivial comment fix
        MD: Allow restarting an interrupted incremental recovery.
        md: clear In_sync bit on devices added to an active array.
        md: add proper write-congestion reporting to RAID1 and RAID10.
        md: rename "mdk_personality" to "md_personality"
        md/bitmap remove fault injection options.
        md/raid5: typedef removal: raid5_conf_t -> struct r5conf
        md/raid1: typedef removal: conf_t -> struct r1conf
        md/raid10: typedef removal: conf_t -> struct r10conf
        md/raid0: typedef removal: raid0_conf_t -> struct r0conf
        md/multipath: typedef removal: multipath_conf_t -> struct mpconf
        md/linear: typedef removal: linear_conf_t -> struct linear_conf
        md/faulty: remove typedef: conf_t -> struct faulty_conf
        md/linear: remove typedefs: dev_info_t -> struct dev_info
        md: remove typedefs: mirror_info_t -> struct mirror_info
        md: remove typedefs: r10bio_t -> struct r10bio and r1bio_t -> struct r1bio
        md: remove typedefs: mdk_thread_t -> struct md_thread
        ...
      c3ae1f33
    • L
      Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd · c28cfd60
      Linus Torvalds 提交于
      * 'for-linus' of git://git.open-osd.org/linux-open-osd: (21 commits)
        ore: Enable RAID5 mounts
        exofs: Support for RAID5 read-4-write interface.
        ore: RAID5 Write
        ore: RAID5 read
        fs/Makefile: Always inspect exofs/
        ore: Make ore_calc_stripe_info EXPORT_SYMBOL
        ore/exofs: Change ore_check_io API
        ore/exofs: Define new ore_verify_layout
        ore: Support for partial component table
        ore: Support for short read/writes
        exofs: Support for short read/writes
        ore: Remove check for ios->kern_buff in _prepare_for_striping to later
        ore: cleanup: Embed an ore_striping_info inside ore_io_state
        ore: Only IO one group at a time (API change)
        ore/exofs: Change the type of the devices array (API change)
        ore: Make ore_striping_info and ore_calc_stripe_info public
        exofs: Remove unused data_map member from exofs_sb_info
        exofs: Rename struct ore_components comps => oc
        exofs/super.c: local functions should be static
        exofs/ore.c: local functions should be static
        ...
      c28cfd60
  2. 26 10月, 2011 29 次提交