PCI: Don't clear ASPM bits when the FADT declares it's unsupported

Bug #1441335 reported by Jared Dominguez
28
This bug affects 3 people
Affects Status Importance Assigned to Milestone
HWE Next
Fix Released
Undecided
Alex Hung
Trusty
Fix Committed
Undecided
Unassigned
Utopic
Fix Committed
Undecided
Unassigned
Vivid
Fix Released
Undecided
Alex Hung
linux (Ubuntu)
Fix Released
Medium
Unassigned
Trusty
Fix Released
Undecided
Unassigned
Utopic
Fix Released
Undecided
Unassigned
Vivid
Fix Released
Medium
Unassigned

Bug Description

Matthew Garrett developed a patch to make Linux's ASPM support match reality. Please backport this to Ubuntu's 3.13, 3.16 and 3.19 kernels.

This should offer power savings and would match Windows behavior.

Please see the submission at <https://lkml.org/lkml/2015/4/7/781>.

Revision history for this message
Brad Figg (brad-figg) wrote : Missing required logs.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 1441335

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Triaged
tags: added: bot-stop-nagging kernel-da-key
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

It looks like Matthew Garrett just submitted his patch on April 7th. We should monitor this submission. It can be cherry-picked into the Ubuntu kernels once it is accepted into the mainline kernel.

Revision history for this message
Alex Hung (alexhung) wrote :

This seems to be in mainline kernel as below:

commit 387d37577fdd05e9472c20885464c2a53b3c945f
Author: Matthew Garrett <email address hidden>
Date: Tue Apr 7 11:07:00 2015 -0700

    PCI: Don't clear ASPM bits when the FADT declares it's unsupported

    Communications with a hardware vendor confirm that the expected behaviour
    on systems that set the FADT ASPM disable bit but which still grant full
    PCIe control is for the OS to leave any BIOS configuration intact and

Luis Henriques (henrix)
Changed in linux (Ubuntu Trusty):
status: New → Fix Committed
Changed in linux (Ubuntu Utopic):
status: New → Fix Committed
Changed in linux (Ubuntu Vivid):
status: Triaged → Fix Committed
Alex Hung (alexhung)
Changed in hwe-next:
assignee: nobody → Alex Hung (alexhung)
Changed in hwe-next:
status: New → Fix Committed
Revision history for this message
Luis Henriques (henrix) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-trusty' to 'verification-done-trusty'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-trusty verification-needed-utopic verification-needed-vivid
Revision history for this message
Luis Henriques (henrix) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-utopic' to 'verification-done-utopic'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

Revision history for this message
Luis Henriques (henrix) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-vivid' to 'verification-done-vivid'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (17.8 KiB)

This bug was fixed in the package linux - 3.19.0-17.17

