diff mbox

[03/16] ntb: Enable link training for RP mode in the driver probe

Message ID ae66adf68441cdaf893d2a562924615c229489c0.1432135631.git.Allen.Hubbe@emc.com (mailing list archive)
State New, archived
Delegated to: Bjorn Helgaas
Headers show

Commit Message

Allen Hubbe May 20, 2015, 3:41 p.m. UTC
From: Dave Jiang <dave.jiang@intel.com>

Link training for RP should be enabled in the driver probe. We should
not have to wait for transport loaded for this to hapen. Otherwise the
device will not show up on the transparent bridge side.

Signed-off-by: Dave Jiang <dave.jiang@intel.com>
---
 drivers/ntb/hw/intel/ntb_hw_intel.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Bjorn Helgaas May 20, 2015, 9:21 p.m. UTC | #1
Please run "git log --oneline drivers/ntb" and make your subject lines
consistent.  The convention I use in PCI (and what was used in NTB
until recently) is

  - Acronyms and initialisms are capitalized
  - Subject line is a subsystem prefix ("PCI:", "NTB:", etc.) followed
by a complete sentence starting with a capitalized verb, with no
period at the end

On Wed, May 20, 2015 at 10:41 AM, Allen Hubbe <Allen.Hubbe@emc.com> wrote:
> From: Dave Jiang <dave.jiang@intel.com>
>
> Link training for RP should be enabled in the driver probe. We should
> not have to wait for transport loaded for this to hapen. Otherwise the

s/hapen/happen/

