1. 09 9月, 2017 1 次提交
  2. 03 7月, 2017 1 次提交
  3. 19 5月, 2017 1 次提交
    • P
      iTCO_wdt: all versions count down twice · 1fccb730
      Paolo Bonzini 提交于
      The ICH9 is listed as having TCO v2, and indeed the behavior in the
      datasheet corresponds to v2 (for example the NO_REBOOT flag is
      accessible via the 16KiB-aligned Root Complex Base Address).
      
      However, the TCO counts twice just like in v1; the documentation
      of the SECOND_TO_STS bit says: "ICH9 sets this bit to 1 to indicate
      that the TIMEOUT bit had been (or is currently) set and a second
      timeout occurred before the TCO_RLD register was written. If this
      bit is set and the NO_REBOOT config bit is 0, then the ICH9 will
      reboot the system after the second timeout.  The same can be found
      in the BayTrail (Atom E3800) datasheet, and even HOWTOs around
      the Internet say that it will reboot after _twice_ the specified
      heartbeat.
      
      I did not find the Apollo Lake datasheet, but because v4/v5 has
      a SECOND_TO_STS bit just like the previous version I'm enabling
      this for Apollo Lake as well.
      
      Cc: linux-watchdog@vger.kernel.org
      Reviewed-by: NAndy Shevchenko <andy.shevchenko@gmail.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Reviewed-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      1fccb730
  4. 25 2月, 2017 2 次提交
  5. 24 10月, 2016 1 次提交
  6. 08 10月, 2016 1 次提交
  7. 24 9月, 2016 2 次提交
  8. 20 9月, 2016 1 次提交
  9. 25 7月, 2016 1 次提交
  10. 19 7月, 2016 1 次提交
    • G
      watchdog: Implement status function in watchdog core · 90b826f1
      Guenter Roeck 提交于
      Up to now, the watchdog status function called a driver function,
      which was supposed to return the watchdog status. All but one
      driver using the watchdog core did not implement this function,
      and the driver implementing it did not implement it correctly
      (the function is supposed to return WDIOF_ flags). At the same time,
      at least some of the status information can be provided by the watchdog
      core.
      
      Provide the available status bits directly from the watchdog driver core.
      Call the driver status function if it exists to get the boot status, but
      always provide WDIOF_MAGICCLOSE and WDIOF_KEEPALIVEPING internally.
      This patch makes the 'status' sysfs attribute always available.
      This attribute is now displayed as hex number with 0x prepended to be
      easier to decode.
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      90b826f1
  11. 18 7月, 2016 4 次提交
  12. 15 5月, 2016 1 次提交
  13. 14 5月, 2016 1 次提交
  14. 17 3月, 2016 5 次提交
  15. 05 3月, 2016 1 次提交
  16. 01 3月, 2016 1 次提交
  17. 01 2月, 2016 1 次提交
  18. 12 1月, 2016 2 次提交
  19. 30 12月, 2015 1 次提交
    • G
      watchdog: Separate and maintain variables based on variable lifetime · b4ffb190
      Guenter Roeck 提交于
      All variables required by the watchdog core to manage a watchdog are
      currently stored in struct watchdog_device. The lifetime of those
      variables is determined by the watchdog driver. However, the lifetime
      of variables used by the watchdog core differs from the lifetime of
      struct watchdog_device. To remedy this situation, watchdog drivers
      can implement ref and unref callbacks, to be used by the watchdog
      core to lock struct watchdog_device in memory.
      
      While this solves the immediate problem, it depends on watchdog drivers
      to actually implement the ref/unref callbacks. This is error prone,
      often not implemented in the first place, or not implemented correctly.
      
      To solve the problem without requiring driver support, split the variables
      in struct watchdog_device into two data structures - one for variables
      associated with the watchdog driver, one for variables associated with
      the watchdog core. With this approach, the watchdog core can keep track
      of its variable lifetime and no longer depends on ref/unref callbacks
      in the driver. As a side effect, some of the variables originally in
      struct watchdog_driver are now private to the watchdog core and no longer
      visible in watchdog drivers.
      
      As a side effect of the changes made, an ioctl will now always fail
      with -ENODEV after a watchdog device was unregistered with the character
      device still open. Previously, it would only fail with -ENODEV in some
      situations. Also, ioctl operations are now atomic from driver perspective.
      With this change, it is now guaranteed that the driver will not unregister
      a watchdog between a timeout change and the subsequent ping.
      
      The 'ref' and 'unref' callbacks in struct watchdog_driver are no longer
      used and marked as deprecated.
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      b4ffb190
  20. 13 12月, 2015 2 次提交
  21. 10 9月, 2015 1 次提交
  22. 01 7月, 2015 1 次提交
  23. 29 6月, 2015 1 次提交
  24. 22 6月, 2015 1 次提交
  25. 26 9月, 2014 1 次提交
  26. 06 8月, 2014 1 次提交
  27. 30 7月, 2014 1 次提交
  28. 31 3月, 2014 2 次提交