~mreed8855/ubuntu/+source/linux/+git/jammy:mpt3sas_lp_1965927

Last commit made on 2022-08-16
Get this branch:
git clone -b mpt3sas_lp_1965927 https://git.launchpad.net/~mreed8855/ubuntu/+source/linux/+git/jammy
Only Michael Reed can upload to this branch. If you are Michael Reed please log in for upload directions.

Branch merges

Branch information

Name:
mpt3sas_lp_1965927
Repository:
lp:~mreed8855/ubuntu/+source/linux/+git/jammy

Recent commits

1a1c514... by Suganath Prabu

scsi: mpt3sas: Update persistent trigger pages from sysfs interface

Store sysfs-provided trigger values into the corresponding persistent
trigger pages. Otherwise trigger entries are not persistent across system
reboots.

BugLink: https://bugs.launchpad.net/bugs/1965927

Link: https://lore<email address hidden>
Signed-off-by: Suganath Prabu S <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 9211faa39a0350fb2239a0bce03b9459cd14fc40)
Signed-off-by: Michael Reed <email address hidden>

cf98338... by Sreekanth Reddy

scsi: mpt3sas: Remove scsi_dma_map() error messages

When scsi_dma_map() fails by returning a sges_left value less than zero,
the amount of logging produced can be extremely high. In a recent end-user
environment, 1200 messages per second were being sent to the log buffer.
This eventually overwhelmed the system and it stalled.

These error messages are not needed. Remove them.

BugLink: https://bugs.launchpad.net/bugs/1965927

Link: https://<email address hidden>
Suggested-by: Christoph Hellwig <email address hidden>
Signed-off-by: Sreekanth Reddy <email address hidden>
Signed-off-by: Martin K. Petersen <email address hidden>
(cherry picked from commit 0c25422d34b4726b2707d5f38560943155a91b80)
Signed-off-by: Michael Reed <email address hidden>

b44ab75... by Stefan Bader

DROP BEFORE CRANK: Reminder to skip an upload number

I had to re-spin lowlatency and that required a bumped upload number.
This must be skipped here so we can get back into sync.
So for the next crank, drop this patch before open but remember to skip
to 54 as upload number.

Signed-off-by: Stefan Bader <email address hidden>

c71edd8... by Stefan Bader

UBUNTU: Ubuntu-5.15.0-47.51

Signed-off-by: Stefan Bader <email address hidden>

989779e... by Stefan Bader

UBUNTU: [Packaging] Move python3-dev to build-depends

BugLink: https://bugs.launchpad.net/bugs/1981864

Placing this into build-depends-indep is not enough because it is
required to build tools-host (perf) which is per-arch.

Fixes: ebe41c29d76c "UBUNTU: [Packaging] add python3-dev as build dependency"
Signed-off-by: Stefan Bader <email address hidden>

7bb5ab2... by Stefan Bader

UBUNTU: Ubuntu-5.15.0-47.50

Signed-off-by: Stefan Bader <email address hidden>

b16ccd5... by Stefan Bader

UBUNTU: link-to-tracker: update tracking bug

BugLink: https://bugs.launchpad.net/bugs/1983903
Properties: no-test-build
Signed-off-by: Stefan Bader <email address hidden>

c4277e4... by Hans de Goede <email address hidden>

x86/PCI: Revert "x86/PCI: Clip only host bridge windows for E820 regions"

BugLink: https://bugs.launchpad.net/bugs/1884232

This reverts commit 4c5e242d3e93.