---------------
linux (3.19.0-17.17) vivid; urgency=low

  [ Brad Figg ]

  * Release Tracking Bug
    - LP: #1452000

  [ Damien Lespiau ]

  * SAUCE: i915_bpo: drm/i915/skl: Fix stepping check for a couple of W/As
    - LP: #1449469
  * SAUCE: i915_bpo: drm/i915/skl: Implement WaDisableVFUnitClockGating
    - LP: #1449469
  * SAUCE: i915_bpo: drm/i915/skl: Add the INIT power domain to the MISC
    I/O power well
    - LP: #1449469
  * SAUCE: i915_bpo: drm/i915/skl: Fix the CTRL typo in the DPLL_CRTL1
    defines
    - LP: #1449469
  * SAUCE: i915_bpo: drm/i915/skl: Make the Misc I/O power well part of the
    PLLS domain
    - LP: #1449469
  * SAUCE: i915_bpo: drm/i915/skl: Deinit/init the display at
    suspend/resume
    - LP: #1449469
  * SAUCE: i915_bpo: drm/i915/skl: Change CDCLK behind PCU's back
    - LP: #1449469
  * SAUCE: i915_bpo: drm/i915/skl: gen6+ platforms support runtime PM
    - LP: #1449469

  [ Imre Deak ]

  * SAUCE: i915_bpo: drm/i915/gen9: fix PIPE_CONTROL flush for
    VS_INVALIDATE
    - LP: #1449469

  [ Leann Ogasawara ]

  * [Config] Set CONFIG_XEN_MAX_DOMAIN_MEMORY defaults

  [ Matt Roper ]

  * SAUCE: i915_bpo: drm/i915: Switch to full atomic helpers for plane
    updates/disable, take two
    - LP: #1449469

  [ Sonika Jindal ]

  * SAUCE: i915_bpo: drm/i915/skl: Allow universal planes to position
    - LP: #1449469
  * SAUCE: i915_bpo: drm/i915/skl: Support for 90/270 rotation
    - LP: #1449469
  * SAUCE: i915_bpo: drm/i915/skl: Add back HDMI translation table
    - LP: #1449469

  [ Stefan Bader ]

  * SAUCE: vesafb: Set mtrr:3 (write-combining) as default
    - LP: #1434581

  [ Timo Aaltonen ]

  * SAUCE: Call i915_bpo specific functions from the hda driver
    - LP: #1449464
  * SAUCE: i915_bpo: Use get_display_clock_speed
    - LP: #1449469
  * SAUCE: i915_bpo: Add a few register definitions
    - LP: #1449469

  [ Upstream Kernel Changes ]

  * Revert "sparc/PCI: Clip bridge windows to fit in upstream windows"
    - LP: #1446316
  * Revert "PM / hibernate: avoid unsafe pages in e820 reserved regions"
    - LP: #1446316
  * Revert "libceph: use memalloc flags for net IO"
    - LP: #1446316
  * Revert "net: Reset secmark when scrubbing packet"
    - LP: #1451996
  * ASoC: da732x: Fix control-less DAPM routes
    - LP: #1446316
  * ASoC: ak4671: Fix control-less DAPM routes
    - LP: #1446316
  * ASoC: sn95031: Fix control-less DAPM routes
    - LP: #1446316
  * ASoC: sgtl5000: remove useless register write clearing CHRGPUMP_POWERUP
    - LP: #1446316
  * ASoC: pcm1681: Fix wrong value references for boolean kctl
    - LP: #1446316
  * ASoC: cs4271: Fix wrong value references for boolean kctl
    - LP: #1446316
  * ASoC: es8238: Fix wrong value references for boolean kctl
    - LP: #1446316
  * ASoC: wm8960: Fix wrong value references for boolean kctl
    - LP: #1446316
  * ASoC: tas5086: Fix wrong value references for boolean kctl
    - LP: #1446316
  * ASoC: wm8731: Fix wrong value references for boolean kctl
    - LP: #1446316
  * ASoC: wm2000: Fix wrong value references for boolean kctl
    - LP: #1446316
  * ASoC: wm8903: Fix wrong value referen...

Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Alex Hung (alexhung)
tags: added: verification-done-vivid
removed: verification-needed-vivid
Alex Hung (alexhung)
tags: added: verification-done-utopic
removed: verification-needed-utopic
Alex Hung (alexhung)
tags: added: verification-done-trusty
removed: verification-needed-trusty
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (16.1 KiB)

This bug was fixed in the package linux - 3.13.0-53.88

---------------
linux (3.13.0-53.88) trusty; urgency=low

  [ Brad Figg ]

  * Release Tracking Bug
    - LP: #1454785

  [ Upstream Kernel Changes ]

  * mmc: card: Don't access RPMB partitions for normal read/write
    - LP: #1454013

linux (3.13.0-53.87) trusty; urgency=low

  [ Luis Henriques ]

  * Release Tracking Bug
    - LP: #1452736

  [ dann frazier ]

  * [Config] CONFIG_{EFI_PARAMS_FROM_FDT,GENERIC_EARLY_IOREMAP,LIBFDT}=y
    - LP: #1441876
  * Move get_dram_base to arm private file
    - LP: #1441876
  * arm64: Implement efi_enabled()
    - LP: #1441876
  * [Config] CONFIG_RTC_DRV_EFI=y on arm64
    - LP: #1441291

  [ Kamal Mostafa ]

  * Fix "mei: me: release hw from reset only during the reset flow"
    - LP: #1450813

  [ Stefan Bader ]

  * SAUCE: vesafb: Set mtrr:3 (write-combining) as default
    - LP: #1434581

  [ Upstream Kernel Changes ]

  * Revert "net: cx82310_eth: use common match macro"
    - LP: #1451900
  * netfilter: nf_conntrack: reserve two bytes for nf_ct_ext->len
    - LP: #1442080
    - CVE-2014-9715
  * add generic fixmap.h
    - LP: #1441876
  * mm: create generic early_ioremap() support
    - LP: #1441876
  * arm64: initialize pgprot info earlier in boot
    - LP: #1441876
  * arm64: add early_ioremap support
    - LP: #1441876
  * arm64: fixmap: fix missing sub-page offset for earlyprintk
    - LP: #1441876
  * efi: create memory map iteration helper
    - LP: #1441876
  * efi: Add get_dram_base() helper function
    - LP: #1441876
  * lib: add fdt_empty_tree.c
    - LP: #1441876
  * doc: efi-stub.txt updates for ARM
    - LP: #1441876
  * efi: add helper function to get UEFI params from FDT
    - LP: #1441876
  * arm64: Add function to create identity mappings
    - LP: #1441876
  * efi: Add shared FDT related functions for ARM/ARM64
    - LP: #1441876
  * arm64: add EFI runtime services
    - LP: #1441876
  * doc: arm: add UEFI support documentation
    - LP: #1441876
  * arm64: efi: add EFI stub
    - LP: #1441876
  * doc: arm64: add description of EFI stub support
    - LP: #1441876
  * efi/arm64: ignore dtb= when UEFI SecureBoot is enabled
    - LP: #1441876
  * arm64: efi: only attempt efi map setup if booting via EFI
    - LP: #1441876
  * PCI: Don't clear ASPM bits when the FADT declares it's unsupported
    - LP: #1441335
  * regmap: Skip read-only registers in regcache_sync()
    - LP: #1448830
  * rtc: ia64: allow other architectures to use EFI RTC
    - LP: #1441291
  * rtc: Disable EFI rtc for x86
    - LP: #1441291
  * mei: me: fix hw ready reset flow
    - LP: #1450813
  * Input: serio - add firmware_id sysfs attribute
    - LP: #1414930
  * Input: i8042 - add firmware_id support
    - LP: #1414930
  * Input: Add INPUT_PROP_TOPBUTTONPAD device property
    - LP: #1414930
  * Input: synaptics - report INPUT_PROP_TOPBUTTONPAD property
    - LP: #1414930
  * Input: synaptics - add a matches_pnp_id helper function
    - LP: #1414930
  * Input: synaptics - change min/max quirk table to pnp-id matching
    - LP: #1414930
  * Input: psmouse - add psmouse_matches_pnp_id helper function
    - LP: #1414930
  * Input: synaptics - split synapt...

