linux/drivers/platform/x86
Linus Torvalds 77dcfe2b9e Power management updates for 5.4-rc1
- Rework the main suspend-to-idle control flow to avoid repeating
    "noirq" device resume and suspend operations in case of spurious
    wakeups from the ACPI EC and decouple the ACPI EC wakeups support
    from the LPS0 _DSM support (Rafael Wysocki).
 
  - Extend the wakeup sources framework to expose wakeup sources as
    device objects in sysfs (Tri Vo, Stephen Boyd).
 
  - Expose system suspend statistics in sysfs (Kalesh Singh).
 
  - Introduce a new haltpoll cpuidle driver and a new matching
    governor for virtualized guests wanting to do guest-side polling
    in the idle loop (Marcelo Tosatti, Joao Martins, Wanpeng Li,
    Stephen Rothwell).
 
  - Fix the menu and teo cpuidle governors to allow the scheduler tick
    to be stopped if PM QoS is used to limit the CPU idle state exit
    latency in some cases (Rafael Wysocki).
 
  - Increase the resolution of the play_idle() argument to microseconds
    for more fine-grained injection of CPU idle cycles (Daniel Lezcano).
 
  - Switch over some users of cpuidle notifiers to the new QoS-based
    frequency limits and drop the CPUFREQ_ADJUST and CPUFREQ_NOTIFY
    policy notifier events (Viresh Kumar).
 
  - Add new cpufreq driver based on nvmem for sun50i (Yangtao Li).
 
  - Add support for MT8183 and MT8516 to the mediatek cpufreq driver
    (Andrew-sh.Cheng, Fabien Parent).
 
  - Add i.MX8MN support to the imx-cpufreq-dt cpufreq driver (Anson
    Huang).
 
  - Add qcs404 to cpufreq-dt-platdev blacklist (Jorge Ramirez-Ortiz).
 
  - Update the qcom cpufreq driver (among other things, to make it
    easier to extend and to use kryo cpufreq for other nvmem-based
    SoCs) and add qcs404 support to it  (Niklas Cassel, Douglas
    RAILLARD, Sibi Sankar, Sricharan R).
 
  - Fix assorted issues and make assorted minor improvements in the
    cpufreq code (Colin Ian King, Douglas RAILLARD, Florian Fainelli,
    Gustavo Silva, Hariprasad Kelam).
 
  - Add new devfreq driver for NVidia Tegra20 (Dmitry Osipenko, Arnd
    Bergmann).
 
  - Add new Exynos PPMU events to devfreq events and extend that
    mechanism (Lukasz Luba).
 
  - Fix and clean up the exynos-bus devfreq driver (Kamil Konieczny).
 
  - Improve devfreq documentation and governor code, fix spelling
    typos in devfreq (Ezequiel Garcia, Krzysztof Kozlowski, Leonard
    Crestez, MyungJoo Ham, Gaël PORTAY).
 
  - Add regulators enable and disable to the OPP (operating performance
    points) framework (Kamil Konieczny).
 
  - Update the OPP framework to support multiple opp-suspend properties
    (Anson Huang).
 
  - Fix assorted issues and make assorted minor improvements in the OPP
    code (Niklas Cassel, Viresh Kumar, Yue Hu).
 
  - Clean up the generic power domains (genpd) framework (Ulf Hansson).
 
  - Clean up assorted pieces of power management code and documentation
    (Akinobu Mita, Amit Kucheria, Chuhong Yuan).
 
  - Update the pm-graph tool to version 5.5 including multiple fixes
    and improvements (Todd Brandt).
 
  - Update the cpupower utility (Benjamin Weis, Geert Uytterhoeven,
    Sébastien Szymanski).
 -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEE4fcc61cGeeHD/fCwgsRv/nhiVHEFAl2ArZ4SHHJqd0Byand5
 c29ja2kubmV0AAoJEILEb/54YlRxgfYQAK80hs43vWQDmp7XKrN4pQe8+qYULAGO
 fBfrFl+NG9y/cnuqnt3NtA8MoyNsMMkMLkpkEDMfSbYqqH5ehEzX5+uGJWiWx8+Y
 oH5KU8MH7Tj/utYaalGzDt0AHfHZDIGC0NCUNQJVtE/4mOANFabwsCwscp4MrD5Q
 WjFN8U4BrsmWgJdZ/U9QIWcDZ0I+1etCF+rZG2yxSv31FMq2Zk/Qm4YyobqCvQFl
 TR9rxl08wqUmIYIz5cDjt/3AKH7NLLDqOTstbCL7cmufM5XPFc1yox69xc89UrIa
 4AMgmDp7SMwFG/gdUPof0WQNmx7qxmiRAPleAOYBOZW/8jPNZk2y+RhM5NeF72m7
 AFqYiuxqatkSb4IsT8fLzH9IUZOdYr8uSmoMQECw+MHdApaKFjFV8Lb/qx5+AwkD
 y7pwys8dZSamAjAf62eUzJDWcEwkNrujIisGrIXrVHb7ISbweskMOmdAYn9p4KgP
 dfRzpJBJ45IaMIdbaVXNpg3rP7Apfs7X1X+/ZhG6f+zHH3zYwr8Y81WPqX8WaZJ4
 qoVCyxiVWzMYjY2/1lzjaAdqWojPWHQ3or3eBaK52DouyG3jY6hCDTLwU7iuqcCX
 jzAtrnqrNIKufvaObEmqcmYlIIOFT7QaJCtGUSRFQLfSon8fsVSR7LLeXoAMUJKT
 JWQenuNaJngK
 =TBDQ
 -----END PGP SIGNATURE-----

