Bug 153881 - pci 0000:ff:1e.3: [Firmware Bug]: reg 0x10: invalid BAR (can't size)
Summary: pci 0000:ff:1e.3: [Firmware Bug]: reg 0x10: invalid BAR (can't size)
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: PCI (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Bjorn Helgaas
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-08-24 13:20 UTC by Paul Menzel
Modified: 2016-09-19 15:15 UTC (History)
3 users (show)

See Also:
Kernel Version: 4.7.2
Subsystem:
Regression: No
Bisected commit-id:


Attachments
Output of dmesg: `dmesg > 20160824--dell-precision-tower-5810--dmesg.log` (58.67 KB, text/x-log)
2016-08-24 13:20 UTC, Paul Menzel
Details
Quirk to silence message (2.65 KB, patch)
2016-08-24 18:59 UTC, Bjorn Helgaas
Details | Diff

Description Paul Menzel 2016-08-24 13:20:27 UTC
Created attachment 230041 [details]
Output of dmesg: `dmesg > 20160824--dell-precision-tower-5810--dmesg.log`

Linux 4.7.2 (and before) shows the following error on the Dell Precision Tower 5810/0K240Y.

```
$ dmesg | grep "invalid BAR"
pci 0000:ff:1e.3: [Firmware Bug]: reg 0x10: invalid BAR (can't size)
```

Here is some output from lspci.

```
$ sudo lspci -xxx -s 00:00.0
00:00.0 Host bridge: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 DMI2 (rev 02)
00: 86 80 00 2f 00 04 10 00 02 00 00 06 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 28 10 17 06
30: 00 00 00 00 90 00 00 00 00 00 00 00 00 01 00 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 e0 ff fb 00 00 00 00 00 00 00 00 00 00 00 00
60: 05 90 02 01 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 10 e0 42 00 00 80 00 00 00 00 00 00 41 38 79 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 9e 13 00 00 00 00 00 00 06 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 01 00 03 00 08 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 09 00 00 00 00 00 00 00

$ sudo lspci -xxx -s ff:1e.3
ff:1e.3 System peripheral: Intel Corporation Xeon E7 v3/Xeon E5 v3/Core i7 Power Control Unit (rev 02)
00: 86 80 c0 2f 00 00 00 00 02 00 80 08 00 00 80 00
10: 23 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 86 80 c0 2f
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40: 00 03 00 00 0c 03 00 00 0c 03 00 00 0c 03 00 00
50: 00 03 00 00 00 03 00 00 00 03 00 00 00 03 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 60 04 20 00 00 00 94 00 00 00 00 00 00 00 94 00
80: 09 00 20 01 05 81 18 00 83 02 00 20 00 00 a0 7f
90: 00 08 92 00 01 84 03 34 77 00 00 00 77 00 00 40
a0: 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 03 00 01 3f 00 00 00 3f 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 21 00 00 00
f0: 00 00 00 80 00 10 00 00 58 01 00 00 00 00 00 00
```

Please find all Linux messages attached.

Should I just update the firmware, and see if it’s fixed there, or should Linux better handle this case?
Comment 1 Bjorn Helgaas 2016-08-24 18:59:48 UTC
Created attachment 230071 [details]
Quirk to silence message

I don't think updating firmware will make any difference.

That device ([8086:2fc0]) put a device-specific register (CONFIG_TDP_NOMINAL_CSR) at offset 0x10, which is supposed to be a BAR.  This is erratum, HSE43 in http://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/xeon-e5-v3-spec-update.pdf

I think Linux already handles this correctly: we just ignore that BAR.  But we probably should do that silently to avoid the alarming message.  Can you try this patch?
Comment 2 Myron Stowe 2016-08-24 21:19:10 UTC
Yes, per Intel:

  ".. it is an uncore function in the CPU, and yes, it's read-only, with a fixed value, ..."

  "You might discuss this issue with the platform provider.  Device 30, function 3 should be hidden by the platform BIOS."

Bjorn already provided the errata - HSE43 entry - in Comment 1.

Myron
Comment 3 Paul Menzel 2016-09-19 15:15:25 UTC
Thank you very much for the prompt replies, and I am sorry for my late one.

I confirm that the message is indeed gone with Linux 4.8-rc8.

```
$ uname -r
4.8.0-rc7.mx64.104
$ dmesg | grep -i firmware
[    1.005182] ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
```

I am therefore setting the status to *RESOLVED/CODE_FIX*. Thank you again.

Note You need to log in before you can comment on or make changes to this bug.