diff -u linux-oem-5.17-5.17.0/debian.oem/abi/abiname linux-oem-5.17-5.17.0/debian.oem/abi/abiname --- linux-oem-5.17-5.17.0/debian.oem/abi/abiname +++ linux-oem-5.17-5.17.0/debian.oem/abi/abiname @@ -1 +1 @@ -1009 +1011 diff -u linux-oem-5.17-5.17.0/debian.oem/abi/version linux-oem-5.17-5.17.0/debian.oem/abi/version --- linux-oem-5.17-5.17.0/debian.oem/abi/version +++ linux-oem-5.17-5.17.0/debian.oem/abi/version @@ -1 +1 @@ -5.17.0-1009.9 +5.17.0-1011.12 diff -u linux-oem-5.17-5.17.0/debian.oem/changelog linux-oem-5.17-5.17.0/debian.oem/changelog --- linux-oem-5.17-5.17.0/debian.oem/changelog +++ linux-oem-5.17-5.17.0/debian.oem/changelog @@ -1,3 +1,52 @@ +linux-oem-5.17 (5.17.0-1012.13) jammy; urgency=medium + + * jammy/linux-oem-5.17: 5.17.0-1012.13 -proposed tracker (LP: #1978578) + + * [SRU][OEM-5.14/OEM-5.17][PATCH 0/1] Fix oled brightness set above frame- + average luminance on AMD (LP: #1978986) + - SAUCE: drm/amd/display: Cap OLED brightness per max frame-average luminance + + * Fix headset mic no sound on an HP desktop (LP: #1978925) + - ALSA: hda/realtek - ALC897 headset MIC no sound + + * [SRU][Jammy/OEM-5.17][PATCH 0/1] Fix calltrace in mac80211 (LP: #1978297) + - mac80211: fix struct ieee80211_tx_info size + + * pl2303 serial adapter not recognized (LP: #1967493) + - USB: serial: pl2303: fix type detection for odd device + + * Fix can't boot up after change to vmd (LP: #1976587) + - PCI: vmd: Assign VMD IRQ domain before enumeration + - PCI: vmd: Revert 2565e5b69c44 ("PCI: vmd: Do not disable MSI-X remapping if + interrupt remapping is enabled by IOMMU.") + + * Power cycle USB ports on shutdown/reboot (LP: #1976503) + - SAUCE: xhci: turn off port power in shutdown + + * Fix sub-optimal I210 network speed (LP: #1976438) + - SAUCE: igb: Make DMA faster when CPU is active on the PCIe link + + * Remove SAUCE patches from test_vxlan_under_vrf.sh in net of + ubuntu_kernel_selftests (LP: #1975691) + - Revert "UBUNTU: SAUCE: selftests: net: Don't fail test_vxlan_under_vrf on + xfail" + - Revert "UBUNTU: SAUCE: selftests: net: Make test for VXLAN underlay in non- + default VRF an expected failure" + + * [SRU][OEM-5.14/OEM-5.17/Jammy][PATCH 0/1] Fix i915 calltrace on new ADL BIOS + (LP: #1976214) + - drm/i915: update new TMDS clock setting defined by VBT + + * [SRU][OEM-5.14/OEM-5.17/J][PATCH 0/2] Fix system hangs after s2idle on AMD + A+A GPU (LP: #1975804) + - drm/amd: Don't reset dGPUs if the system is going to s2idle + + * [SRU][OEM-5.14/OEM-5.17/J][PATCH 0/1] Read the discovery registers for + AMD_SFH (LP: #1975798) + - HID: amd_sfh: Add support for sensor discovery + + -- Chia-Lin Kao (AceLan) Fri, 17 Jun 2022 15:36:34 +0800 + linux-oem-5.17 (5.17.0-1011.12) jammy; urgency=medium * CVE-2022-1972 diff -u linux-oem-5.17-5.17.0/debian.oem/tracking-bug linux-oem-5.17-5.17.0/debian.oem/tracking-bug --- linux-oem-5.17-5.17.0/debian.oem/tracking-bug +++ linux-oem-5.17-5.17.0/debian.oem/tracking-bug @@ -1 +1 @@ -1974324 2022.05.09-5 +1978578 2022.05.30-2 diff -u linux-oem-5.17-5.17.0/debian/changelog linux-oem-5.17-5.17.0/debian/changelog --- linux-oem-5.17-5.17.0/debian/changelog +++ linux-oem-5.17-5.17.0/debian/changelog @@ -1,3 +1,52 @@ +linux-oem-5.17 (5.17.0-1012.13) jammy; urgency=medium + + * jammy/linux-oem-5.17: 5.17.0-1012.13 -proposed tracker (LP: #1978578) + + * [SRU][OEM-5.14/OEM-5.17][PATCH 0/1] Fix oled brightness set above frame- + average luminance on AMD (LP: #1978986) + - SAUCE: drm/amd/display: Cap OLED brightness per max frame-average luminance + + * Fix headset mic no sound on an HP desktop (LP: #1978925) + - ALSA: hda/realtek - ALC897 headset MIC no sound + + * [SRU][Jammy/OEM-5.17][PATCH 0/1] Fix calltrace in mac80211 (LP: #1978297) + - mac80211: fix struct ieee80211_tx_info size + + * pl2303 serial adapter not recognized (LP: #1967493) + - USB: serial: pl2303: fix type detection for odd device + + * Fix can't boot up after change to vmd (LP: #1976587) + - PCI: vmd: Assign VMD IRQ domain before enumeration + - PCI: vmd: Revert 2565e5b69c44 ("PCI: vmd: Do not disable MSI-X remapping if + interrupt remapping is enabled by IOMMU.") + + * Power cycle USB ports on shutdown/reboot (LP: #1976503) + - SAUCE: xhci: turn off port power in shutdown + + * Fix sub-optimal I210 network speed (LP: #1976438) + - SAUCE: igb: Make DMA faster when CPU is active on the PCIe link + + * Remove SAUCE patches from test_vxlan_under_vrf.sh in net of + ubuntu_kernel_selftests (LP: #1975691) + - Revert "UBUNTU: SAUCE: selftests: net: Don't fail test_vxlan_under_vrf on + xfail" + - Revert "UBUNTU: SAUCE: selftests: net: Make test for VXLAN underlay in non- + default VRF an expected failure" + + * [SRU][OEM-5.14/OEM-5.17/Jammy][PATCH 0/1] Fix i915 calltrace on new ADL BIOS + (LP: #1976214) + - drm/i915: update new TMDS clock setting defined by VBT + + * [SRU][OEM-5.14/OEM-5.17/J][PATCH 0/2] Fix system hangs after s2idle on AMD + A+A GPU (LP: #1975804) + - drm/amd: Don't reset dGPUs if the system is going to s2idle + + * [SRU][OEM-5.14/OEM-5.17/J][PATCH 0/1] Read the discovery registers for + AMD_SFH (LP: #1975798) + - HID: amd_sfh: Add support for sensor discovery + + -- Chia-Lin Kao (AceLan) Fri, 17 Jun 2022 15:36:34 +0800 + linux-oem-5.17 (5.17.0-1011.12) jammy; urgency=medium * CVE-2022-1972 diff -u linux-oem-5.17-5.17.0/debian/control linux-oem-5.17-5.17.0/debian/control --- linux-oem-5.17-5.17.0/debian/control +++ linux-oem-5.17-5.17.0/debian/control @@ -59,7 +59,7 @@ XS-Testsuite: autopkgtest #XS-Testsuite-Depends: gcc-4.7 binutils -Package: linux-oem-5.17-headers-5.17.0-1011 +Package: linux-oem-5.17-headers-5.17.0-1012 Build-Profiles: Architecture: all Multi-Arch: foreign @@ -69,20 +69,20 @@ Description: Header files related to Linux kernel version 5.17.0 This package provides kernel header files for version 5.17.0, for sites that want the latest kernel headers. Please read - /usr/share/doc/linux-oem-5.17-headers-5.17.0-1011/debian.README.gz for details + /usr/share/doc/linux-oem-5.17-headers-5.17.0-1012/debian.README.gz for details -Package: linux-oem-5.17-tools-5.17.0-1011 +Package: linux-oem-5.17-tools-5.17.0-1012 Build-Profiles: Architecture: amd64 Section: devel Priority: optional Depends: ${misc:Depends}, ${shlibs:Depends}, linux-tools-common -Description: Linux kernel version specific tools for version 5.17.0-1011 +Description: Linux kernel version specific tools for version 5.17.0-1012 This package provides the architecture dependant parts for kernel version locked tools (such as perf and x86_energy_perf_policy) for - version 5.17.0-1011 on + version 5.17.0-1012 on 64 bit x86. - You probably want to install linux-tools-5.17.0-1011-. + You probably want to install linux-tools-5.17.0-1012-. Package: linux-oem-5.17-tools-host Build-Profiles: @@ -96,17 +96,17 @@ -Package: linux-image-unsigned-5.17.0-1011-oem +Package: linux-image-unsigned-5.17.0-1012-oem Build-Profiles: Architecture: amd64 Section: kernel Priority: optional Provides: linux-image, fuse-module, kvm-api-4, redhat-cluster-modules, ivtv-modules, virtualbox-guest-modules [amd64], ${linux:rprovides} -Depends: ${misc:Depends}, ${shlibs:Depends}, kmod, linux-base (>= 4.5ubuntu1~16.04.1), linux-modules-5.17.0-1011-oem +Depends: ${misc:Depends}, ${shlibs:Depends}, kmod, linux-base (>= 4.5ubuntu1~16.04.1), linux-modules-5.17.0-1012-oem Recommends: grub-pc [amd64] | grub-efi-amd64 [amd64] | grub-efi-ia32 [amd64] | grub [amd64] | lilo [amd64] | flash-kernel [armhf arm64] | grub-efi-arm64 [arm64] | grub-efi-arm [armhf] | grub-ieee1275 [ppc64el], initramfs-tools | linux-initramfs-tool Breaks: flash-kernel (<< 3.90ubuntu2) [arm64 armhf], s390-tools (<< 2.3.0-0ubuntu3) [s390x] -Conflicts: linux-image-5.17.0-1011-oem -Suggests: fdutils, linux-oem-5.17-tools, linux-headers-5.17.0-1011-oem +Conflicts: linux-image-5.17.0-1012-oem +Suggests: fdutils, linux-oem-5.17-tools, linux-headers-5.17.0-1012-oem Description: Linux kernel image for version 5.17.0 on 64 bit x86 SMP This package contains the unsigned Linux kernel image for version 5.17.0 on 64 bit x86 SMP. @@ -119,12 +119,12 @@ the linux-oem meta-package, which will ensure that upgrades work correctly, and that supporting packages are also installed. -Package: linux-modules-5.17.0-1011-oem +Package: linux-modules-5.17.0-1012-oem Build-Profiles: Architecture: amd64 Section: kernel Priority: optional -Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-5.17.0-1011-oem | linux-image-unsigned-5.17.0-1011-oem +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-5.17.0-1012-oem | linux-image-unsigned-5.17.0-1012-oem Built-Using: ${linux:BuiltUsing} Description: Linux kernel extra modules for version 5.17.0 on 64 bit x86 SMP Contains the corresponding System.map file, the modules built by the @@ -139,12 +139,12 @@ the linux-oem meta-package, which will ensure that upgrades work correctly, and that supporting packages are also installed. -Package: linux-modules-extra-5.17.0-1011-oem +Package: linux-modules-extra-5.17.0-1012-oem Build-Profiles: Architecture: amd64 Section: kernel Priority: optional -Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-5.17.0-1011-oem | linux-image-unsigned-5.17.0-1011-oem, wireless-regdb +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-image-5.17.0-1012-oem | linux-image-unsigned-5.17.0-1012-oem, wireless-regdb Description: Linux kernel extra modules for version 5.17.0 on 64 bit x86 SMP This package contains the Linux kernel extra modules for version 5.17.0 on 64 bit x86 SMP. @@ -161,21 +161,21 @@ the linux-oem meta-package, which will ensure that upgrades work correctly, and that supporting packages are also installed. -Package: linux-headers-5.17.0-1011-oem +Package: linux-headers-5.17.0-1012-oem Build-Profiles: Architecture: amd64 Section: devel Priority: optional -Depends: ${misc:Depends}, linux-oem-5.17-headers-5.17.0-1011, ${shlibs:Depends} +Depends: ${misc:Depends}, linux-oem-5.17-headers-5.17.0-1012, ${shlibs:Depends} Provides: linux-headers, linux-headers-3.0 Description: Linux kernel headers for version 5.17.0 on 64 bit x86 SMP This package provides kernel header files for version 5.17.0 on 64 bit x86 SMP. . This is for sites that want the latest kernel headers. Please read - /usr/share/doc/linux-headers-5.17.0-1011/debian.README.gz for details. + /usr/share/doc/linux-headers-5.17.0-1012/debian.README.gz for details. -Package: linux-image-unsigned-5.17.0-1011-oem-dbgsym +Package: linux-image-unsigned-5.17.0-1012-oem-dbgsym Build-Profiles: Architecture: amd64 Section: devel @@ -192,31 +192,31 @@ is uncompressed, and unstripped. This package also includes the unstripped modules. -Package: linux-tools-5.17.0-1011-oem +Package: linux-tools-5.17.0-1012-oem Build-Profiles: Architecture: amd64 Section: devel Priority: optional -Depends: ${misc:Depends}, linux-oem-5.17-tools-5.17.0-1011 -Description: Linux kernel version specific tools for version 5.17.0-1011 +Depends: ${misc:Depends}, linux-oem-5.17-tools-5.17.0-1012 +Description: Linux kernel version specific tools for version 5.17.0-1012 This package provides the architecture dependant parts for kernel version locked tools (such as perf and x86_energy_perf_policy) for - version 5.17.0-1011 on + version 5.17.0-1012 on 64 bit x86. -Package: linux-cloud-tools-5.17.0-1011-oem +Package: linux-cloud-tools-5.17.0-1012-oem Build-Profiles: Architecture: amd64 Section: devel Priority: optional -Depends: ${misc:Depends}, linux-oem-5.17-cloud-tools-5.17.0-1011 -Description: Linux kernel version specific cloud tools for version 5.17.0-1011 +Depends: ${misc:Depends}, linux-oem-5.17-cloud-tools-5.17.0-1012 +Description: Linux kernel version specific cloud tools for version 5.17.0-1012 This package provides the architecture dependant parts for kernel - version locked tools for cloud for version 5.17.0-1011 on + version locked tools for cloud for version 5.17.0-1012 on 64 bit x86. -Package: linux-buildinfo-5.17.0-1011-oem +Package: linux-buildinfo-5.17.0-1012-oem Build-Profiles: Architecture: amd64 Section: kernel @@ -230,18 +230,18 @@ You likely do not want to install this package. -Package: linux-modules-iwlwifi-5.17.0-1011-oem +Package: linux-modules-iwlwifi-5.17.0-1012-oem Build-Profiles: Architecture: amd64 Section: kernel Priority: optional Depends: ${misc:Depends}, - linux-image-5.17.0-1011-oem | linux-image-unsigned-5.17.0-1011-oem, + linux-image-5.17.0-1012-oem | linux-image-unsigned-5.17.0-1012-oem, Built-Using: ${linux:BuiltUsing} -Description: Linux kernel iwlwifi modules for version 5.17.0-1011 +Description: Linux kernel iwlwifi modules for version 5.17.0-1012 This package provides the Linux kernel iwlwifi modules for version - 5.17.0-1011. + 5.17.0-1012. . You likely do not want to install this package directly. Instead, install the one of the linux-modules-iwlwifi-oem* meta-packages, diff -u linux-oem-5.17-5.17.0/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c linux-oem-5.17-5.17.0/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c --- linux-oem-5.17-5.17.0/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ linux-oem-5.17-5.17.0/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -2289,7 +2289,7 @@ struct drm_device *drm_dev = dev_get_drvdata(dev); struct amdgpu_device *adev = drm_to_adev(drm_dev); - if (!adev->in_s0ix) + if (amdgpu_acpi_should_gpu_reset(adev)) return amdgpu_asic_reset(adev); return 0; diff -u linux-oem-5.17-5.17.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c linux-oem-5.17-5.17.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c --- linux-oem-5.17-5.17.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ linux-oem-5.17-5.17.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -2814,7 +2814,7 @@ static void update_connector_ext_caps(struct amdgpu_dm_connector *aconnector) { - u32 max_cll, min_cll, max, min, q, r; + u32 max_avg, min_cll, max, min, q, r; struct amdgpu_dm_backlight_caps *caps; struct amdgpu_display_manager *dm; struct drm_connector *conn_base; @@ -2844,7 +2844,7 @@ caps = &dm->backlight_caps[i]; caps->ext_caps = &aconnector->dc_link->dpcd_sink_ext_caps; caps->aux_support = false; - max_cll = conn_base->hdr_sink_metadata.hdmi_type1.max_cll; + max_avg = conn_base->hdr_sink_metadata.hdmi_type1.max_fall; min_cll = conn_base->hdr_sink_metadata.hdmi_type1.min_cll; if (caps->ext_caps->bits.oled == 1 /*|| @@ -2872,8 +2872,8 @@ * The results of the above expressions can be verified at * pre_computed_values. */ - q = max_cll >> 5; - r = max_cll % 32; + q = max_avg >> 5; + r = max_avg % 32; max = (1 << q) * pre_computed_values[r]; // min luminance: maxLum * (CV/255)^2 / 100 diff -u linux-oem-5.17-5.17.0/drivers/net/ethernet/intel/igb/igb_main.c linux-oem-5.17-5.17.0/drivers/net/ethernet/intel/igb/igb_main.c --- linux-oem-5.17-5.17.0/drivers/net/ethernet/intel/igb/igb_main.c +++ linux-oem-5.17-5.17.0/drivers/net/ethernet/intel/igb/igb_main.c @@ -9904,11 +9904,10 @@ struct e1000_hw *hw = &adapter->hw; u32 dmac_thr; u16 hwm; + u32 reg; if (hw->mac.type > e1000_82580) { if (adapter->flags & IGB_FLAG_DMAC) { - u32 reg; - /* force threshold to 0. */ wr32(E1000_DMCTXTH, 0); @@ -9941,7 +9940,6 @@ /* Disable BMC-to-OS Watchdog Enable */ if (hw->mac.type != e1000_i354) reg &= ~E1000_DMACR_DC_BMC2OSW_EN; - wr32(E1000_DMACR, reg); /* no lower threshold to disable @@ -9958,12 +9956,12 @@ */ wr32(E1000_DMCTXTH, (IGB_MIN_TXPBSIZE - (IGB_TX_BUF_4096 + adapter->max_frame_size)) >> 6); + } - /* make low power state decision controlled - * by DMA coal - */ + if (hw->mac.type >= e1000_i210 || + (adapter->flags & IGB_FLAG_DMAC)) { reg = rd32(E1000_PCIEMISC); - reg &= ~E1000_PCIEMISC_LX_DECISION; + reg |= E1000_PCIEMISC_LX_DECISION; wr32(E1000_PCIEMISC, reg); } /* endif adapter->dmac is not disabled */ } else if (hw->mac.type == e1000_82580) { diff -u linux-oem-5.17-5.17.0/drivers/net/wireless/ath/ath11k/dp_tx.c linux-oem-5.17-5.17.0/drivers/net/wireless/ath/ath11k/dp_tx.c --- linux-oem-5.17-5.17.0/drivers/net/wireless/ath/ath11k/dp_tx.c +++ linux-oem-5.17-5.17.0/drivers/net/wireless/ath/ath11k/dp_tx.c @@ -351,7 +351,8 @@ info->flags |= IEEE80211_TX_STAT_ACK; info->status.ack_signal = ATH11K_DEFAULT_NOISE_FLOOR + ts->ack_rssi; - info->status.is_valid_ack_signal = true; + info->status.flags |= + IEEE80211_TX_STATUS_ACK_SIGNAL_VALID; } else { info->flags |= IEEE80211_TX_STAT_NOACK_TRANSMITTED; } @@ -552,7 +553,7 @@ info->flags |= IEEE80211_TX_STAT_ACK; info->status.ack_signal = ATH11K_DEFAULT_NOISE_FLOOR + ts->ack_rssi; - info->status.is_valid_ack_signal = true; + info->status.flags |= IEEE80211_TX_STATUS_ACK_SIGNAL_VALID; } if (ts->status == HAL_WBM_TQM_REL_REASON_CMD_REMOVE_TX && diff -u linux-oem-5.17-5.17.0/drivers/usb/host/xhci-hub.c linux-oem-5.17-5.17.0/drivers/usb/host/xhci-hub.c --- linux-oem-5.17-5.17.0/drivers/usb/host/xhci-hub.c +++ linux-oem-5.17-5.17.0/drivers/usb/host/xhci-hub.c @@ -652,7 +652,7 @@ * It will release and re-aquire the lock while calling ACPI * method. */ -static void xhci_set_port_power(struct xhci_hcd *xhci, struct usb_hcd *hcd, +void xhci_set_port_power(struct xhci_hcd *xhci, struct usb_hcd *hcd, u16 index, bool on, unsigned long *flags) __must_hold(&xhci->lock) { diff -u linux-oem-5.17-5.17.0/drivers/usb/host/xhci.c linux-oem-5.17-5.17.0/drivers/usb/host/xhci.c --- linux-oem-5.17-5.17.0/drivers/usb/host/xhci.c +++ linux-oem-5.17-5.17.0/drivers/usb/host/xhci.c @@ -774,6 +774,8 @@ void xhci_shutdown(struct usb_hcd *hcd) { struct xhci_hcd *xhci = hcd_to_xhci(hcd); + unsigned long flags; + int i; if (xhci->quirks & XHCI_SPURIOUS_REBOOT) usb_disable_xhci_ports(to_pci_dev(hcd->self.sysdev)); @@ -789,12 +791,20 @@ del_timer_sync(&xhci->shared_hcd->rh_timer); } - spin_lock_irq(&xhci->lock); + spin_lock_irqsave(&xhci->lock, flags); xhci_halt(xhci); + + /* Power off USB3 ports*/ + for (i = 0; i < xhci->usb3_rhub.num_ports; i++) + xhci_set_port_power(xhci, xhci->shared_hcd, i, false, &flags); + /* Power off USB2 ports*/ + for (i = 0; i < xhci->usb2_rhub.num_ports; i++) + xhci_set_port_power(xhci, xhci->main_hcd, i, false, &flags); + /* Workaround for spurious wakeups at shutdown with HSW */ if (xhci->quirks & XHCI_SPURIOUS_WAKEUP) xhci_reset(xhci, XHCI_RESET_SHORT_USEC); - spin_unlock_irq(&xhci->lock); + spin_unlock_irqrestore(&xhci->lock, flags); xhci_cleanup_msix(xhci); diff -u linux-oem-5.17-5.17.0/drivers/usb/host/xhci.h linux-oem-5.17-5.17.0/drivers/usb/host/xhci.h --- linux-oem-5.17-5.17.0/drivers/usb/host/xhci.h +++ linux-oem-5.17-5.17.0/drivers/usb/host/xhci.h @@ -2174,6 +2174,8 @@ int xhci_hub_status_data(struct usb_hcd *hcd, char *buf); int xhci_find_raw_port_number(struct usb_hcd *hcd, int port1); struct xhci_hub *xhci_get_rhub(struct usb_hcd *hcd); +void xhci_set_port_power(struct xhci_hcd *xhci, struct usb_hcd *hcd, u16 index, + bool on, unsigned long *flags); void xhci_hc_died(struct xhci_hcd *xhci); diff -u linux-oem-5.17-5.17.0/drivers/usb/serial/pl2303.c linux-oem-5.17-5.17.0/drivers/usb/serial/pl2303.c --- linux-oem-5.17-5.17.0/drivers/usb/serial/pl2303.c +++ linux-oem-5.17-5.17.0/drivers/usb/serial/pl2303.c @@ -421,6 +421,9 @@ bcdUSB = le16_to_cpu(desc->bcdUSB); switch (bcdUSB) { + case 0x101: + /* USB 1.0.1? Let's assume they meant 1.1... */ + fallthrough; case 0x110: switch (bcdDevice) { case 0x300: diff -u linux-oem-5.17-5.17.0/sound/pci/hda/patch_realtek.c linux-oem-5.17-5.17.0/sound/pci/hda/patch_realtek.c --- linux-oem-5.17-5.17.0/sound/pci/hda/patch_realtek.c +++ linux-oem-5.17-5.17.0/sound/pci/hda/patch_realtek.c @@ -10690,6 +10690,7 @@ ALC668_FIXUP_MIC_DET_COEF, ALC897_FIXUP_LENOVO_HEADSET_MIC, ALC897_FIXUP_HEADSET_MIC_PIN, + ALC897_FIXUP_HP_HSMIC_VERB, }; static const struct hda_fixup alc662_fixups[] = { @@ -11109,6 +11110,13 @@ .chained = true, .chain_id = ALC897_FIXUP_LENOVO_HEADSET_MIC }, + [ALC897_FIXUP_HP_HSMIC_VERB] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x19, 0x01a1913c }, /* use as headset mic, without its own jack detect */ + { } + }, + }, }; static const struct snd_pci_quirk alc662_fixup_tbl[] = { @@ -11134,6 +11142,7 @@ SND_PCI_QUIRK(0x1028, 0x0698, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1028, 0x069f, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800), + SND_PCI_QUIRK(0x103c, 0x8719, "HP", ALC897_FIXUP_HP_HSMIC_VERB), SND_PCI_QUIRK(0x103c, 0x873e, "HP", ALC671_FIXUP_HP_HEADSET_MIC2), SND_PCI_QUIRK(0x103c, 0x885f, "HP 288 Pro G8", ALC671_FIXUP_HP_HEADSET_MIC2), SND_PCI_QUIRK(0x1043, 0x1080, "Asus UX501VW", ALC668_FIXUP_HEADSET_MODE), diff -u linux-oem-5.17-5.17.0/tools/testing/selftests/net/test_vxlan_under_vrf.sh linux-oem-5.17-5.17.0/tools/testing/selftests/net/test_vxlan_under_vrf.sh --- linux-oem-5.17-5.17.0/tools/testing/selftests/net/test_vxlan_under_vrf.sh +++ linux-oem-5.17-5.17.0/tools/testing/selftests/net/test_vxlan_under_vrf.sh @@ -130,5 +130,2 @@ -if ! ip netns exec vm-1 ping -c 1 -W 1 10.0.0.2 &> /dev/null; then - echo "[XFAIL]" -else - echo "[ OK ]" -fi +ip netns exec vm-1 ping -c 1 -W 1 10.0.0.2 &> /dev/null || (echo "[FAIL]"; false) +echo "[ OK ]" only in patch2: unchanged: --- linux-oem-5.17-5.17.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ linux-oem-5.17-5.17.0/drivers/gpu/drm/amd/amdgpu/amdgpu.h @@ -1422,9 +1422,11 @@ #if defined(CONFIG_ACPI) && defined(CONFIG_SUSPEND) bool amdgpu_acpi_is_s3_active(struct amdgpu_device *adev); +bool amdgpu_acpi_should_gpu_reset(struct amdgpu_device *adev); bool amdgpu_acpi_is_s0ix_active(struct amdgpu_device *adev); #else static inline bool amdgpu_acpi_is_s0ix_active(struct amdgpu_device *adev) { return false; } +static inline bool amdgpu_acpi_should_gpu_reset(struct amdgpu_device *adev) { return false; } static inline bool amdgpu_acpi_is_s3_active(struct amdgpu_device *adev) { return false; } #endif only in patch2: unchanged: --- linux-oem-5.17-5.17.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c +++ linux-oem-5.17-5.17.0/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c @@ -1046,6 +1046,20 @@ } /** + * amdgpu_acpi_should_gpu_reset + * + * @adev: amdgpu_device_pointer + * + * returns true if should reset GPU, false if not + */ +bool amdgpu_acpi_should_gpu_reset(struct amdgpu_device *adev) +{ + if (adev->flags & AMD_IS_APU) + return false; + return pm_suspend_target_state != PM_SUSPEND_TO_IDLE; +} + +/** * amdgpu_acpi_is_s0ix_active * * @adev: amdgpu_device_pointer only in patch2: unchanged: --- linux-oem-5.17-5.17.0.orig/drivers/gpu/drm/i915/display/intel_bios.c +++ linux-oem-5.17-5.17.0/drivers/gpu/drm/i915/display/intel_bios.c @@ -1968,6 +1968,12 @@ fallthrough; case HDMI_MAX_DATA_RATE_PLATFORM: return 0; + case HDMI_MAX_DATA_RATE_594: + return 594000; + case HDMI_MAX_DATA_RATE_340: + return 340000; + case HDMI_MAX_DATA_RATE_300: + return 300000; case HDMI_MAX_DATA_RATE_297: return 297000; case HDMI_MAX_DATA_RATE_165: only in patch2: unchanged: --- linux-oem-5.17-5.17.0.orig/drivers/gpu/drm/i915/display/intel_vbt_defs.h +++ linux-oem-5.17-5.17.0/drivers/gpu/drm/i915/display/intel_vbt_defs.h @@ -307,6 +307,9 @@ #define HDMI_MAX_DATA_RATE_PLATFORM 0 /* 204 */ #define HDMI_MAX_DATA_RATE_297 1 /* 204 */ #define HDMI_MAX_DATA_RATE_165 2 /* 204 */ +#define HDMI_MAX_DATA_RATE_594 3 /* 249 */ +#define HDMI_MAX_DATA_RATE_340 4 /* 249 */ +#define HDMI_MAX_DATA_RATE_300 5 /* 249 */ #define LEGACY_CHILD_DEVICE_CONFIG_SIZE 33 only in patch2: unchanged: --- linux-oem-5.17-5.17.0.orig/drivers/hid/amd-sfh-hid/amd_sfh_client.c +++ linux-oem-5.17-5.17.0/drivers/hid/amd-sfh-hid/amd_sfh_client.c @@ -227,6 +227,17 @@ dev_dbg(dev, "sid 0x%x status 0x%x\n", cl_data->sensor_idx[i], cl_data->sensor_sts[i]); } + if (privdata->mp2_ops->discovery_status && + privdata->mp2_ops->discovery_status(privdata) == 0) { + amd_sfh_hid_client_deinit(privdata); + for (i = 0; i < cl_data->num_hid_devices; i++) { + devm_kfree(dev, cl_data->feature_report[i]); + devm_kfree(dev, in_data->input_report[i]); + devm_kfree(dev, cl_data->report_descr[i]); + } + dev_warn(dev, "Failed to discover, sensors not enabled\n"); + return -EOPNOTSUPP; + } schedule_delayed_work(&cl_data->work_buffer, msecs_to_jiffies(AMD_SFH_IDLE_LOOP)); return 0; only in patch2: unchanged: --- linux-oem-5.17-5.17.0.orig/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c +++ linux-oem-5.17-5.17.0/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c @@ -130,6 +130,12 @@ return 0; } +static int amd_sfh_dis_sts_v2(struct amd_mp2_dev *privdata) +{ + return (readl(privdata->mmio + AMD_P2C_MSG(1)) & + SENSOR_DISCOVERY_STATUS_MASK) >> SENSOR_DISCOVERY_STATUS_SHIFT; +} + void amd_start_sensor(struct amd_mp2_dev *privdata, struct amd_mp2_sensor_info info) { union sfh_cmd_param cmd_param; @@ -245,6 +251,7 @@ .response = amd_sfh_wait_response_v2, .clear_intr = amd_sfh_clear_intr_v2, .init_intr = amd_sfh_irq_init_v2, + .discovery_status = amd_sfh_dis_sts_v2, }; static const struct amd_mp2_ops amd_sfh_ops = { only in patch2: unchanged: --- linux-oem-5.17-5.17.0.orig/drivers/hid/amd-sfh-hid/amd_sfh_pcie.h +++ linux-oem-5.17-5.17.0/drivers/hid/amd-sfh-hid/amd_sfh_pcie.h @@ -39,6 +39,9 @@ #define AMD_SFH_IDLE_LOOP 200 +#define SENSOR_DISCOVERY_STATUS_MASK GENMASK(5, 3) +#define SENSOR_DISCOVERY_STATUS_SHIFT 3 + /* SFH Command register */ union sfh_cmd_base { u32 ul; @@ -143,5 +146,6 @@ int (*response)(struct amd_mp2_dev *mp2, u8 sid, u32 sensor_sts); void (*clear_intr)(struct amd_mp2_dev *privdata); int (*init_intr)(struct amd_mp2_dev *privdata); + int (*discovery_status)(struct amd_mp2_dev *privdata); }; #endif only in patch2: unchanged: --- linux-oem-5.17-5.17.0.orig/drivers/net/wireless/ath/ath10k/txrx.c +++ linux-oem-5.17-5.17.0/drivers/net/wireless/ath/ath10k/txrx.c @@ -125,7 +125,7 @@ tx_done->ack_rssi != ATH10K_INVALID_RSSI) { info->status.ack_signal = ATH10K_DEFAULT_NOISE_FLOOR + tx_done->ack_rssi; - info->status.is_valid_ack_signal = true; + info->status.flags |= IEEE80211_TX_STATUS_ACK_SIGNAL_VALID; } ieee80211_tx_status(htt->ar->hw, msdu); only in patch2: unchanged: --- linux-oem-5.17-5.17.0.orig/drivers/net/wireless/ath/ath10k/wmi.c +++ linux-oem-5.17-5.17.0/drivers/net/wireless/ath/ath10k/wmi.c @@ -2427,7 +2427,7 @@ info->flags |= IEEE80211_TX_STAT_ACK; info->status.ack_signal = ATH10K_DEFAULT_NOISE_FLOOR + param->ack_rssi; - info->status.is_valid_ack_signal = true; + info->status.flags |= IEEE80211_TX_STATUS_ACK_SIGNAL_VALID; } ieee80211_tx_status_irqsafe(ar->hw, msdu); only in patch2: unchanged: --- linux-oem-5.17-5.17.0.orig/drivers/pci/controller/vmd.c +++ linux-oem-5.17-5.17.0/drivers/pci/controller/vmd.c @@ -6,7 +6,6 @@ #include #include -#include #include #include #include @@ -813,8 +812,7 @@ * acceptable because the guest is usually CPU-limited and MSI * remapping doesn't become a performance bottleneck. */ - if (iommu_capable(vmd->dev->dev.bus, IOMMU_CAP_INTR_REMAP) || - !(features & VMD_FEAT_CAN_BYPASS_MSI_REMAP) || + if (!(features & VMD_FEAT_CAN_BYPASS_MSI_REMAP) || offset[0] || offset[1]) { ret = vmd_alloc_irqs(vmd); if (ret) @@ -853,6 +851,9 @@ vmd_attach_resources(vmd); if (vmd->irq_domain) dev_set_msi_domain(&vmd->bus->dev, vmd->irq_domain); + else + dev_set_msi_domain(&vmd->bus->dev, + dev_get_msi_domain(&vmd->dev->dev)); vmd_acpi_begin(); only in patch2: unchanged: --- linux-oem-5.17-5.17.0.orig/include/net/mac80211.h +++ linux-oem-5.17-5.17.0/include/net/mac80211.h @@ -7,7 +7,7 @@ * Copyright 2007-2010 Johannes Berg * Copyright 2013-2014 Intel Mobile Communications GmbH * Copyright (C) 2015 - 2017 Intel Deutschland GmbH - * Copyright (C) 2018 - 2021 Intel Corporation + * Copyright (C) 2018 - 2022 Intel Corporation */ #ifndef MAC80211_H @@ -883,6 +883,17 @@ IEEE80211_TX_CTRL_DONT_REORDER = BIT(8), }; +/** + * enum mac80211_tx_status_flags - flags to describe transmit status + * + * @IEEE80211_TX_STATUS_ACK_SIGNAL_VALID: ACK signal is valid + * + * These flags are used in tx_info->status.flags. + */ +enum mac80211_tx_status_flags { + IEEE80211_TX_STATUS_ACK_SIGNAL_VALID = BIT(0), +}; + /* * This definition is used as a mask to clear all temporary flags, which are * set by the tx handlers for each transmission attempt by the mac80211 stack. @@ -1046,7 +1057,7 @@ * @status.antenna: (legacy, kept only for iwlegacy) * @status.tx_time: airtime consumed for transmission; note this is only * used for WMM AC, not for airtime fairness - * @status.is_valid_ack_signal: ACK signal is valid + * @status.flags: status flags, see &enum mac80211_tx_status_flags * @status.status_driver_data: driver use area * @ack: union part for pure ACK data * @ack.cookie: cookie for the ACK @@ -1099,8 +1110,8 @@ u8 ampdu_len; u8 antenna; u16 tx_time; - bool is_valid_ack_signal; - void *status_driver_data[19 / sizeof(void *)]; + u8 flags; + void *status_driver_data[18 / sizeof(void *)]; } status; struct { struct ieee80211_tx_rate driver_rates[ only in patch2: unchanged: --- linux-oem-5.17-5.17.0.orig/net/mac80211/status.c +++ linux-oem-5.17-5.17.0/net/mac80211/status.c @@ -5,6 +5,7 @@ * Copyright 2006-2007 Jiri Benc * Copyright 2008-2010 Johannes Berg * Copyright 2013-2014 Intel Mobile Communications GmbH + * Copyright 2021-2022 Intel Corporation */ #include @@ -628,6 +629,8 @@ u64 cookie = IEEE80211_SKB_CB(skb)->ack.cookie; struct ieee80211_sub_if_data *sdata; struct ieee80211_hdr *hdr = (void *)skb->data; + bool is_valid_ack_signal = + !!(info->status.flags & IEEE80211_TX_STATUS_ACK_SIGNAL_VALID); rcu_read_lock(); sdata = ieee80211_sdata_from_skb(local, skb); @@ -644,7 +647,7 @@ cfg80211_probe_status(sdata->dev, hdr->addr1, cookie, acked, info->status.ack_signal, - info->status.is_valid_ack_signal, + is_valid_ack_signal, GFP_ATOMIC); else if (ieee80211_is_mgmt(hdr->frame_control)) cfg80211_mgmt_tx_status(&sdata->wdev, cookie, @@ -1102,7 +1105,7 @@ struct ieee80211_supported_band *sband; struct sta_info *sta = NULL; int rates_idx, retry_count; - bool acked, noack_success; + bool acked, noack_success, ack_signal_valid; u16 tx_time_est; if (pubsta) { @@ -1133,6 +1136,8 @@ acked = !!(info->flags & IEEE80211_TX_STAT_ACK); noack_success = !!(info->flags & IEEE80211_TX_STAT_NOACK_TRANSMITTED); + ack_signal_valid = + !!(info->status.flags & IEEE80211_TX_STATUS_ACK_SIGNAL_VALID); if (pubsta) { struct ieee80211_sub_if_data *sdata = sta->sdata; @@ -1161,7 +1166,7 @@ unlikely(sdata->u.mgd.probe_send_count > 0)) sdata->u.mgd.probe_send_count = 0; - if (info->status.is_valid_ack_signal) { + if (ack_signal_valid) { sta->status_stats.last_ack_signal = (s8)info->status.ack_signal; sta->status_stats.ack_signal_filled = true;