> device will not show up on the transparent bridge side.
>
> Signed-off-by: Dave Jiang <dave.jiang@intel.com>
> ---
>  drivers/ntb/hw/intel/ntb_hw_intel.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/drivers/ntb/hw/intel/ntb_hw_intel.c b/drivers/ntb/hw/intel/ntb_hw_intel.c
> index 05c4b77..d162f22 100644
> --- a/drivers/ntb/hw/intel/ntb_hw_intel.c
> +++ b/drivers/ntb/hw/intel/ntb_hw_intel.c
> @@ -1333,6 +1333,9 @@ static int snb_poll_link(struct intel_ntb_dev *ndev)
>
>  static int snb_link_is_up(struct intel_ntb_dev *ndev)
>  {
> +       if (ndev->ntb.topo == NTB_TOPO_SEC)
> +               return 1;
> +
>         return NTB_LNK_STA_ACTIVE(ndev->lnk_sta);
>  }
>
> @@ -1642,6 +1645,7 @@ static int snb_setup_b2b_mw(struct intel_ntb_dev *ndev,
>  static int snb_init_ntb(struct intel_ntb_dev *ndev)
>  {
>         int rc;
> +       u32 ntb_ctl;
>
>         if (ndev->bar4_split)
>                 ndev->mw_count = HSX_SPLIT_BAR_MW_COUNT;
> @@ -1658,6 +1662,12 @@ static int snb_init_ntb(struct intel_ntb_dev *ndev)
>                         dev_err(ndev_dev(ndev), "NTB Primary config disabled\n");
>                         return -EINVAL;
>                 }
> +
> +               /* enable link to allow secondary side device to appear */
> +               ntb_ctl = ioread32(ndev->self_mmio + ndev->reg->ntb_ctl);
> +               ntb_ctl &= ~NTB_CTL_DISABLE;
> +               iowrite32(ntb_ctl, ndev->self_mmio + ndev->reg->ntb_ctl);
> +
>                 /* use half the spads for the peer */
>                 ndev->spad_count >>= 1;
>                 ndev->self_reg = &snb_pri_reg;
> --
> 2.4.0.rc0.43.gcf8a8c6
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Allen Hubbe May 20, 2015, 9:46 p.m. UTC | #2
RnJvbTogQmpvcm4gSGVsZ2FhcyBbbWFpbHRvOmJoZWxnYWFzQGdvb2dsZS5jb21dDQo+IFBsZWFz
ZSBydW4gImdpdCBsb2cgLS1vbmVsaW5lIGRyaXZlcnMvbnRiIiBhbmQgbWFrZSB5b3VyIHN1Ympl
Y3QgbGluZXMNCj4gY29uc2lzdGVudC4gIFRoZSBjb252ZW50aW9uIEkgdXNlIGluIFBDSSAoYW5k
IHdoYXQgd2FzIHVzZWQgaW4gTlRCDQo+IHVudGlsIHJlY2VudGx5KSBpcw0KPiANCj4gICAtIEFj
cm9ueW1zIGFuZCBpbml0aWFsaXNtcyBhcmUgY2FwaXRhbGl6ZWQNCj4gICAtIFN1YmplY3QgbGlu
ZSBpcyBhIHN1YnN5c3RlbSBwcmVmaXggKCJQQ0k6IiwgIk5UQjoiLCBldGMuKSBmb2xsb3dlZA0K
PiBieSBhIGNvbXBsZXRlIHNlbnRlbmNlIHN0YXJ0aW5nIHdpdGggYSBjYXBpdGFsaXplZCB2ZXJi
LCB3aXRoIG5vDQo+IHBlcmlvZCBhdCB0aGUgZW5kDQoNClRoZXNlIGFyZSB0aGUgbmV3IHN1Ympl
Y3QgbGluZXMgdGhhdCB3aWxsIGJlIGluIHRoZSB2MiBvZiB0aGlzIHNldC4NCg0KTlRCOiBGaXgg
c21hbGwgY29kZSBmb3JtYXQgaXNzdWVzIGluIHRyYW5zcG9ydA0KTlRCOiBEZWZhdWx0IHRvIENQ
VSBtZW1jcHkgZm9yIHBlcmZvcm1hbmNlDQpOVEI6IEltcHJvdmUgcGVyZm9ybWFuY2Ugd2l0aCB3
cml0ZSBjb21iaW5pbmcNCk5UQjogVXNlIE5VTUEgYXdhcmUgbWVtb3J5IGFsbG9jYXRpb24NCk5U
QjogVXNlIE5VTUEgbWVtb3J5IGFuZCBETUEgY2hhbiBpbiB0cmFuc3BvcnQNCk5UQjogUmVzZXQg
dHJhbnNwb3J0IFFQIGxpbmsgc3RhdHMgb24gZG93bg0KTlRCOiBEbyBub3QgYWR2YW5jZSB0cmFu
c3BvcnQgUlggb24gbGluayBkb3duDQpOVEI6IERpZmZlcmVudGlhdGUgdHJhbnNwb3J0IGxpbmsg
ZG93biBtZXNzYWdlcw0KTlRCOiBSYXRlIGxpbWl0IG50Yl9xcF9saW5rX3dvcmsNCk5UQjogQWRk
IHRvb2wgY2xpZW50DQpOVEI6IEFkZCBwaW5nIHBvbmcgY2xpZW50DQpOVEI6IEludGVsIE5UQiBw
YXJhbXMgZm9yIFNOQiBCMkIgYWRkcmVzc2VzDQpOVEI6IENoZWNrIHRoZSBESUQgZm9yIHdvcmth
cm91bmQgZXJyb3IgZmxhZ3MNCk5UQjogRW5hYmxlIGxpbmsgdHJhaW5pbmcgZm9yIFJQIG1vZGUg
aW4gcHJvYmUNCk5UQjogQWRkIE5UQiBoYXJkd2FyZSBhYnN0cmFjdGlvbiBsYXllcg0KTlRCOiBN
b3ZlIGZpbGVzIGluIHByZXBhcmF0aW9uIGZvciBOVEIgYWJzdHJhY3Rpb24NCg0KPiANCj4gT24g
V2VkLCBNYXkgMjAsIDIwMTUgYXQgMTA6NDEgQU0sIEFsbGVuIEh1YmJlIDxBbGxlbi5IdWJiZUBl
bWMuY29tPg0KPiB3cm90ZToNCj4gPiBGcm9tOiBEYXZlIEppYW5nIDxkYXZlLmppYW5nQGludGVs
LmNvbT4NCj4gPg0KPiA+IExpbmsgdHJhaW5pbmcgZm9yIFJQIHNob3VsZCBiZSBlbmFibGVkIGlu
IHRoZSBkcml2ZXIgcHJvYmUuIFdlIHNob3VsZA0KPiA+IG5vdCBoYXZlIHRvIHdhaXQgZm9yIHRy
YW5zcG9ydCBsb2FkZWQgZm9yIHRoaXMgdG8gaGFwZW4uIE90aGVyd2lzZSB0aGUNCj4gDQo+IHMv
aGFwZW4vaGFwcGVuLw0KPiANCj4gPiBkZXZpY2Ugd2lsbCBub3Qgc2hvdyB1cCBvbiB0aGUgdHJh
bnNwYXJlbnQgYnJpZGdlIHNpZGUuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBEYXZlIEppYW5n
IDxkYXZlLmppYW5nQGludGVsLmNvbT4NCj4gPiAtLS0NCj4gPiAgZHJpdmVycy9udGIvaHcvaW50
ZWwvbnRiX2h3X2ludGVsLmMgfCAxMCArKysrKysrKysrDQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAx
MCBpbnNlcnRpb25zKCspDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9udGIvaHcvaW50
ZWwvbnRiX2h3X2ludGVsLmMNCj4gYi9kcml2ZXJzL250Yi9ody9pbnRlbC9udGJfaHdfaW50ZWwu
Yw0KPiA+IGluZGV4IDA1YzRiNzcuLmQxNjJmMjIgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9u
dGIvaHcvaW50ZWwvbnRiX2h3X2ludGVsLmMNCj4gPiArKysgYi9kcml2ZXJzL250Yi9ody9pbnRl
bC9udGJfaHdfaW50ZWwuYw0KPiA+IEBAIC0xMzMzLDYgKzEzMzMsOSBAQCBzdGF0aWMgaW50IHNu
Yl9wb2xsX2xpbmsoc3RydWN0IGludGVsX250Yl9kZXYNCj4gKm5kZXYpDQo+ID4NCj4gPiAgc3Rh
dGljIGludCBzbmJfbGlua19pc191cChzdHJ1Y3QgaW50ZWxfbnRiX2RldiAqbmRldikNCj4gPiAg
ew0KPiA+ICsgICAgICAgaWYgKG5kZXYtPm50Yi50b3BvID09IE5UQl9UT1BPX1NFQykNCj4gPiAr
ICAgICAgICAgICAgICAgcmV0dXJuIDE7DQo+ID4gKw0KPiA+ICAgICAgICAgcmV0dXJuIE5UQl9M
TktfU1RBX0FDVElWRShuZGV2LT5sbmtfc3RhKTsNCj4gPiAgfQ0KPiA+DQo+ID4gQEAgLTE2NDIs
NiArMTY0NSw3IEBAIHN0YXRpYyBpbnQgc25iX3NldHVwX2IyYl9tdyhzdHJ1Y3QgaW50ZWxfbnRi
X2Rldg0KPiAqbmRldiwNCj4gPiAgc3RhdGljIGludCBzbmJfaW5pdF9udGIoc3RydWN0IGludGVs
X250Yl9kZXYgKm5kZXYpDQo+ID4gIHsNCj4gPiAgICAgICAgIGludCByYzsNCj4gPiArICAgICAg
IHUzMiBudGJfY3RsOw0KPiA+DQo+ID4gICAgICAgICBpZiAobmRldi0+YmFyNF9zcGxpdCkNCj4g
PiAgICAgICAgICAgICAgICAgbmRldi0+bXdfY291bnQgPSBIU1hfU1BMSVRfQkFSX01XX0NPVU5U
Ow0KPiA+IEBAIC0xNjU4LDYgKzE2NjIsMTIgQEAgc3RhdGljIGludCBzbmJfaW5pdF9udGIoc3Ry
dWN0IGludGVsX250Yl9kZXYNCj4gKm5kZXYpDQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAg
ZGV2X2VycihuZGV2X2RldihuZGV2KSwgIk5UQiBQcmltYXJ5IGNvbmZpZw0KPiBkaXNhYmxlZFxu
Iik7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+ID4gICAg
ICAgICAgICAgICAgIH0NCj4gPiArDQo+ID4gKyAgICAgICAgICAgICAgIC8qIGVuYWJsZSBsaW5r
IHRvIGFsbG93IHNlY29uZGFyeSBzaWRlIGRldmljZSB0bw0KPiBhcHBlYXIgKi8NCj4gPiArICAg
ICAgICAgICAgICAgbnRiX2N0bCA9IGlvcmVhZDMyKG5kZXYtPnNlbGZfbW1pbyArIG5kZXYtPnJl
Zy0NCj4gPm50Yl9jdGwpOw0KPiA+ICsgICAgICAgICAgICAgICBudGJfY3RsICY9IH5OVEJfQ1RM
X0RJU0FCTEU7DQo+ID4gKyAgICAgICAgICAgICAgIGlvd3JpdGUzMihudGJfY3RsLCBuZGV2LT5z
ZWxmX21taW8gKyBuZGV2LT5yZWctDQo+ID5udGJfY3RsKTsNCj4gPiArDQo+ID4gICAgICAgICAg
ICAgICAgIC8qIHVzZSBoYWxmIHRoZSBzcGFkcyBmb3IgdGhlIHBlZXIgKi8NCj4gPiAgICAgICAg
ICAgICAgICAgbmRldi0+c3BhZF9jb3VudCA+Pj0gMTsNCj4gPiAgICAgICAgICAgICAgICAgbmRl
di0+c2VsZl9yZWcgPSAmc25iX3ByaV9yZWc7DQo+ID4gLS0NCj4gPiAyLjQuMC5yYzAuNDMuZ2Nm
OGE4YzYNCj4gPg0KPiA+IC0tDQo+ID4gVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNl
bmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIGxpbnV4LXBjaSINCj4gaW4NCj4gPiB0aGUgYm9keSBv
ZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZnZXIua2VybmVsLm9yZw0KPiA+IE1vcmUgbWFqb3Jk
b21vIGluZm8gYXQgIGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21vLWluZm8uaHRtbA0K
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bjorn Helgaas May 20, 2015, 10:20 p.m. UTC | #3
On Wed, May 20, 2015 at 4:46 PM, Hubbe, Allen <Allen.Hubbe@emc.com> wrote:
> From: Bjorn Helgaas [mailto:bhelgaas@google.com]
>> Please run "git log --oneline drivers/ntb" and make your subject lines
>> consistent.  The convention I use in PCI (and what was used in NTB
>> until recently) is
>>
>>   - Acronyms and initialisms are capitalized
>>   - Subject line is a subsystem prefix ("PCI:", "NTB:", etc.) followed
>> by a complete sentence starting with a capitalized verb, with no
>> period at the end
>
> These are the new subject lines that will be in the v2 of this set.

That helps a lot, thanks.

> NTB: Fix small code format issues in transport
> NTB: Default to CPU memcpy for performance
> NTB: Improve performance with write combining
> NTB: Use NUMA aware memory allocation
> NTB: Use NUMA memory and DMA chan in transport
> NTB: Reset transport QP link stats on down
> NTB: Do not advance transport RX on link down
> NTB: Differentiate transport link down messages
> NTB: Rate limit ntb_qp_link_work
> NTB: Add tool client
> NTB: Add ping pong client

I think these are test cases, not part of the kernel itself.  It'd be
nice to know that from the summary.  I don't know what the precedent
is for that (if there is one).

> NTB: Intel NTB params for SNB B2B addresses

This sentence no verb :)  Not sure what you're doing with those params.