Merge tag 'pm-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull power management updates from Rafael Wysocki:
 "These include a rework of the main suspend-to-idle code flow (related
  to the handling of spurious wakeups), a switch over of several users
  of cpufreq notifiers to QoS-based limits, a new devfreq driver for
  Tegra20, a new cpuidle driver and governor for virtualized guests, an
  extension of the wakeup sources framework to expose wakeup sources as
  device objects in sysfs, and more.

  Specifics:

   - Rework the main suspend-to-idle control flow to avoid repeating
     "noirq" device resume and suspend operations in case of spurious
     wakeups from the ACPI EC and decouple the ACPI EC wakeups support
     from the LPS0 _DSM support (Rafael Wysocki).

   - Extend the wakeup sources framework to expose wakeup sources as
     device objects in sysfs (Tri Vo, Stephen Boyd).

   - Expose system suspend statistics in sysfs (Kalesh Singh).

   - Introduce a new haltpoll cpuidle driver and a new matching governor
     for virtualized guests wanting to do guest-side polling in the idle
     loop (Marcelo Tosatti, Joao Martins, Wanpeng Li, Stephen Rothwell).

   - Fix the menu and teo cpuidle governors to allow the scheduler tick
     to be stopped if PM QoS is used to limit the CPU idle state exit
     latency in some cases (Rafael Wysocki).

   - Increase the resolution of the play_idle() argument to microseconds
     for more fine-grained injection of CPU idle cycles (Daniel
     Lezcano).

   - Switch over some users of cpuidle notifiers to the new QoS-based
     frequency limits and drop the CPUFREQ_ADJUST and CPUFREQ_NOTIFY
     policy notifier events (Viresh Kumar).

   - Add new cpufreq driver based on nvmem for sun50i (Yangtao Li).

   - Add support for MT8183 and MT8516 to the mediatek cpufreq driver
     (Andrew-sh.Cheng, Fabien Parent).

   - Add i.MX8MN support to the imx-cpufreq-dt cpufreq driver (Anson
     Huang).

   - Add qcs404 to cpufreq-dt-platdev blacklist (Jorge Ramirez-Ortiz).

   - Update the qcom cpufreq driver (among other things, to make it
     easier to extend and to use kryo cpufreq for other nvmem-based
     SoCs) and add qcs404 support to it (Niklas Cassel, Douglas
     RAILLARD, Sibi Sankar, Sricharan R).

   - Fix assorted issues and make assorted minor improvements in the
     cpufreq code (Colin Ian King, Douglas RAILLARD, Florian Fainelli,
     Gustavo Silva, Hariprasad Kelam).

   - Add new devfreq driver for NVidia Tegra20 (Dmitry Osipenko, Arnd
     Bergmann).

   - Add new Exynos PPMU events to devfreq events and extend that
     mechanism (Lukasz Luba).

   - Fix and clean up the exynos-bus devfreq driver (Kamil Konieczny).

   - Improve devfreq documentation and governor code, fix spelling typos
     in devfreq (Ezequiel Garcia, Krzysztof Kozlowski, Leonard Crestez,
     MyungJoo Ham, Gaël PORTAY).

   - Add regulators enable and disable to the OPP (operating performance
     points) framework (Kamil Konieczny).

   - Update the OPP framework to support multiple opp-suspend properties
     (Anson Huang).

   - Fix assorted issues and make assorted minor improvements in the OPP
     code (Niklas Cassel, Viresh Kumar, Yue Hu).

   - Clean up the generic power domains (genpd) framework (Ulf Hansson).

   - Clean up assorted pieces of power management code and documentation
     (Akinobu Mita, Amit Kucheria, Chuhong Yuan).

   - Update the pm-graph tool to version 5.5 including multiple fixes
     and improvements (Todd Brandt).

   - Update the cpupower utility (Benjamin Weis, Geert Uytterhoeven,
     Sébastien Szymanski)"