Changed in linux (Ubuntu Trusty):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (11.9 KiB)

This bug was fixed in the package linux - 3.16.0-38.52

---------------
linux (3.16.0-38.52) utopic; urgency=low

  [ Luis Henriques ]

  * Release Tracking Bug
    - LP: #1452623

  [ Stefan Bader ]

  * SAUCE: vesafb: Set mtrr:3 (write-combining) as default
    - LP: #1434581

  [ Upstream Kernel Changes ]

  * regmap: Skip read-only registers in regcache_sync()
    - LP: #1448830
  * fuse: notify: don't move pages
    - LP: #1449548
  * fuse: set stolen page uptodate
    - LP: #1449548
  * dm thin: fix to consistently zero-fill reads to unprovisioned blocks
    - LP: #1449548
  * dm: hold suspend_lock while suspending device during device deletion
    - LP: #1449548
  * dm snapshot: suspend origin when doing exception handover
    - LP: #1449548
  * dm snapshot: suspend merging snapshot when doing exception handover
    - LP: #1449548
  * dm io: deal with wandering queue limits when handling REQ_DISCARD and
    REQ_WRITE_SAME
    - LP: #1449548
  * crypto: arm/aes update NEON AES module to latest OpenSSL version
    - LP: #1449548
  * mac80211: drop unencrypted frames in mesh fwding
    - LP: #1449548
  * mac80211: disable u-APSD queues by default
    - LP: #1449548
  * ASoC: ak4671: Fix control-less DAPM routes
    - LP: #1449548
  * ASoC: da732x: Fix control-less DAPM routes
    - LP: #1449548
  * ASoC: sn95031: Fix control-less DAPM routes
    - LP: #1449548
  * virtio_console: init work unconditionally
    - LP: #1449548
  * virtio_console: avoid config access from irq
    - LP: #1449548
  * clocksource: efm32: Fix a NULL pointer dereference
    - LP: #1449548
  * clockevents: sun5i: Fix setup_irq init sequence
    - LP: #1449548
  * x86/vdso: Fix the build on GCC5
    - LP: #1449548
  * ASoC: sgtl5000: remove useless register write clearing CHRGPUMP_POWERUP
    - LP: #1449548
  * regmap: regcache-rbtree: Fix present bitmap resize
    - LP: #1449548
  * regulator: Only enable disabled regulators on resume
    - LP: #1449548
  * regulator: core: Fix enable GPIO reference counting
    - LP: #1449548
  * Input: psmouse - add psmouse_matches_pnp_id helper function
    - LP: #1449548
  * Input: synaptics - split synaptics_resolution(), query first
    - LP: #1449548
  * Input: synaptics - log queried and quirked dimension values
    - LP: #1449548
  * Input: synaptics - query min dimensions for fw v8.1
    - LP: #1449548
  * Input: synaptics - remove obsolete min/max quirk for X240
    - LP: #1449548
  * Input: synaptics - support min/max board id in min_max_pnpid_table
    - LP: #1449548
  * Input: synaptics - skip quirks when post-2013 dimensions
    - LP: #1449548
  * Input: synaptics - fix middle button on Lenovo 2015 products
    - LP: #1449548
  * Input: synaptics - handle spurious release of trackstick buttons
    - LP: #1449548
  * Input: synaptics - do not retrieve the board id on old firmwares
    - LP: #1449548
  * vt6655: RFbSetPower fix missing rate RATE_12M
    - LP: #1449548
  * x86/asm/entry/32: Fix user_mode() misuses
    - LP: #1449548
  * ASoC: adav80x: Fix wrong value references for boolean kctl
    - LP: #1449548
  * ASoC: ak4641: Fix wrong value references for boolean kctl
    - LP: #1449548
  * ASoC: cs4271: Fix wrong...