> NTB: Check the DID for workaround error flags

I think there's room to spell out "device ID".

> NTB: Enable link training for RP mode in probe

Is that Root Port?

> NTB: Add NTB hardware abstraction layer
> NTB: Move files in preparation for NTB abstraction

Of course, none of this has anything to do with the patches
themselves, which I don't intend to review because they're out of my
area :)

>>
>> On Wed, May 20, 2015 at 10:41 AM, Allen Hubbe <Allen.Hubbe@emc.com>
>> wrote:
>> > From: Dave Jiang <dave.jiang@intel.com>
>> >
>> > Link training for RP should be enabled in the driver probe. We should
>> > not have to wait for transport loaded for this to hapen. Otherwise the
>>
>> s/hapen/happen/
>>
>> > device will not show up on the transparent bridge side.
>> >
>> > Signed-off-by: Dave Jiang <dave.jiang@intel.com>
>> > ---
>> >  drivers/ntb/hw/intel/ntb_hw_intel.c | 10 ++++++++++
>> >  1 file changed, 10 insertions(+)
>> >
>> > diff --git a/drivers/ntb/hw/intel/ntb_hw_intel.c
>> b/drivers/ntb/hw/intel/ntb_hw_intel.c
>> > index 05c4b77..d162f22 100644
>> > --- a/drivers/ntb/hw/intel/ntb_hw_intel.c
>> > +++ b/drivers/ntb/hw/intel/ntb_hw_intel.c
>> > @@ -1333,6 +1333,9 @@ static int snb_poll_link(struct intel_ntb_dev
>> *ndev)
>> >
>> >  static int snb_link_is_up(struct intel_ntb_dev *ndev)
>> >  {
>> > +       if (ndev->ntb.topo == NTB_TOPO_SEC)
>> > +               return 1;
>> > +
>> >         return NTB_LNK_STA_ACTIVE(ndev->lnk_sta);
>> >  }
>> >
>> > @@ -1642,6 +1645,7 @@ static int snb_setup_b2b_mw(struct intel_ntb_dev
>> *ndev,
>> >  static int snb_init_ntb(struct intel_ntb_dev *ndev)
>> >  {
>> >         int rc;
>> > +       u32 ntb_ctl;
>> >
>> >         if (ndev->bar4_split)
>> >                 ndev->mw_count = HSX_SPLIT_BAR_MW_COUNT;
>> > @@ -1658,6 +1662,12 @@ static int snb_init_ntb(struct intel_ntb_dev
>> *ndev)
>> >                         dev_err(ndev_dev(ndev), "NTB Primary config
>> disabled\n");
>> >                         return -EINVAL;
>> >                 }
>> > +
>> > +               /* enable link to allow secondary side device to
>> appear */
>> > +               ntb_ctl = ioread32(ndev->self_mmio + ndev->reg-
>> >ntb_ctl);
>> > +               ntb_ctl &= ~NTB_CTL_DISABLE;
>> > +               iowrite32(ntb_ctl, ndev->self_mmio + ndev->reg-
>> >ntb_ctl);
>> > +
>> >                 /* use half the spads for the peer */
>> >                 ndev->spad_count >>= 1;
>> >                 ndev->self_reg = &snb_pri_reg;
>> > --
>> > 2.4.0.rc0.43.gcf8a8c6
>> >
>> > --
>> > To unsubscribe from this list: send the line "unsubscribe linux-pci"
>> in
>> > the body of a message to majordomo@vger.kernel.org
>> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Allen Hubbe May 20, 2015, 11 p.m. UTC | #4
RnJvbTogQmpvcm4gSGVsZ2FhcyBbbWFpbHRvOmJoZWxnYWFzQGdvb2dsZS5jb21dDQo+IE9uIFdl
ZCwgTWF5IDIwLCAyMDE1IGF0IDQ6NDYgUE0sIEh1YmJlLCBBbGxlbiA8QWxsZW4uSHViYmVAZW1j
LmNvbT4NCj4gd3JvdGU6DQo+ID4gRnJvbTogQmpvcm4gSGVsZ2FhcyBbbWFpbHRvOmJoZWxnYWFz
QGdvb2dsZS5jb21dDQo+ID4+IFBsZWFzZSBydW4gImdpdCBsb2cgLS1vbmVsaW5lIGRyaXZlcnMv
bnRiIiBhbmQgbWFrZSB5b3VyIHN1YmplY3QNCj4gbGluZXMNCj4gPj4gY29uc2lzdGVudC4gIFRo
ZSBjb252ZW50aW9uIEkgdXNlIGluIFBDSSAoYW5kIHdoYXQgd2FzIHVzZWQgaW4gTlRCDQo+ID4+
IHVudGlsIHJlY2VudGx5KSBpcw0KPiA+Pg0KPiA+PiAgIC0gQWNyb255bXMgYW5kIGluaXRpYWxp
c21zIGFyZSBjYXBpdGFsaXplZA0KPiA+PiAgIC0gU3ViamVjdCBsaW5lIGlzIGEgc3Vic3lzdGVt
IHByZWZpeCAoIlBDSToiLCAiTlRCOiIsIGV0Yy4pDQo+IGZvbGxvd2VkDQo+ID4+IGJ5IGEgY29t
cGxldGUgc2VudGVuY2Ugc3RhcnRpbmcgd2l0aCBhIGNhcGl0YWxpemVkIHZlcmIsIHdpdGggbm8N
Cj4gPj4gcGVyaW9kIGF0IHRoZSBlbmQNCj4gPg0KPiA+IFRoZXNlIGFyZSB0aGUgbmV3IHN1Ympl
Y3QgbGluZXMgdGhhdCB3aWxsIGJlIGluIHRoZSB2MiBvZiB0aGlzIHNldC4NCj4gDQo+IFRoYXQg
aGVscHMgYSBsb3QsIHRoYW5rcy4NCj4gDQo+ID4gTlRCOiBGaXggc21hbGwgY29kZSBmb3JtYXQg
aXNzdWVzIGluIHRyYW5zcG9ydA0KPiA+IE5UQjogRGVmYXVsdCB0byBDUFUgbWVtY3B5IGZvciBw
ZXJmb3JtYW5jZQ0KPiA+IE5UQjogSW1wcm92ZSBwZXJmb3JtYW5jZSB3aXRoIHdyaXRlIGNvbWJp
bmluZw0KPiA+IE5UQjogVXNlIE5VTUEgYXdhcmUgbWVtb3J5IGFsbG9jYXRpb24NCj4gPiBOVEI6
IFVzZSBOVU1BIG1lbW9yeSBhbmQgRE1BIGNoYW4gaW4gdHJhbnNwb3J0DQo+ID4gTlRCOiBSZXNl
dCB0cmFuc3BvcnQgUVAgbGluayBzdGF0cyBvbiBkb3duDQo+ID4gTlRCOiBEbyBub3QgYWR2YW5j
ZSB0cmFuc3BvcnQgUlggb24gbGluayBkb3duDQo+ID4gTlRCOiBEaWZmZXJlbnRpYXRlIHRyYW5z
cG9ydCBsaW5rIGRvd24gbWVzc2FnZXMNCj4gPiBOVEI6IFJhdGUgbGltaXQgbnRiX3FwX2xpbmtf
d29yaw0KPiA+IE5UQjogQWRkIHRvb2wgY2xpZW50DQo+ID4gTlRCOiBBZGQgcGluZyBwb25nIGNs
aWVudA0KPiANCj4gSSB0aGluayB0aGVzZSBhcmUgdGVzdCBjYXNlcywgbm90IHBhcnQgb2YgdGhl
IGtlcm5lbCBpdHNlbGYuICBJdCdkIGJlDQo+IG5pY2UgdG8ga25vdyB0aGF0IGZyb20gdGhlIHN1
bW1hcnkuICBJIGRvbid0IGtub3cgd2hhdCB0aGUgcHJlY2VkZW50DQo+IGlzIGZvciB0aGF0IChp
ZiB0aGVyZSBpcyBvbmUpLg0KDQpXb3VsZCB5b3UgY29uc2lkZXIgdGhpcyBhcyBwcmVjZWRlbnQ6
DQoNCjRhNzc2ZjAgZG1hdGVzdDogU2ltcGxlIERNQSBtZW1jcHkgdGVzdCBjbGllbnQNCg0KPiAN
Cj4gPiBOVEI6IEludGVsIE5UQiBwYXJhbXMgZm9yIFNOQiBCMkIgYWRkcmVzc2VzDQo+IA0KPiBU
aGlzIHNlbnRlbmNlIG5vIHZlcmIgOikgIE5vdCBzdXJlIHdoYXQgeW91J3JlIGRvaW5nIHdpdGgg
dGhvc2UgcGFyYW1zLg0KDQpOVEI6IEFkZCBwYXJhbWV0ZXJzIGZvciBJbnRlbCBTTkIgQjJCIGFk
ZHJlc3Nlcw0KDQo+IA0KPiA+IE5UQjogQ2hlY2sgdGhlIERJRCBmb3Igd29ya2Fyb3VuZCBlcnJv
ciBmbGFncw0KPiANCj4gSSB0aGluayB0aGVyZSdzIHJvb20gdG8gc3BlbGwgb3V0ICJkZXZpY2Ug
SUQiLg0KDQpOVEI6IENoZWNrIHRoZSBkZXZpY2UgSUQgdG8gc2V0IGVycmF0YSBmbGFncw0KDQpB
bHNvLCBhZGQgdGhpcyBwcm9zZSBkZXNjcmlwdGlvbiB0byB0aGlzIGNvbW1pdDoNCg0KU2V0IGVy
cmF0YSBmbGFncyBmb3IgdGhlIHNwZWNpZmljIGRldmljZSBJRHMgdG8gd2hpY2ggdGhleSBhcHBs
eSwNCmluc3RlYWQgb2YgdGhlIHdob2xlIHhlb24gaGFyZHdhcmUgY2xhc3MuDQoNCj4gDQo+ID4g
TlRCOiBFbmFibGUgbGluayB0cmFpbmluZyBmb3IgUlAgbW9kZSBpbiBwcm9iZQ0KPiANCj4gSXMg
dGhhdCBSb290IFBvcnQ/DQoNCnllcw0KDQo+IA0KPiA+IE5UQjogQWRkIE5UQiBoYXJkd2FyZSBh
YnN0cmFjdGlvbiBsYXllcg0KPiA+IE5UQjogTW92ZSBmaWxlcyBpbiBwcmVwYXJhdGlvbiBmb3Ig
TlRCIGFic3RyYWN0aW9uDQo+IA0KPiBPZiBjb3Vyc2UsIG5vbmUgb2YgdGhpcyBoYXMgYW55dGhp
bmcgdG8gZG8gd2l0aCB0aGUgcGF0Y2hlcw0KPiB0aGVtc2VsdmVzLCB3aGljaCBJIGRvbid0IGlu
dGVuZCB0byByZXZpZXcgYmVjYXVzZSB0aGV5J3JlIG91dCBvZiBteQ0KPiBhcmVhIDopDQo+IA0K
DQpJIGFwcHJlY2lhdGUgeW91ciBjb21tZW50cyA6KQ0KDQo+ID4+DQo+ID4+IE9uIFdlZCwgTWF5
IDIwLCAyMDE1IGF0IDEwOjQxIEFNLCBBbGxlbiBIdWJiZSA8QWxsZW4uSHViYmVAZW1jLmNvbT4N
Cj4gPj4gd3JvdGU6DQo+ID4+ID4gRnJvbTogRGF2ZSBKaWFuZyA8ZGF2ZS5qaWFuZ0BpbnRlbC5j
b20+DQo+ID4+ID4NCj4gPj4gPiBMaW5rIHRyYWluaW5nIGZvciBSUCBzaG91bGQgYmUgZW5hYmxl
ZCBpbiB0aGUgZHJpdmVyIHByb2JlLiBXZQ0KPiBzaG91bGQNCj4gPj4gPiBub3QgaGF2ZSB0byB3
YWl0IGZvciB0cmFuc3BvcnQgbG9hZGVkIGZvciB0aGlzIHRvIGhhcGVuLiBPdGhlcndpc2UNCj4g
dGhlDQo+ID4+DQo+ID4+IHMvaGFwZW4vaGFwcGVuLw0KPiA+Pg0KPiA+PiA+IGRldmljZSB3aWxs
IG5vdCBzaG93IHVwIG9uIHRoZSB0cmFuc3BhcmVudCBicmlkZ2Ugc2lkZS4NCj4gPj4gPg0KPiA+
PiA+IFNpZ25lZC1vZmYtYnk6IERhdmUgSmlhbmcgPGRhdmUuamlhbmdAaW50ZWwuY29tPg0KPiA+
PiA+IC0tLQ0KPiA+PiA+ICBkcml2ZXJzL250Yi9ody9pbnRlbC9udGJfaHdfaW50ZWwuYyB8IDEw
ICsrKysrKysrKysNCj4gPj4gPiAgMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykNCj4g
Pj4gPg0KPiA+PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL250Yi9ody9pbnRlbC9udGJfaHdfaW50
ZWwuYw0KPiA+PiBiL2RyaXZlcnMvbnRiL2h3L2ludGVsL250Yl9od19pbnRlbC5jDQo+ID4+ID4g
aW5kZXggMDVjNGI3Ny4uZDE2MmYyMiAxMDA2NDQNCj4gPj4gPiAtLS0gYS9kcml2ZXJzL250Yi9o
dy9pbnRlbC9udGJfaHdfaW50ZWwuYw0KPiA+PiA+ICsrKyBiL2RyaXZlcnMvbnRiL2h3L2ludGVs
L250Yl9od19pbnRlbC5jDQo+ID4+ID4gQEAgLTEzMzMsNiArMTMzMyw5IEBAIHN0YXRpYyBpbnQg
c25iX3BvbGxfbGluayhzdHJ1Y3QgaW50ZWxfbnRiX2Rldg0KPiA+PiAqbmRldikNCj4gPj4gPg0K
PiA+PiA+ICBzdGF0aWMgaW50IHNuYl9saW5rX2lzX3VwKHN0cnVjdCBpbnRlbF9udGJfZGV2ICpu
ZGV2KQ0KPiA+PiA+ICB7DQo+ID4+ID4gKyAgICAgICBpZiAobmRldi0+bnRiLnRvcG8gPT0gTlRC
X1RPUE9fU0VDKQ0KPiA+PiA+ICsgICAgICAgICAgICAgICByZXR1cm4gMTsNCj4gPj4gPiArDQo+
ID4+ID4gICAgICAgICByZXR1cm4gTlRCX0xOS19TVEFfQUNUSVZFKG5kZXYtPmxua19zdGEpOw0K
PiA+PiA+ICB9DQo+ID4+ID4NCj4gPj4gPiBAQCAtMTY0Miw2ICsxNjQ1LDcgQEAgc3RhdGljIGlu
dCBzbmJfc2V0dXBfYjJiX213KHN0cnVjdA0KPiBpbnRlbF9udGJfZGV2DQo+ID4+ICpuZGV2LA0K
PiA+PiA+ICBzdGF0aWMgaW50IHNuYl9pbml0X250YihzdHJ1Y3QgaW50ZWxfbnRiX2RldiAqbmRl
dikNCj4gPj4gPiAgew0KPiA+PiA+ICAgICAgICAgaW50IHJjOw0KPiA+PiA+ICsgICAgICAgdTMy
IG50Yl9jdGw7DQo+ID4+ID4NCj4gPj4gPiAgICAgICAgIGlmIChuZGV2LT5iYXI0X3NwbGl0KQ0K
PiA+PiA+ICAgICAgICAgICAgICAgICBuZGV2LT5td19jb3VudCA9IEhTWF9TUExJVF9CQVJfTVdf
Q09VTlQ7DQo+ID4+ID4gQEAgLTE2NTgsNiArMTY2MiwxMiBAQCBzdGF0aWMgaW50IHNuYl9pbml0
X250YihzdHJ1Y3QgaW50ZWxfbnRiX2Rldg0KPiA+PiAqbmRldikNCj4gPj4gPiAgICAgICAgICAg
ICAgICAgICAgICAgICBkZXZfZXJyKG5kZXZfZGV2KG5kZXYpLCAiTlRCIFByaW1hcnkgY29uZmln
DQo+ID4+IGRpc2FibGVkXG4iKTsNCj4gPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1
cm4gLUVJTlZBTDsNCj4gPj4gPiAgICAgICAgICAgICAgICAgfQ0KPiA+PiA+ICsNCj4gPj4gPiAr
ICAgICAgICAgICAgICAgLyogZW5hYmxlIGxpbmsgdG8gYWxsb3cgc2Vjb25kYXJ5IHNpZGUgZGV2
aWNlIHRvDQo+ID4+IGFwcGVhciAqLw0KPiA+PiA+ICsgICAgICAgICAgICAgICBudGJfY3RsID0g
aW9yZWFkMzIobmRldi0+c2VsZl9tbWlvICsgbmRldi0+cmVnLQ0KPiA+PiA+bnRiX2N0bCk7DQo+
ID4+ID4gKyAgICAgICAgICAgICAgIG50Yl9jdGwgJj0gfk5UQl9DVExfRElTQUJMRTsNCj4gPj4g
PiArICAgICAgICAgICAgICAgaW93cml0ZTMyKG50Yl9jdGwsIG5kZXYtPnNlbGZfbW1pbyArIG5k
ZXYtPnJlZy0NCj4gPj4gPm50Yl9jdGwpOw0KPiA+PiA+ICsNCj4gPj4gPiAgICAgICAgICAgICAg
ICAgLyogdXNlIGhhbGYgdGhlIHNwYWRzIGZvciB0aGUgcGVlciAqLw0KPiA+PiA+ICAgICAgICAg
ICAgICAgICBuZGV2LT5zcGFkX2NvdW50ID4+PSAxOw0KPiA+PiA+ICAgICAgICAgICAgICAgICBu
ZGV2LT5zZWxmX3JlZyA9ICZzbmJfcHJpX3JlZzsNCj4gPj4gPiAtLQ0KPiA+PiA+IDIuNC4wLnJj
MC40My5nY2Y4YThjNg0KPiA+PiA+DQo+ID4+ID4gLS0NCj4gPj4gPiBUbyB1bnN1YnNjcmliZSBm
cm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUgbGludXgtDQo+IHBjaSIN
Cj4gPj4gaW4NCj4gPj4gPiB0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZnZXIu
a2VybmVsLm9yZw0KPiA+PiA+IE1vcmUgbWFqb3Jkb21vIGluZm8gYXQgIGh0dHA6Ly92Z2VyLmtl
cm5lbC5vcmcvbWFqb3Jkb21vLWluZm8uaHRtbA0KPiANCj4gLS0NCj4gWW91IHJlY2VpdmVkIHRo
aXMgbWVzc2FnZSBiZWNhdXNlIHlvdSBhcmUgc3Vic2NyaWJlZCB0byB0aGUgR29vZ2xlDQo+IEdy
b3VwcyAibGludXgtbnRiIiBncm91cC4NCj4gVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGdyb3Vw
IGFuZCBzdG9wIHJlY2VpdmluZyBlbWFpbHMgZnJvbSBpdCwgc2VuZA0KPiBhbiBlbWFpbCB0byBs
aW51eC1udGIrdW5zdWJzY3JpYmVAZ29vZ2xlZ3JvdXBzLmNvbS4NCj4gVG8gcG9zdCB0byB0aGlz
IGdyb3VwLCBzZW5kIGVtYWlsIHRvIGxpbnV4LW50YkBnb29nbGVncm91cHMuY29tLg0KPiBUbyB2
aWV3IHRoaXMgZGlzY3Vzc2lvbiBvbiB0aGUgd2ViIHZpc2l0DQo+IGh0dHBzOi8vZ3JvdXBzLmdv
b2dsZS5jb20vZC9tc2dpZC9saW51eC0NCj4gbnRiL0NBRXJTcG81V3pRODZ0NUYycGZoSFlpcGNV
SDNoMnZ2MUROMS0NCj4gRHB4X1ZQc09uYnB1JTNEdyU0MG1haWwuZ21haWwuY29tLg0KPiBGb3Ig
bW9yZSBvcHRpb25zLCB2aXNpdCBodHRwczovL2dyb3Vwcy5nb29nbGUuY29tL2Qvb3B0b3V0Lg0K
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bjorn Helgaas May 21, 2015, 12:06 p.m. UTC | #5
On Wed, May 20, 2015 at 6:00 PM, Hubbe, Allen <Allen.Hubbe@emc.com> wrote:
> From: Bjorn Helgaas [mailto:bhelgaas@google.com]
>> On Wed, May 20, 2015 at 4:46 PM, Hubbe, Allen <Allen.Hubbe@emc.com>
>> wrote:
>> > From: Bjorn Helgaas [mailto:bhelgaas@google.com]
>> >> Please run "git log --oneline drivers/ntb" and make your subject
>> lines
>> >> consistent.  The convention I use in PCI (and what was used in NTB
>> >> until recently) is
>> >>
>> >>   - Acronyms and initialisms are capitalized
>> >>   - Subject line is a subsystem prefix ("PCI:", "NTB:", etc.)
>> followed
>> >> by a complete sentence starting with a capitalized verb, with no
>> >> period at the end
>> >
>> > These are the new subject lines that will be in the v2 of this set.
>>
>> That helps a lot, thanks.
>>
>> > NTB: Fix small code format issues in transport
>> > NTB: Default to CPU memcpy for performance
>> > NTB: Improve performance with write combining
>> > NTB: Use NUMA aware memory allocation
>> > NTB: Use NUMA memory and DMA chan in transport
>> > NTB: Reset transport QP link stats on down
>> > NTB: Do not advance transport RX on link down
>> > NTB: Differentiate transport link down messages
>> > NTB: Rate limit ntb_qp_link_work
>> > NTB: Add tool client
>> > NTB: Add ping pong client
>>
>> I think these are test cases, not part of the kernel itself.  It'd be
>> nice to know that from the summary.  I don't know what the precedent
>> is for that (if there is one).
>
> Would you consider this as precedent:
>
> 4a776f0 dmatest: Simple DMA memcpy test client
>
>>
>> > NTB: Intel NTB params for SNB B2B addresses
>>
>> This sentence no verb :)  Not sure what you're doing with those params.
>
> NTB: Add parameters for Intel SNB B2B addresses
>
>>
>> > NTB: Check the DID for workaround error flags
>>
>> I think there's room to spell out "device ID".
>
> NTB: Check the device ID to set errata flags
>
> Also, add this prose description to this commit:
>
> Set errata flags for the specific device IDs to which they apply,
> instead of the whole xeon hardware class.
>
>>
>> > NTB: Enable link training for RP mode in probe
>>
>> Is that Root Port?
>
> yes
>
>>
>> > NTB: Add NTB hardware abstraction layer
>> > NTB: Move files in preparation for NTB abstraction

All looks good to me!
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Allen Hubbe May 21, 2015, 12:49 p.m. UTC | #6
From: linux-pci-owner@vger.kernel.org [mailto:linux-pci-owner@vger.kernel.org] On Behalf Of Bjorn Helgaas

> On Wed, May 20, 2015 at 6:00 PM, Hubbe, Allen <Allen.Hubbe@emc.com>

> wrote:

> > From: Bjorn Helgaas [mailto:bhelgaas@google.com]

> >> On Wed, May 20, 2015 at 4:46 PM, Hubbe, Allen <Allen.Hubbe@emc.com>

> >> wrote:

> >> > From: Bjorn Helgaas [mailto:bhelgaas@google.com]

> >> >> Please run "git log --oneline drivers/ntb" and make your subject

> >> lines

> >> >> consistent.  The convention I use in PCI (and what was used in NTB

> >> >> until recently) is

> >> >>

> >> >>   - Acronyms and initialisms are capitalized

> >> >>   - Subject line is a subsystem prefix ("PCI:", "NTB:", etc.)

> >> followed

> >> >> by a complete sentence starting with a capitalized verb, with no

> >> >> period at the end

> >> >

> >> > These are the new subject lines that will be in the v2 of this set.

> >>

> >> That helps a lot, thanks.

> >>

> >> > NTB: Fix small code format issues in transport

> >> > NTB: Default to CPU memcpy for performance

> >> > NTB: Improve performance with write combining

> >> > NTB: Use NUMA aware memory allocation

> >> > NTB: Use NUMA memory and DMA chan in transport

> >> > NTB: Reset transport QP link stats on down

> >> > NTB: Do not advance transport RX on link down

> >> > NTB: Differentiate transport link down messages

> >> > NTB: Rate limit ntb_qp_link_work

> >> > NTB: Add tool client

> >> > NTB: Add ping pong client

> >>

> >> I think these are test cases, not part of the kernel itself.  It'd be

> >> nice to know that from the summary.  I don't know what the precedent

> >> is for that (if there is one).

> >

> > Would you consider this as precedent:

> >

> > 4a776f0 dmatest: Simple DMA memcpy test client

> >

> >>

> >> > NTB: Intel NTB params for SNB B2B addresses

> >>

> >> This sentence no verb :)  Not sure what you're doing with those