* tag 'pm-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (126 commits)
  cpuidle-haltpoll: Enable kvm guest polling when dedicated physical CPUs are available
  cpuidle-haltpoll: do not set an owner to allow modunload
  cpuidle-haltpoll: return -ENODEV on modinit failure
  cpuidle-haltpoll: set haltpoll as preferred governor
  cpuidle: allow governor switch on cpuidle_register_driver()
  PM: runtime: Documentation: add runtime_status ABI document
  pm-graph: make setVal unbuffered again for python2 and python3
  powercap: idle_inject: Use higher resolution for idle injection
  cpuidle: play_idle: Increase the resolution to usec
  cpuidle-haltpoll: vcpu hotplug support
  cpufreq: Add qcs404 to cpufreq-dt-platdev blacklist
  cpufreq: qcom: Add support for qcs404 on nvmem driver
  cpufreq: qcom: Refactor the driver to make it easier to extend
  cpufreq: qcom: Re-organise kryo cpufreq to use it for other nvmem based qcom socs
  dt-bindings: opp: Add qcom-opp bindings with properties needed for CPR
  dt-bindings: opp: qcom-nvmem: Support pstates provided by a power domain
  Documentation: cpufreq: Update policy notifier documentation
  cpufreq: Remove CPUFREQ_ADJUST and CPUFREQ_NOTIFY policy notifier events
  PM / Domains: Verify PM domain type in dev_pm_genpd_set_performance_state()
  PM / Domains: Simplify genpd_lookup_dev()
  ...