Changed in linux (Ubuntu Utopic):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (18.1 KiB)

This bug was fixed in the package linux - 3.19.0-18.18

---------------
linux (3.19.0-18.18) vivid; urgency=low

  [ Luis Henriques ]

  * Release Tracking Bug
    - LP: #1456732

  [ Upstream Kernel Changes ]

  * Revert "drm/i915: remove intel_pipe_set_base() (v4)"
    - LP: #1453593

linux (3.19.0-17.17) vivid; urgency=low

  [ Brad Figg ]

  * Release Tracking Bug
    - LP: #1452000

  [ Damien Lespiau ]

  * SAUCE: i915_bpo: drm/i915/skl: Fix stepping check for a couple of W/As
    - LP: #1449469
  * SAUCE: i915_bpo: drm/i915/skl: Implement WaDisableVFUnitClockGating
    - LP: #1449469
  * SAUCE: i915_bpo: drm/i915/skl: Add the INIT power domain to the MISC
    I/O power well
    - LP: #1449469
  * SAUCE: i915_bpo: drm/i915/skl: Fix the CTRL typo in the DPLL_CRTL1
    defines
    - LP: #1449469
  * SAUCE: i915_bpo: drm/i915/skl: Make the Misc I/O power well part of the
    PLLS domain
    - LP: #1449469
  * SAUCE: i915_bpo: drm/i915/skl: Deinit/init the display at
    suspend/resume
    - LP: #1449469
  * SAUCE: i915_bpo: drm/i915/skl: Change CDCLK behind PCU's back
    - LP: #1449469
  * SAUCE: i915_bpo: drm/i915/skl: gen6+ platforms support runtime PM
    - LP: #1449469

  [ Imre Deak ]

  * SAUCE: i915_bpo: drm/i915/gen9: fix PIPE_CONTROL flush for
    VS_INVALIDATE
    - LP: #1449469

  [ Leann Ogasawara ]

  * [Config] Set CONFIG_XEN_MAX_DOMAIN_MEMORY defaults

  [ Matt Roper ]

  * SAUCE: i915_bpo: drm/i915: Switch to full atomic helpers for plane
    updates/disable, take two
    - LP: #1449469

  [ Sonika Jindal ]

  * SAUCE: i915_bpo: drm/i915/skl: Allow universal planes to position
    - LP: #1449469
  * SAUCE: i915_bpo: drm/i915/skl: Support for 90/270 rotation
    - LP: #1449469
  * SAUCE: i915_bpo: drm/i915/skl: Add back HDMI translation table
    - LP: #1449469

  [ Stefan Bader ]

  * SAUCE: vesafb: Set mtrr:3 (write-combining) as default
    - LP: #1434581

  [ Timo Aaltonen ]

  * SAUCE: Call i915_bpo specific functions from the hda driver
    - LP: #1449464
  * SAUCE: i915_bpo: Use get_display_clock_speed
    - LP: #1449469
  * SAUCE: i915_bpo: Add a few register definitions
    - LP: #1449469

  [ Upstream Kernel Changes ]

  * Revert "sparc/PCI: Clip bridge windows to fit in upstream windows"
    - LP: #1446316
  * Revert "PM / hibernate: avoid unsafe pages in e820 reserved regions"
    - LP: #1446316
  * Revert "libceph: use memalloc flags for net IO"
    - LP: #1446316
  * Revert "net: Reset secmark when scrubbing packet"
    - LP: #1451996
  * ASoC: da732x: Fix control-less DAPM routes
    - LP: #1446316
  * ASoC: ak4671: Fix control-less DAPM routes
    - LP: #1446316
  * ASoC: sn95031: Fix control-less DAPM routes
    - LP: #1446316
  * ASoC: sgtl5000: remove useless register write clearing CHRGPUMP_POWERUP
    - LP: #1446316
  * ASoC: pcm1681: Fix wrong value references for boolean kctl
    - LP: #1446316
  * ASoC: cs4271: Fix wrong value references for boolean kctl
    - LP: #1446316
  * ASoC: es8238: Fix wrong value references for boolean kctl
    - LP: #1446316
  * ASoC: wm8960: Fix wrong value references for boolean kctl
    - LP: #1446316
  * ASoC: tas5086: Fix wrong value references for boolean kctl
    - ...

Changed in linux (Ubuntu Vivid):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.