> params.

> >

> > NTB: Add parameters for Intel SNB B2B addresses

> >

> >>

> >> > NTB: Check the DID for workaround error flags

> >>

> >> I think there's room to spell out "device ID".

> >

> > NTB: Check the device ID to set errata flags

> >

> > Also, add this prose description to this commit:

> >

> > Set errata flags for the specific device IDs to which they apply,

> > instead of the whole xeon hardware class.

> >

> >>

> >> > NTB: Enable link training for RP mode in probe

> >>

> >> Is that Root Port?

> >

> > yes

> >

> >>

> >> > NTB: Add NTB hardware abstraction layer

> >> > NTB: Move files in preparation for NTB abstraction

> 

> All looks good to me!


Thanks!
diff mbox

Patch

diff --git a/drivers/ntb/hw/intel/ntb_hw_intel.c b/drivers/ntb/hw/intel/ntb_hw_intel.c
index 05c4b77..d162f22 100644
--- a/drivers/ntb/hw/intel/ntb_hw_intel.c
+++ b/drivers/ntb/hw/intel/ntb_hw_intel.c
@@ -1333,6 +1333,9 @@  static int snb_poll_link(struct intel_ntb_dev *ndev)
 
 static int snb_link_is_up(struct intel_ntb_dev *ndev)
 {
+	if (ndev->ntb.topo == NTB_TOPO_SEC)
+		return 1;
+
 	return NTB_LNK_STA_ACTIVE(ndev->lnk_sta);
 }
 
@@ -1642,6 +1645,7 @@  static int snb_setup_b2b_mw(struct intel_ntb_dev *ndev,
 static int snb_init_ntb(struct intel_ntb_dev *ndev)
 {
 	int rc;
+	u32 ntb_ctl;
 
 	if (ndev->bar4_split)
 		ndev->mw_count = HSX_SPLIT_BAR_MW_COUNT;
@@ -1658,6 +1662,12 @@  static int snb_init_ntb(struct intel_ntb_dev *ndev)
 			dev_err(ndev_dev(ndev), "NTB Primary config disabled\n");
 			return -EINVAL;
 		}
+
+		/* enable link to allow secondary side device to appear */
+		ntb_ctl = ioread32(ndev->self_mmio + ndev->reg->ntb_ctl);
+		ntb_ctl &= ~NTB_CTL_DISABLE;
+		iowrite32(ntb_ctl, ndev->self_mmio + ndev->reg->ntb_ctl);
+
 		/* use half the spads for the peer */
 		ndev->spad_count >>= 1;
 		ndev->self_reg = &snb_pri_reg;