2019-09-17 19:15:14 -07:00
..
intel_speed_select_if platform/x86: ISST: Allow additional TRL MSRs 2019-09-09 13:19:35 +03:00
acer-wireless.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
acer-wmi.c platform/x86: acer-wmi: Switch to acpi_dev_get_first_match_dev() 2019-07-30 14:12:51 +03:00
acerhdf.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
alienware-wmi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
amilo-rfkill.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
apple-gmux.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
asus-laptop.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
asus-nb-wmi.c platform/x86: asus-nb-wmi: Support ALS on the Zenbook UX430UNR 2019-08-16 12:38:48 +03:00
asus-wireless.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
asus-wmi.c platform/x86: asus-wmi: Refactor charge threshold to use the battery hooking API 2019-09-10 14:32:58 +03:00
asus-wmi.h platform/x86: asus-wmi: Only Tell EC the OS will handle display hotkeys from asus_nb_wmi 2019-06-12 11:54:16 +03:00
classmate-laptop.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 2019-05-21 11:28:39 +02:00
compal-laptop.c platform/x86: compal-laptop: Initialize "value" in ec_read_u8() 2019-09-07 21:16:09 +03:00
dcdbas.c docs: driver-api: add a series of orphaned documents 2019-07-15 11:03:02 -03:00
dcdbas.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 287 2019-06-05 17:36:37 +02:00
dell_rbu.c docs: driver-api: add a series of orphaned documents 2019-07-15 11:03:02 -03:00
dell-laptop.c platform-drivers-x86 for v5.3-1 2019-07-14 16:51:47 -07:00
dell-rbtn.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
dell-rbtn.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
dell-smbios-base.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
dell-smbios-smm.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
dell-smbios-wmi.c platform-drivers-x86 for v5.3-1 2019-07-14 16:51:47 -07:00
dell-smbios.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
dell-smo8800.c Merge branch 'i2c/for-5.3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux 2019-07-15 21:10:39 -07:00
dell-wmi-aio.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
dell-wmi-descriptor.c platform-drivers-x86 for v5.3-1 2019-07-14 16:51:47 -07:00
dell-wmi-descriptor.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
dell-wmi-led.c
dell-wmi.c platform/x86: dell-wmi: Use existing defined KBD_LED_* magic values 2019-07-30 14:12:51 +03:00
eeepc-laptop.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
eeepc-wmi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
fujitsu-laptop.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 2019-05-21 11:28:39 +02:00
fujitsu-tablet.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 414 2019-06-05 17:37:14 +02:00
gpd-pocket-fan.c platform/x86: GPD pocket fan: fix spelling mistake: "Mill-celcius" -> "millicelsius" 2018-02-15 12:21:48 +02:00
hdaps.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 271 2019-06-05 17:30:30 +02:00
hp_accel.c platform/x86: hp_accel: Add support for HP ZBook 17 G5 2019-07-29 18:31:48 +03:00
hp-wireless.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 2019-05-21 11:28:39 +02:00
hp-wmi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
huawei-wmi.c platform/x86: wmi: add context argument to the probe function 2019-06-17 15:22:47 +03:00
i2c-multi-instantiate.c platform/x86: i2c-multi-instantiate: Use struct_size() helper 2019-07-30 14:12:51 +03:00
ibm_rtl.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
ideapad-laptop.c platform-drivers-x86 for v5.3-1 2019-07-14 16:51:47 -07:00
intel_atomisp2_pm.c platform/x86: Fix config space access for intel_atomisp2_pm 2018-12-03 21:40:03 +02:00
intel_bxtwc_tmu.c platform/x86: intel_bxtwc_tmu: Remove dev_err() usage after platform_get_irq() 2019-08-01 18:03:02 +03:00
intel_cht_int33fe.c platform/x86: intel_cht_int33fe: Replacing the old connections with references 2019-06-03 10:55:39 +02:00
intel_chtdc_ti_pwrbtn.c platform/x86: intel_chtdc_ti_pwrbtn: Add SPDX identifier 2018-09-27 12:18:16 +03:00
intel_int0002_vgpio.c platform-drivers-x86 for v5.4-1 2019-09-16 19:59:10 -07:00
intel_ips.c platform/x86: intel_ips: Convert to use DEFINE_SHOW_ATTRIBUTE macro 2018-12-03 21:40:03 +02:00
intel_ips.h platform/x86: intel-ips: Convert to use SPDX identifier 2018-09-27 12:18:16 +03:00
intel_menlow.c platform/x86: intel_menlow: avoid null pointer deference error 2019-06-12 12:42:27 +03:00
intel_mid_powerbtn.c platform-drivers-x86 for v4.20-1 2018-11-01 08:42:21 -07:00
intel_mid_thermal.c platform/x86: intel_mid_thermal: Convert to use SPDX identifier 2018-09-27 12:18:17 +03:00
intel_mrfld_pwrbtn.c platform/x86: Add support for Basin Cove power button 2019-05-09 00:33:03 +03:00
intel_oaktrail.c platform/x86: intel_oaktrail: Convert to use SPDX identifier 2018-09-27 12:18:18 +03:00
intel_pmc_core_pltdrv.c platform-drivers-x86 for v5.4-1 2019-09-16 19:59:10 -07:00
intel_pmc_core.c platform-drivers-x86 for v5.4-1 2019-09-16 19:59:10 -07:00
intel_pmc_core.h platform/x86: intel_pmc_core: Allow to dump debug registers on S0ix failure 2019-05-06 17:54:42 +03:00
intel_pmc_ipc.c platform/x86: intel_pmc_ipc: Remove dev_err() usage after platform_get_irq() 2019-08-01 18:03:02 +03:00
intel_punit_ipc.c platform/x86: intel_punit_ipc: Revert "Fix resource ioremap warning" 2019-05-06 17:54:13 +03:00
intel_scu_ipc.c platform/x86: intel_scu_ipc: Convert to use SPDX identifier 2018-09-27 12:18:19 +03:00
intel_scu_ipcutil.c platform/x86: intel_scu_ipc: Convert to use SPDX identifier 2018-09-27 12:18:19 +03:00
intel_telemetry_core.c platform/x86: intel_telemetry: Convert to use SPDX identifier 2018-09-27 12:18:20 +03:00
intel_telemetry_debugfs.c platform/x86: intel_telemetry: no need to check return value of debugfs_create functions 2019-06-17 15:20:58 +03:00
intel_telemetry_pltdrv.c platform-drivers-x86 for v4.20-1 2018-11-01 08:42:21 -07:00
intel_turbo_max_3.c platform/x86: intel_turbo_max_3: Convert to use SPDX identifier 2018-09-27 12:18:20 +03:00
intel-hid.c ACPI: PM: s2idle: Always set up EC GPE for system wakeup 2019-08-21 23:56:05 +02:00
intel-rst.c platform/x86: intel-rst: Convert to use SPDX identifier 2018-09-27 12:18:19 +03:00
intel-smartconnect.c platform/x86: intel-smartconnect: Convert to use SPDX identifier 2018-09-27 12:18:19 +03:00
intel-vbtn.c ACPI: PM: s2idle: Always set up EC GPE for system wakeup 2019-08-21 23:56:05 +02:00
intel-wmi-thunderbolt.c platform/x86: wmi: add context argument to the probe function 2019-06-17 15:22:47 +03:00
Kconfig docs: driver-api: add a series of orphaned documents 2019-07-15 11:03:02 -03:00
lg-laptop.c platform/x86: Add LG Gram laptop special features driver 2018-10-19 19:21:57 +03:00
Makefile platform/x86: intel_pmc_core: Attach using APCI HID "INT33A1" 2019-07-08 16:51:30 +03:00
mlx-platform.c platform/x86: mlx-platform: Fix error handling in mlxplat_init() 2019-07-12 16:00:38 +03:00
msi-laptop.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 1 2019-05-21 11:28:39 +02:00
msi-wmi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
mxm-wmi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
panasonic-laptop.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 392 2019-06-05 17:37:11 +02:00
pcengines-apuv2.c platform/x86: pcengines-apuv2: wire up simswitch gpio as led 2019-07-30 14:14:31 +03:00
peaq-wmi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
pmc_atom.c platform/x86: pmc_atom: Add Siemens SIMATIC IPC227E to critclk_systems DMI table 2019-09-07 21:16:09 +03:00
samsung-laptop.c platform-drivers-x86 for v5.3-1 2019-07-14 16:51:47 -07:00
samsung-q10.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sony-laptop.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
surface3_button.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
surface3-wmi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
surfacepro3_button.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 441 2019-06-05 17:37:17 +02:00
tc1100-wmi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 156 2019-05-30 11:26:35 -07:00
thinkpad_acpi.c platform/x86: thinkpad_acpi: Add ThinkPad PrivacyGuard 2019-09-07 21:16:09 +03:00
topstar-laptop.c platform/x86: topstar-laptop: replace licence text with SPDX tag 2018-02-23 18:43:42 +02:00
toshiba_acpi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 7 2019-05-21 11:28:40 +02:00
toshiba_bluetooth.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
toshiba_haps.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
toshiba-wmi.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 157 2019-05-30 11:26:37 -07:00
touchscreen_dmi.c platform/x86: touchscreen_dmi: Add info for the Trekstor Primebook C11B 2-in-1 2019-09-07 21:16:09 +03:00
wmi-bmof.c platform-drivers-x86 for v5.3-1 2019-07-14 16:51:47 -07:00
wmi.c platform/x86: wmi: Remove acpi_has_method() call 2019-07-30 14:12:51 +03:00
xiaomi-wmi.c platform/x86: wmi: add Xiaomi WMI key driver 2019-06-29 15:56:36 +03:00
xo1-rfkill.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
xo15-ebook.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00