From: Jon Mason <jon.mason@intel.com>
To: Yijing Wang <wangyijing@huawei.com>
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: Re: NTB driver support in haswell platform?
Date: Wed, 11 Jun 2014 10:18:54 -0700 [thread overview]
Message-ID: <20140611171854.GA3698@jonmason-lab> (raw)
In-Reply-To: <53981B6A.40807@huawei.com>
On Wed, Jun 11, 2014 at 05:03:38PM +0800, Yijing Wang wrote:
> Hi Jon,
> I have a Intel Haswell platform in hand, and our team want to use NTB in this platform.
> I checked the current intel NTB driver in Linux kernel, I found the Haswell NTB pci device id
> is not contained in ntb_pci_tbl[]. I want to know whether current kernel ntb driver can support
> the ntb device in Haswell platform ?
Yes, it does support Haswell and the Device IDs are in there.
PCI_DEVICE_ID_INTEL_NTB_B2B_HSX, PCI_DEVICE_ID_INTEL_NTB_PS_HSX, and
PCI_DEVICE_ID_INTEL_NTB_SS_HSX are the relevant dev ids for Haswell.
> Haswell NTB device id:
>
> From Haswell EDS 7.4.2
>
> did
> Bus: 0 Device: 3 Function: 0 Offset: 2
> Bit Attr Default Description
> 15:0 RO-V 2F08h Device_Identification_Number — Device ID values vary from function to function.
> Bits 15:8 are equal to 0x2F. The following list is a breakdown of the function groups.
> 0x2F00 - 0x2F1F : PCI Express and DMI2
> 0x2F20 - 0x2F3F : Integrated I/O Features
> 0x2F40 - 0x2F5F : Performance Monitors
> 0x2F80 - 0x2F9F : Intel QPI
> 0x2FA0 - 0x2FBF : Home Agent/Memory Controller
> 0x2FC0 - 0x2FDF : Power Management
> 0x2FE0 - 0x2FFF : Cbo/Ring
> Default value may vary based on bus, device, and function of this CSR location.
>
>
> Current ntb_pci_tbl[] in Linux:
>
> #define PCI_DEVICE_ID_INTEL_NTB_B2B_JSF 0x3725
> #define PCI_DEVICE_ID_INTEL_NTB_PS_JSF 0x3726
> #define PCI_DEVICE_ID_INTEL_NTB_SS_JSF 0x3727
> #define PCI_DEVICE_ID_INTEL_NTB_B2B_SNB 0x3C0D
> #define PCI_DEVICE_ID_INTEL_NTB_PS_SNB 0x3C0E
> #define PCI_DEVICE_ID_INTEL_NTB_SS_SNB 0x3C0F
> #define PCI_DEVICE_ID_INTEL_NTB_B2B_IVT 0x0E0D
> #define PCI_DEVICE_ID_INTEL_NTB_PS_IVT 0x0E0E
> #define PCI_DEVICE_ID_INTEL_NTB_SS_IVT 0x0E0F
> #define PCI_DEVICE_ID_INTEL_NTB_B2B_HSX 0x2F0D
> #define PCI_DEVICE_ID_INTEL_NTB_PS_HSX 0x2F0E
> #define PCI_DEVICE_ID_INTEL_NTB_SS_HSX 0x2F0F
> #define PCI_DEVICE_ID_INTEL_NTB_B2B_BWD 0x0C4E
>
> So we should modify the default device id to 0x2F0D, 0x2F0E or 0x2F0F ?
The device IDs are present above: PCI_DEVICE_ID_INTEL_NTB_B2B_HSX,
PCI_DEVICE_ID_INTEL_NTB_PS_HSX, and PCI_DEVICE_ID_INTEL_NTB_SS_HSX.
> What's the difference between them?
The last 3 letters are the name of the CPU where NTB is found. HSX is
Haswell Xeon. The 2-3 letters before that are the configuration type
of the NTB device. B2B is for "Back-to-back" configurations, aka
"NTB-NTB".
B2B
[CPU]---[NTB]===[NTB]---[CPU]
PS/SS is for NTB-RP configurations. PS is "Primary Side" and SS is
"Secondary Side".
[CPU]---[SS|PS]---[CPU]
I have an NTB wiki on my github account
(https://github.com/jonmason/ntb/wiki) describing the configuration,
etc. Also on the wiki is a link to a doc (not written by me, and
contains references to a driver that was not made public) that has
some graphics that might be useful. Specifically, pages 10 and 17.
To save time, the URL is
http://download.intel.com/design/intarch/papers/323328.pdf
Let me know if you have any questions or issues, and I'll be happy to
walk you through it.
Thanks,
Jon
>
> Thanks!
> Yijing.
>
>
>
>
> --
> Thanks!
> Yijing
>
next prev parent reply other threads:[~2014-06-11 17:20 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-11 9:03 NTB driver support in haswell platform? Yijing Wang
2014-06-11 17:18 ` Jon Mason [this message]
2014-06-12 0:56 ` Yijing Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140611171854.GA3698@jonmason-lab \
--to=jon.mason@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=wangyijing@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.