Prior to 4c5e242d3e93 ("x86/PCI: Clip only host bridge windows for E820
regions"), E820 regions did not affect PCI host bridge windows. We only
looked at E820 regions and avoided them when allocating new MMIO space.
If firmware PCI bridge window and BAR assignments used E820 regions, we
left them alone.

After 4c5e242d3e93, we removed E820 regions from the PCI host bridge
windows before looking at BARs, so firmware assignments in E820 regions
looked like errors, and we moved things around to fit in the space left
(if any) after removing the E820 regions. This unnecessary BAR
reassignment broke several machines.

Guilherme reported that Steam Deck fails to boot after 4c5e242d3e93. We
clipped the window that contained most 32-bit BARs:

  BIOS-e820: [mem 0x00000000a0000000-0x00000000a00fffff] reserved
  acpi PNP0A08:00: clipped [mem 0x80000000-0xf7ffffff window] to [mem 0xa0100000-0xf7ffffff window] for e820 entry [mem 0xa0000000-0xa00fffff]

which forced us to reassign all those BARs, for example, this NVMe BAR:

  pci 0000:00:01.2: PCI bridge to [bus 01]
  pci 0000:00:01.2: bridge window [mem 0x80600000-0x806fffff]
  pci 0000:01:00.0: BAR 0: [mem 0x80600000-0x80603fff 64bit]
  pci 0000:00:01.2: can't claim window [mem 0x80600000-0x806fffff]: no compatible bridge window
  pci 0000:01:00.0: can't claim BAR 0 [mem 0x80600000-0x80603fff 64bit]: no compatible bridge window

  pci 0000:00:01.2: bridge window: assigned [mem 0xa0100000-0xa01fffff]
  pci 0000:01:00.0: BAR 0: assigned [mem 0xa0100000-0xa0103fff 64bit]

All the reassignments were successful, so the devices should have been
functional at the new addresses, but some were not.

Andy reported a similar failure on an Intel MID platform. Benjamin
reported a similar failure on a VMWare Fusion VM.

Note: this is not a clean revert; this revert keeps the later change to
make the clipping dependent on a new pci_use_e820 bool, moving the checking
of this bool to arch_remove_reservations().

[bhelgaas: commit log, add more reporters and testers]
BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=216109
Reported-by: Guilherme G. Piccoli <email address hidden>
Reported-by: Andy Shevchenko <email address hidden>
Reported-by: Benjamin Coddington <email address hidden>
Reported-by: Jongman Heo <email address hidden>
Fixes: 4c5e242d3e93 ("x86/PCI: Clip only host bridge windows for E820 regions")
Link: https://<email address hidden>
Tested-by: Guilherme G. Piccoli <email address hidden>
Tested-by: Andy Shevchenko <email address hidden>
Tested-by: Benjamin Coddington <email address hidden>
Signed-off-by: Hans de Goede <email address hidden>
Signed-off-by: Bjorn Helgaas <email address hidden>

(cherry picked from commit a2b36ffbf5b6ec301e61249c8b09e610bc80772f)
Signed-off-by: Chia-Lin Kao (AceLan) <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Acked-by: Tim Gardner <email address hidden>
Signed-off-by: Stefan Bader <email address hidden>

d191486... by Hans de Goede <email address hidden>

x86/PCI: Disable E820 reserved region clipping via quirks

BugLink: https://bugs.launchpad.net/bugs/1884232

To avoid unusable space that some firmware includes in PCI host bridge
_CRS, Linux currently excludes E820 reserved regions from _CRS windows; see
4dc2287c1805 ("x86: avoid E820 regions when allocating address space").

However, some systems supply E820 reserved regions that cover the entire
memory window from _CRS, so clipping them out leaves no space for hot-added
or uninitialized PCI devices.

For example, from a Lenovo IdeaPad 3 15IIL 81WE:

  BIOS-e820: [mem 0x4bc50000-0xcfffffff] reserved
  pci_bus 0000:00: root bus resource [mem 0x65400000-0xbfffffff window]
  pci 0000:00:15.0: BAR 0: [mem 0x00000000-0x00000fff 64bit]
  pci 0000:00:15.0: BAR 0: no space for [mem size 0x00001000 64bit]

Add quirks to disable the E820 clipping for machines known to do this.

A single DMI_PRODUCT_VERSION "IIL" quirk matches all the below:

  Lenovo IdeaPad 3 14IIL05
  Lenovo IdeaPad 3 15IIL05
  Lenovo IdeaPad 3 17IIL05
  Lenovo IdeaPad 5 14IIL05
  Lenovo IdeaPad 5 15IIL05
  Lenovo IdeaPad Slim 7 14IIL05
  Lenovo IdeaPad Slim 7 15IIL05
  Lenovo IdeaPad S145-15IIL
  Lenovo IdeaPad S340-14IIL
  Lenovo IdeaPad S340-15IIL
  Lenovo IdeaPad C340-15IIL
  Lenovo BS145-15IIL
  Lenovo V14-IIL
  Lenovo V15-IIL
  Lenovo V17-IIL
  Lenovo Yoga C940-14IIL
  Lenovo Yoga S740-14IIL
  Lenovo Yoga Slim 7 14IIL05
  Lenovo Yoga Slim 7 15IIL05

in addition to the following that don't actually need it because they have
no E820 reserved regions that overlap _CRS windows:

  Lenovo IdeaPad Flex 5 14IIL05
  Lenovo IdeaPad Flex 5 15IIL05
  Lenovo ThinkBook 14-IIL
  Lenovo ThinkBook 15-IIL
  Lenovo Yoga S940-14IIL

Other quirks match these:

  Acer Spin 5 (SP513-54N)

  Clevo X170KM-G Barebone

Link: https://bugzilla.kernel.org/show_bug.cgi?id=206459 Lenovo Yoga C940-14IIL
Link: https://bugzilla.kernel.org/show_bug.cgi?id=214259 Clevo X170KM Barebone
Link: https://bugzilla.redhat.com/show_bug.cgi?id=1868899 Lenovo IdeaPad 3 15IIL05
Link: https://bugzilla.redhat.com/show_bug.cgi?id=1871793 Lenovo IdeaPad 5 14IIL05
Link: https://bugs.launchpad.net/bugs/1878279 Lenovo IdeaPad 5 14IIL05
Link: https://bugs.launchpad.net/bugs/1880172 Lenovo IdeaPad 3 14IIL05
Link: https://bugs.launchpad.net/bugs/1884232 Acer Spin SP513-54N
Link: https://bugs.launchpad.net/bugs/1921649 Lenovo IdeaPad S145
Link: https://bugs.launchpad.net/bugs/1931715 Lenovo IdeaPad S145
Link: https://bugs.launchpad.net/bugs/1932069 Lenovo BS145-15IIL
Link: https://<email address hidden>
Signed-off-by: Hans de Goede <email address hidden>
Signed-off-by: Bjorn Helgaas <email address hidden>
Acked-by: Rafael J. Wysocki <email address hidden>
Cc: Benoit Grégoire <email address hidden>
Cc: Hui Wang <email address hidden>

(cherry picked from commit d341838d776abadb3ac48abdd2f1f40df5a4fc10)
Signed-off-by: Chia-Lin Kao (AceLan) <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Acked-by: Tim Gardner <email address hidden>
Signed-off-by: Stefan Bader <email address hidden>

836a8c6... by Hans de Goede <email address hidden>

x86/PCI: Add kernel cmdline options to use/ignore E820 reserved regions

BugLink: https://bugs.launchpad.net/bugs/1884232

Some firmware supplies PCI host bridge _CRS that includes address space
unusable by PCI devices, e.g., space occupied by host bridge registers or
used by hidden PCI devices.

To avoid this unusable space, Linux currently excludes E820 reserved
regions from _CRS windows; see 4dc2287c1805 ("x86: avoid E820 regions when
allocating address space").

However, this use of E820 reserved regions to clip things out of _CRS is
not supported by ACPI, UEFI, or PCI Firmware specs, and some systems have
E820 reserved regions that cover the entire memory window from _CRS.
4dc2287c1805 clips the entire window, leaving no space for hot-added or
uninitialized PCI devices.

For example, from a Lenovo IdeaPad 3 15IIL 81WE:

  BIOS-e820: [mem 0x4bc50000-0xcfffffff] reserved
  pci_bus 0000:00: root bus resource [mem 0x65400000-0xbfffffff window]
  pci 0000:00:15.0: BAR 0: [mem 0x00000000-0x00000fff 64bit]
  pci 0000:00:15.0: BAR 0: no space for [mem size 0x00001000 64bit]

Future patches will add quirks to enable/disable E820 clipping
automatically.

Add a "pci=no_e820" kernel command line option to disable clipping with
E820 reserved regions. Also add a matching "pci=use_e820" option to enable
clipping with E820 reserved regions if that has been disabled by default by
further patches in this patch-set.

Both options taint the kernel because they are intended for debugging and
workaround purposes until a quirk can set them automatically.

[bhelgaas: commit log, add printk]
Link: https://bugzilla.redhat.com/show_bug.cgi?id=1868899 Lenovo IdeaPad 3
Link: https://<email address hidden>
Signed-off-by: Hans de Goede <email address hidden>
Signed-off-by: Bjorn Helgaas <email address hidden>
Acked-by: Rafael J. Wysocki <email address hidden>
Cc: Benoit Grégoire <email address hidden>
Cc: Hui Wang <email address hidden>

(cherry picked from commit fa6dae5d82081e8d9f8e6a2baf7149442a6c1ba5)
Signed-off-by: Chia-Lin Kao (AceLan) <email address hidden>
Acked-by: Stefan Bader <email address hidden>
Acked-by: Tim Gardner <email address hidden>
Signed-off-by: Stefan Bader <email address hidden>