1. 08 6月, 2016 1 次提交
  2. 01 5月, 2015 1 次提交
  3. 29 1月, 2015 1 次提交
  4. 09 12月, 2014 1 次提交
    • M
      thermal: Intel SoC DTS: Don't do thermal zone update inside spin_lock · 05629296
      Maurice Petallo 提交于
      The driver calls spin_lock_irqsave during DTS interrupt. The interrupt
      handle then calls thermal_zone_device_update which implicitly calls
      a sleep function and produce the following bug:
      
      BUG: sleeping function called from invalid context at kernel/locking/mutex.c:97
      in_atomic(): 1, irqs_disabled(): 1, pid: 920, name: irq/86-soc_dts
      CPU: 0 PID: 920 Comm: irq/86-soc_dts Tainted: G            E  3.17.0-rc2+ #1
      Hardware name: Intel Corp. VALLEYVIEW B3 PLATFORM/NOTEBOOK, BIOS BYTICRB1.86C.0092.R31.1408290850 08/29/2014
       00000000 00000000 c25dbe74 c1818cfd f3cc488c c25dbe9c c1059305 c1b4063b
       00000001 00000001 00000398 f3cc488c f6817644 f6817644 f3ecc6c0 c25dbea8
       c18208f2 f6817400 c25dbebc c159b0bb c25dbedc f6817400 f32a2300 c25dbee8
      Call Trace:
       [<c1818cfd>] dump_stack+0x48/0x60
       [<c1059305>] __might_sleep+0xec/0xf4
       [<c18208f2>] mutex_lock+0x1c/0x34
       [<c159b0bb>] thermal_zone_get_temp+0x34/0x59
       [<c159bde5>] thermal_zone_device_update+0x2d/0xcb
       [<f85da16a>] ? iosf_mbi_write+0x6c/0x74 [iosf_mbi]
       [<f7c7445d>] soc_irq_thread_fn+0x10c/0x163 [intel_soc_dts_thermal]
       [<c107b72b>] irq_thread_fn+0x18/0x2a
       [<c107bedb>] irq_thread+0x81/0x11f
       [<c107b713>] ? irq_finalize_oneshot+0x7c/0x7c
       [<c107bf79>] ? irq_thread+0x11f/0x11f
       [<c107be5a>] ? wake_threads_waitq+0x31/0x31
       [<c1054217>] kthread+0x87/0x8c
       [<c1821e41>] ret_from_kernel_thread+0x21/0x30
       [<c1054190>] ? __kthread_parkme+0x55/0x55
      Signed-off-by: NMaurice Petallo <mauricex.r.petallo@intel.com>
      Acked-by: NSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Acked-by: NEduardo Valentin <edubezval@gmail.com>
      CC: Kweh, Hock Leong <hock.leong.kweh@intel.com>
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      05629296
  5. 15 5月, 2014 1 次提交
    • S
      thermal: Intel SoC DTS thermal · bc40b5e3
      Srinivas Pandruvada 提交于
      In the Intel SoCs like Bay Trail, there are 2 additional digital temperature
      sensors(DTS), in addition to the standard DTSs in the core. Also they support
      4 programmable thresholds, out of which two can be used by OSPM. These
      thresholds can be used by OSPM thermal control. Out of these two thresholds,
      one is used by driver and one user mode can change via thermal sysfs to get
      notifications on threshold violations.
      
      The driver defines one critical trip points, which is set to TJ MAX - offset.
      The offset can be changed via module parameter (default 5C). Also it uses
      one of the thresholds to get notification for this temperature violation.
      This is very important for orderly shutdown as the many of these devices don't
      have ACPI thermal zone, and expects that there is some other thermal control
      mechanism present in OSPM. When a Linux distro is used without additional
      specialized thermal control program, BIOS can do force shutdown when thermals
      are not under control. When temperature reaches critical, the Linux thermal
      core will initiate an orderly shutdown.
      Signed-off-by: NSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
      Signed-off-by: NZhang Rui <rui.zhang@intel.com>
      bc40b5e3