I am running an alder lake i7 1260P with built-in bluetooth.
This adapter always worked fine with no special config, but since I booted Linux 6.7, the device completely disappeared. There's no mention of bluetooth in the kernel or system logs, there's no device node, and there's no entry in lspci.
When I boot the last working kernel again (6.6.10), the device also doesn't appear (even though it did before, see logs below).
I also tried booting a ubuntu live ISO to exclude any configuration issues with my distro's (NixOS) kernel or such, and also there the device did not show up.
I am not sure at all that this is related to the kernel, but I wouldn't know where else to look. I am including below my system logs (journalctl -g 'blue|Blue|Linux') showing the kernel version and the bluetooth related entries. As you can see, on 6.6.10 the bluetooth module got loaded, /dev/hci0 gets created, and user space sets up the bluetooth stack.
The next boot entry is the first time I booted 6.7, and there's no mention of bluetooth at all in the logs. I tried to load the bluetooth module manually, which succeeds but doesn't create a device node.
When I boot 6.6.10 again now, I get exactly the same as on 6.7. I don't know if the kernel could have done anything persistent to the device that makes that it doesn't get initialised anymore?
I'm not sure how to debug this further, let me know if there's a way to get more detailed info in the kernel logs or such.
Thanks,
Ramses
Logs with 6.6.10:
-- Boot 7847b5595e1d40a8bf2624542e5fff74 --
jan 09 02:03:50 localhost kernel: Linux version 6.6.10 (nixbld@localhost) (gcc (GCC) 12.3.0, GNU ld (GNU Binutils) 2.40) #1-NixOS SMP PREEMPT_DYNAMIC Fri Jan 5 14:19:45 UTC 2024
jan 09 02:03:50 localhost kernel: SELinux: Initializing.
jan 09 02:03:50 localhost kernel: usb usb1: Manufacturer: Linux 6.6.10 xhci-hcd
jan 09 02:03:50 localhost kernel: usb usb2: Manufacturer: Linux 6.6.10 xhci-hcd
jan 09 02:04:02 starbook kernel: Linux agpgart interface v0.103
jan 09 02:04:02 starbook kernel: mc: Linux media interface: v0.10
jan 09 02:04:02 starbook kernel: Bluetooth: Core ver 2.22
jan 09 02:04:02 starbook kernel: Bluetooth: HCI device and connection manager initialized
jan 09 02:04:02 starbook kernel: Bluetooth: HCI socket layer initialized
jan 09 02:04:02 starbook kernel: Bluetooth: L2CAP socket layer initialized
jan 09 02:04:02 starbook kernel: Bluetooth: SCO socket layer initialized
jan 09 02:04:03 starbook kernel: videodev: Linux video capture interface: v2.00
jan 09 02:04:03 starbook kernel: Intel(R) Wireless WiFi driver for Linux
jan 09 02:04:03 starbook kernel: Bluetooth: hci0: Firmware timestamp 2023.42 buildtype 1 build 73111
jan 09 02:04:03 starbook kernel: Bluetooth: hci0: No support for _PRR ACPI method
jan 09 02:04:03 starbook kernel: Bluetooth: hci0: Found device firmware: intel/ibt-0041-0041.sfi
jan 09 02:04:03 starbook kernel: Bluetooth: hci0: Boot Address: 0x100800
jan 09 02:04:03 starbook kernel: Bluetooth: hci0: Firmware Version: 151-42.23
jan 09 02:04:03 starbook kernel: Bluetooth: hci0: Firmware already loaded
jan 09 02:04:03 starbook kernel: pps_core: LinuxPPS API ver. 1 registered
jan 09 02:04:04 starbook dbus-broker-launch[1265]: Ignoring duplicate name 'org.bluez.mesh' in service file '/nix/store/6dln0pmd1zb9xg4c81l3k08igxh98j0w-bluez-5.70/share/dbus-1/system-services/org.bluez.>
jan 09 02:04:04 starbook dbus-broker-launch[1265]: Ignoring duplicate name 'org.bluez' in service file '/nix/store/6dln0pmd1zb9xg4c81l3k08igxh98j0w-bluez-5.70/share/dbus-1/system-services/org.bluez.servi>
jan 09 02:04:04 starbook systemd[1]: Starting Bluetooth service...
jan 09 02:04:04 starbook (uetoothd)[1275]: bluetooth.service: ConfigurationDirectory 'bluetooth' already exists but the mode is different. (File system: 755 ConfigurationDirectoryMode: 555)
jan 09 02:04:04 starbook kernel: Bluetooth: BNEP (Ethernet Emulation) ver 1.3
jan 09 02:04:04 starbook kernel: Bluetooth: BNEP socket layer initialized
jan 09 02:04:04 starbook kernel: Bluetooth: MGMT ver 1.22
jan 09 02:04:04 starbook bluetoothd[1275]: Bluetooth daemon 5.70
jan 09 02:04:04 starbook bluetoothd[1275]: Bluetooth management interface 1.22 initialized
jan 09 02:04:04 starbook systemd[1]: Started Bluetooth service.
jan 09 02:04:04 starbook systemd[1]: Reached target Bluetooth Support.
jan 09 02:04:05 starbook dbus-broker-launch[1774]: Ignoring duplicate name 'org.bluez.obex' in service file '/nix/store/hkws1iw1422s6jifkv2n6xc3iwad5pyg-system-path/share/dbus-1/services/org.bluez.obex.s>
jan 09 02:04:05 starbook dbus-broker-launch[1774]: Ignoring duplicate name 'org.bluez.obex' in service file '/nix/store/6dln0pmd1zb9xg4c81l3k08igxh98j0w-bluez-5.70/share/dbus-1/services/org.bluez.obex.se>
jan 09 02:04:08 starbook kernel: Bluetooth: RFCOMM TTY layer initialized
jan 09 02:04:08 starbook kernel: Bluetooth: RFCOMM socket layer initialized
jan 09 02:04:08 starbook kernel: Bluetooth: RFCOMM ver 1.11
jan 09 02:04:15 starbook dbus-broker-launch[2343]: Ignoring duplicate name 'org.bluez.obex' in service file '/nix/store/hkws1iw1422s6jifkv2n6xc3iwad5pyg-system-path/share/dbus-1/services/org.bluez.obex.s>
jan 09 02:04:15 starbook dbus-broker-launch[2343]: Ignoring duplicate name 'org.bluez.obex' in service file '/nix/store/6dln0pmd1zb9xg4c81l3k08igxh98j0w-bluez-5.70/share/dbus-1/services/org.bluez.obex.se>
jan 09 09:22:05 starbook systemd[1]: Stopped target Bluetooth Support.
jan 09 09:22:05 starbook systemd[1]: Stopping Bluetooth service...
jan 09 09:22:05 starbook systemd[1]: bluetooth.service: Deactivated successfully.
jan 09 09:22:05 starbook systemd[1]: Stopped Bluetooth service.
With 6.7
-- Boot 7840f56ab2434c9fb1b899e7abea32cc --
jan 09 09:26:07 localhost kernel: Linux version 6.7.0 (nixbld@localhost) (gcc (GCC) 12.3.0, GNU ld (GNU Binutils) 2.40) #1-NixOS SMP PREEMPT_DYNAMIC Sun Jan 7 20:18:38 UTC 2024
jan 09 09:26:07 localhost kernel: SELinux: Initializing.
jan 09 09:26:07 localhost kernel: usb usb1: Manufacturer: Linux 6.7.0 xhci-hcd
jan 09 09:26:07 localhost kernel: usb usb2: Manufacturer: Linux 6.7.0 xhci-hcd
jan 09 09:26:17 starbook kernel: mc: Linux media interface: v0.10
jan 09 09:26:17 starbook kernel: Linux agpgart interface v0.103
jan 09 09:26:17 starbook kernel: videodev: Linux video capture interface: v2.00
jan 09 09:26:17 starbook kernel: Intel(R) Wireless WiFi driver for Linux
jan 09 09:26:17 starbook kernel: pps_core: LinuxPPS API ver. 1 registered
jan 09 09:26:18 starbook dbus-broker-launch[1198]: Ignoring duplicate name 'org.bluez.mesh' in service file '/nix/store/6dln0pmd1zb9xg4c81l3k08igxh98j0w-bluez-5.70/share/dbus-1/system-services/org.bluez.>
jan 09 09:26:18 starbook dbus-broker-launch[1198]: Ignoring duplicate name 'org.bluez' in service file '/nix/store/6dln0pmd1zb9xg4c81l3k08igxh98j0w-bluez-5.70/share/dbus-1/system-services/org.bluez.servi>
jan 09 09:26:20 starbook dbus-broker-launch[1691]: Ignoring duplicate name 'org.bluez.obex' in service file '/nix/store/faz2vqhyjls6xvblgv959qpsj33bclwa-system-path/share/dbus-1/services/org.bluez.obex.s>
jan 09 09:26:20 starbook dbus-broker-launch[1691]: Ignoring duplicate name 'org.bluez.obex' in service file '/nix/store/6dln0pmd1zb9xg4c81l3k08igxh98j0w-bluez-5.70/share/dbus-1/services/org.bluez.obex.se>
jan 09 09:26:39 starbook dbus-broker-launch[2309]: Ignoring duplicate name 'org.bluez.obex' in service file '/nix/store/faz2vqhyjls6xvblgv959qpsj33bclwa-system-path/share/dbus-1/services/org.bluez.obex.s>
jan 09 09:26:39 starbook dbus-broker-launch[2309]: Ignoring duplicate name 'org.bluez.obex' in service file '/nix/store/6dln0pmd1zb9xg4c81l3k08igxh98j0w-bluez-5.70/share/dbus-1/services/org.bluez.obex.se>
jan 09 09:26:43 starbook systemd[1]: Bluetooth service was skipped because of an unmet condition check (ConditionPathIsDirectory=/sys/class/bluetooth).
lspci output (on 6.7):
➜ lspci -v
00:00.0 Host bridge: Intel Corporation Device 4621 (rev 02)
Subsystem: Intel Corporation Device 7270
Flags: bus master, fast devsel, latency 0
Capabilities: <access denied>
Kernel driver in use: igen6_edac
Kernel modules: igen6_edac
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] (rev 0c) (prog-if 00 [VGA controller])
DeviceName: VGA compatible controller
Subsystem: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics]
Flags: bus master, fast devsel, latency 0, IRQ 158
Memory at 81000000 (64-bit, non-prefetchable) [size=16M]
Memory at 90000000 (64-bit, prefetchable) [size=256M]
I/O ports at 1000 [size=64]
Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: i915
Kernel modules: i915
00:08.0 System peripheral: Intel Corporation 12th Gen Core Processor Gaussian & Neural Accelerator (rev 02)
Subsystem: Intel Corporation Device 7270
Flags: bus master, fast devsel, latency 0, IRQ 255
Memory at 80720000 (64-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
00:0a.0 Signal processing controller: Intel Corporation Platform Monitoring Technology (rev 01)
Subsystem: Intel Corporation Device 7270
Flags: fast devsel
Memory at 80710000 (64-bit, non-prefetchable) [size=32K]
Capabilities: <access denied>
Kernel driver in use: intel_vsec
Kernel modules: intel_vsec
00:14.0 USB controller: Intel Corporation Alder Lake PCH USB 3.2 xHCI Host Controller (rev 01) (prog-if 30 [XHCI])
Flags: bus master, medium devsel, latency 0, IRQ 124
Memory at 80700000 (64-bit, non-prefetchable) [size=64K]
Capabilities: <access denied>
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
00:14.2 RAM memory: Intel Corporation Alder Lake PCH Shared SRAM (rev 01)
Subsystem: Intel Corporation Device 7270
Flags: bus master, fast devsel, latency 0
Memory at 80718000 (64-bit, non-prefetchable) [size=16K]
Memory at 80721000 (64-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
00:15.0 Serial bus controller: Intel Corporation Alder Lake PCH Serial IO I2C Controller #0 (rev 01)
Subsystem: Intel Corporation Device 7270
Flags: bus master, fast devsel, latency 0, IRQ 37
Memory at 80722000 (64-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
Kernel driver in use: intel-lpss
Kernel modules: intel_lpss_pci
00:1c.0 PCI bridge: Intel Corporation Device 51bc (rev 01) (prog-if 00 [Normal decode])
Subsystem: Intel Corporation Device 7270
Flags: bus master, fast devsel, latency 0, IRQ 122
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: [disabled] [16-bit]
Memory behind bridge: 80400000-804fffff [size=1M] [32-bit]
Prefetchable memory behind bridge: [disabled] [64-bit]
Capabilities: <access denied>
Kernel driver in use: pcieport
00:1d.0 PCI bridge: Intel Corporation Alder Lake PCI Express Root Port #9 (rev 01) (prog-if 00 [Normal decode])
Subsystem: Intel Corporation Device 7270
Flags: bus master, fast devsel, latency 0, IRQ 123
Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
I/O behind bridge: 2000-2fff [size=4K] [16-bit]
Memory behind bridge: 80500000-805fffff [size=1M] [32-bit]
Prefetchable memory behind bridge: 87fc00000-87fdfffff [size=2M] [32-bit]
Capabilities: <access denied>
Kernel driver in use: pcieport
00:1e.0 Communication controller: Intel Corporation Alder Lake PCH UART #0 (rev 01)
Subsystem: Intel Corporation Device 7270
Flags: bus master, fast devsel, latency 0, IRQ 23
Memory at fe03e000 (64-bit, non-prefetchable) [size=4K]
Memory at 80724000 (64-bit, non-prefetchable) [size=4K]
Capabilities: <access denied>
Kernel driver in use: intel-lpss
Kernel modules: intel_lpss_pci
00:1f.0 ISA bridge: Intel Corporation Alder Lake PCH eSPI Controller (rev 01)
Subsystem: Intel Corporation Device 7270
Flags: bus master, fast devsel, latency 0
00:1f.3 Audio device: Intel Corporation Alder Lake PCH-P High Definition Audio Controller (rev 01)
Flags: bus master, fast devsel, latency 64, IRQ 159
Memory at 8071c000 (64-bit, non-prefetchable) [size=16K]
Memory at 80600000 (64-bit, non-prefetchable) [size=1M]
Capabilities: <access denied>
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel, snd_sof_pci_intel_tgl
00:1f.4 SMBus: Intel Corporation Alder Lake PCH-P SMBus Host Controller (rev 01)
Subsystem: Intel Corporation Device 7270
Flags: medium devsel, IRQ 23
Memory at 80726000 (64-bit, non-prefetchable) [size=256]
I/O ports at efa0 [size=32]
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
00:1f.5 Serial bus controller: Intel Corporation Alder Lake-P PCH SPI Controller (rev 01)
Subsystem: Intel Corporation Device 7270
Flags: bus master, fast devsel, latency 0
Memory at 80725000 (32-bit, non-prefetchable) [size=4K]
Kernel driver in use: intel-spi
Kernel modules: spi_intel_pci
01:00.0 Network controller: Intel Corporation Wi-Fi 6 AX210/AX211/AX411 160MHz (rev 1a)
Subsystem: Intel Corporation Wi-Fi 6 AX210 160MHz
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at 80400000 (64-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller S4LV008[Pascal] (prog-if 02 [NVM Express])
Subsystem: Samsung Electronics Co Ltd Device a801
Physical Slot: 8
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at 80500000 (64-bit, non-prefetchable) [size=16K]
Capabilities: <access denied>
Kernel driver in use: nvme
Kernel modules: nvme
Jens added unlikely() thinking that this was an error path. It's
actually just the end of the iteration, so does not warrant an
unlikely().
Fixes: 7bed6f3d08b7 ("block: Fix iterating over an empty bio with bio_for_each_folio_all")
Cc: stable(a)vger.kernel.org
Signed-off-by: Matthew Wilcox (Oracle) <willy(a)infradead.org>
---
include/linux/bio.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 875d792bffff..1518f1201ddd 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -286,7 +286,7 @@ static inline void bio_first_folio(struct folio_iter *fi, struct bio *bio,
{
struct bio_vec *bvec = bio_first_bvec_all(bio) + i;
- if (unlikely(i >= bio->bi_vcnt)) {
+ if (i >= bio->bi_vcnt) {
fi->folio = NULL;
return;
}
--
2.43.0
The LPASS WSA macro codec driver is updating the digital gain settings
behind the back of user space on DAPM events if companding has been
enabled.
As compander control is exported to user space, this can result in the
digital gain setting being incremented (or decremented) every time the
sound server is started and the codec suspended depending on what the
UCM configuration looks like.
Soon enough playback will become distorted (or too quiet).
This is specifically a problem on the Lenovo ThinkPad X13s as this
bypasses the limit for the digital gain setting that has been set by the
machine driver.
Fix this by simply dropping the compander gain offset hack. If someone
cares about modelling the impact of the compander setting this can
possibly be done by exporting it as a volume control later.
Note that the volume registers still need to be written after enabling
clocks in order for any prior updates to take effect.
Fixes: 2c4066e5d428 ("ASoC: codecs: lpass-wsa-macro: add dapm widgets and route")
Cc: stable(a)vger.kernel.org # 5.11
Cc: Srinivas Kandagatla <srinivas.kandagatla(a)linaro.org>
Signed-off-by: Johan Hovold <johan+linaro(a)kernel.org>
---
sound/soc/codecs/lpass-wsa-macro.c | 7 -------
1 file changed, 7 deletions(-)
diff --git a/sound/soc/codecs/lpass-wsa-macro.c b/sound/soc/codecs/lpass-wsa-macro.c
index 7e21cec3c2fb..6ce309980cd1 100644
--- a/sound/soc/codecs/lpass-wsa-macro.c
+++ b/sound/soc/codecs/lpass-wsa-macro.c
@@ -1584,7 +1584,6 @@ static int wsa_macro_enable_interpolator(struct snd_soc_dapm_widget *w,
u16 gain_reg;
u16 reg;
int val;
- int offset_val = 0;
struct wsa_macro *wsa = snd_soc_component_get_drvdata(component);
if (w->shift == WSA_MACRO_COMP1) {
@@ -1623,10 +1622,8 @@ static int wsa_macro_enable_interpolator(struct snd_soc_dapm_widget *w,
CDC_WSA_RX1_RX_PATH_MIX_SEC0,
CDC_WSA_RX_PGA_HALF_DB_MASK,
CDC_WSA_RX_PGA_HALF_DB_ENABLE);
- offset_val = -2;
}
val = snd_soc_component_read(component, gain_reg);
- val += offset_val;
snd_soc_component_write(component, gain_reg, val);
wsa_macro_config_ear_spkr_gain(component, wsa,
event, gain_reg);
@@ -1654,10 +1651,6 @@ static int wsa_macro_enable_interpolator(struct snd_soc_dapm_widget *w,
CDC_WSA_RX1_RX_PATH_MIX_SEC0,
CDC_WSA_RX_PGA_HALF_DB_MASK,
CDC_WSA_RX_PGA_HALF_DB_DISABLE);
- offset_val = 2;
- val = snd_soc_component_read(component, gain_reg);
- val += offset_val;
- snd_soc_component_write(component, gain_reg, val);
}
wsa_macro_config_ear_spkr_gain(component, wsa,
event, gain_reg);
--
2.41.0
The PA gain can be set in steps of 1.5 dB from -3 dB to 18 dB, that is,
in 15 levels.
Fix the dB values for the PA volume control as experiments using wsa8835
show that the first 16 levels all map to the same lowest gain while the
last three map to the highest gain.
These values specifically need to be correct for the sound server to
provide proper volume control.
Note that level 0 (-3 dB) does not mute the PA so the mute flag should
also not be set.
Fixes: cdb09e623143 ("ASoC: codecs: wsa883x: add control, dapm widgets and map")
Cc: stable(a)vger.kernel.org # 6.0
Cc: Srinivas Kandagatla <srinivas.kandagatla(a)linaro.org>
Signed-off-by: Johan Hovold <johan+linaro(a)kernel.org>
---
sound/soc/codecs/wsa883x.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/sound/soc/codecs/wsa883x.c b/sound/soc/codecs/wsa883x.c
index cb83c569e18d..a2e86ef7d18f 100644
--- a/sound/soc/codecs/wsa883x.c
+++ b/sound/soc/codecs/wsa883x.c
@@ -1098,7 +1098,11 @@ static int wsa_dev_mode_put(struct snd_kcontrol *kcontrol,
return 1;
}
-static const DECLARE_TLV_DB_SCALE(pa_gain, -300, 150, -300);
+static const SNDRV_CTL_TLVD_DECLARE_DB_RANGE(pa_gain,
+ 0, 14, TLV_DB_SCALE_ITEM(-300, 0, 0),
+ 15, 29, TLV_DB_SCALE_ITEM(-300, 150, 0),
+ 30, 31, TLV_DB_SCALE_ITEM(1800, 0, 0),
+);
static int wsa883x_get_swr_port(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_value *ucontrol)
--
2.41.0
From: Ville Syrjälä <ville.syrjala(a)linux.intel.com>
On HSW non-ULT (or at least on Dell Latitude E6540) external displays
start to flicker when we enable PSR on the eDP. We observe a much higher
SR and PC6 residency than should be possible with an external display,
and indeen much higher than what we observe with eDP disabled and
only the external display enabled. Looks like the hardware is somehow
ignoring the fact that the external display is active during PSR.
I wasn't able to redproduce this on my HSW ULT machine, or BDW.
So either there's something specific about this particular laptop
(eg. some unknown firmware thing) or the issue is limited to just
non-ULT HSW systems. All known registers that could affect this
look perfectly reasonable on the affected machine.
As a workaround let's unmask the LPSP event to prevent PSR entry
except while in LPSP mode (only pipe A + eDP active). This
will prevent PSR entry entirely when multiple pipes are active.
The one slight downside is that we now also prevent PSR entry
when driving eDP with pipe B or C, but I think that's a reasonable
tradeoff to avoid having to implement a more complex workaround.
Cc: stable(a)vger.kernel.org
Fixes: 783d8b80871f ("drm/i915/psr: Re-enable PSR1 on hsw/bdw")
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/10092
Signed-off-by: Ville Syrjälä <ville.syrjala(a)linux.intel.com>
---
drivers/gpu/drm/i915/display/intel_psr.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index 696d5d32ca9d..1010b8c405df 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -1544,8 +1544,18 @@ static void intel_psr_enable_source(struct intel_dp *intel_dp,
* can rely on frontbuffer tracking.
*/
mask = EDP_PSR_DEBUG_MASK_MEMUP |
- EDP_PSR_DEBUG_MASK_HPD |
- EDP_PSR_DEBUG_MASK_LPSP;
+ EDP_PSR_DEBUG_MASK_HPD;
+
+ /*
+ * For some unknown reason on HSW non-ULT (or at least on
+ * Dell Latitude E6540) external displays start to flicker
+ * when PSR is enabled on the eDP. SR/PC6 residency is much
+ * higher than should be possible with an external display.
+ * As a workaround leave LPSP unmasked to prevent PSR entry
+ * when external displays are active.
+ */
+ if (DISPLAY_VER(dev_priv) >= 8 || IS_HASWELL_ULT(dev_priv))
+ mask |= EDP_PSR_DEBUG_MASK_LPSP;
if (DISPLAY_VER(dev_priv) < 20)
mask |= EDP_PSR_DEBUG_MASK_MAX_SLEEP;
--
2.41.0