Re: Info: mapping multiple BARs. Your kernel is fine.

Stephane Eranian
2014-02-25T18:54:53Z

On Tue, Feb 25, 2014 at 6:39 PM, Borislav Petkov <bp@alien8.de> wrote:
> On Tue, Feb 25, 2014 at 05:33:13PM +0100, Stephane Eranian wrote:
>> No, it's a T430s. What happens if you boot vanilla tip.git?
>
> linus/master + tip/master -> fails
> tip/master -> fails
>
> All trees are from today, like an hour ago or so.
>
> Doing what hpa suggested:
>
I am on tip.git at cfbf8d4 Linux 3.14-rc4
and I don't see the problem (using Ubuntu Saucy).

Given what you commented out, it seems like you're saying
something goes wrong with pci_get_device().
Am I missing some pm callbacks?

The uncore IMC is not used internally.

> diff --git a/arch/x86/kernel/cpu/perf_event_intel_uncore.c b/arch/x86/kernel/cpu/perf_event_intel_uncore.c
> index b262c6124cf3..ec217d2d28dd 100644
> --- a/arch/x86/kernel/cpu/perf_event_intel_uncore.c
> +++ b/arch/x86/kernel/cpu/perf_event_intel_uncore.c
> @@ -3871,6 +3871,7 @@ static int __init uncore_pci_init(void)
> pci_uncores = snb_pci_uncores;
> uncore_pci_driver = &snb_uncore_pci_driver;
> break;
> +#if 0
> case 58: /* Ivy Bridge */
> ret = snb_pci2phy_map_init(PCI_DEVICE_ID_INTEL_IVB_IMC);
> if (ret)
> @@ -3878,6 +3879,7 @@ static int __init uncore_pci_init(void)
> pci_uncores = snb_pci_uncores;
> uncore_pci_driver = &ivb_uncore_pci_driver;
> break;
> +#endif
> case 60: /* Haswell */
> case 69: /* Haswell Celeron */
> ret = snb_pci2phy_map_init(PCI_DEVICE_ID_INTEL_HSW_IMC);
>
> for model 58, IVB, works around the issue.
>
> Thanks.
>
> --
> Regards/Gruss,
> Boris.
>
> Sent from a fat crate under my desk. Formatting is fine.
> --