* [PATCH] NTB: add support for hotplug feature
@ 2016-11-18 9:21 Shyam Sundar S K
2016-12-06 7:32 ` Shyam Sundar S K
0 siblings, 1 reply; 4+ messages in thread
From: Shyam Sundar S K @ 2016-11-18 9:21 UTC (permalink / raw)
To: Yu, Xiangliang, jdmason, Allen Hubbe, dave.jiang
Cc: Shah, Nehal-bakulchandra, Subramaniyan, Ramkumar,
Su, Richard (Bin), linux-ntb
From: Xiangliang Yu <Xiangliang.Yu@amd.com>
AMD NTB support hotplug under B2B mode. NTB will trigger link
up/down interrupt event when doing plug add/remove, this patch
implements the two interrupt event to support B2B hotplug function.
Signed-off-by: Xiangliang Yu <Xiangliang.Yu@amd.com>
Signed-off-by: S-k, Shyam-sundar <Shyam-sundar.S-k@amd.com>
---
drivers/ntb/hw/amd/ntb_hw_amd.c | 9 ++++++++-
drivers/ntb/hw/amd/ntb_hw_amd.h | 5 ++++-
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/drivers/ntb/hw/amd/ntb_hw_amd.c b/drivers/ntb/hw/amd/ntb_hw_amd.c
index 9bbe3e0..2fc202c 100644
--- a/drivers/ntb/hw/amd/ntb_hw_amd.c
+++ b/drivers/ntb/hw/amd/ntb_hw_amd.c
@@ -194,6 +194,11 @@ static int amd_link_is_up(struct amd_ntb_dev *ndev)
if (!ndev->peer_sta)
return NTB_LNK_STA_ACTIVE(ndev->cntl_sta);
+ if (ndev->peer_sta & AMD_LINK_UP_EVENT) {
+ ndev->peer_sta = 0;
+ return 1;
+ }
+
/* If peer_sta is reset or D0 event, the ISR has
* started a timer to check link status of hardware.
* So here just clear status bit. And if peer_sta is
@@ -202,7 +207,7 @@ static int amd_link_is_up(struct amd_ntb_dev *ndev)
*/
if (ndev->peer_sta & AMD_PEER_RESET_EVENT)
ndev->peer_sta &= ~AMD_PEER_RESET_EVENT;
- else if (ndev->peer_sta & AMD_PEER_D0_EVENT)
+ else if (ndev->peer_sta & (AMD_PEER_D0_EVENT | AMD_LINK_DOWN_EVENT))
ndev->peer_sta = 0;
return 0;
@@ -480,6 +485,8 @@ static void amd_handle_event(struct amd_ntb_dev *ndev, int vec)
break;
case AMD_PEER_D3_EVENT:
case AMD_PEER_PMETO_EVENT:
+ case AMD_LINK_UP_EVENT:
+ case AMD_LINK_DOWN_EVENT:
amd_ack_smu(ndev, status);
/* link down */
diff --git a/drivers/ntb/hw/amd/ntb_hw_amd.h b/drivers/ntb/hw/amd/ntb_hw_amd.h
index 2eac3cd..13d73ed 100644
--- a/drivers/ntb/hw/amd/ntb_hw_amd.h
+++ b/drivers/ntb/hw/amd/ntb_hw_amd.h
@@ -148,9 +148,12 @@ enum {
AMD_PEER_D3_EVENT = BIT(2),
AMD_PEER_PMETO_EVENT = BIT(3),
AMD_PEER_D0_EVENT = BIT(4),
+ AMD_LINK_UP_EVENT = BIT(5),
+ AMD_LINK_DOWN_EVENT = BIT(6),
AMD_EVENT_INTMASK = (AMD_PEER_FLUSH_EVENT |
AMD_PEER_RESET_EVENT | AMD_PEER_D3_EVENT |
- AMD_PEER_PMETO_EVENT | AMD_PEER_D0_EVENT),
+ AMD_PEER_PMETO_EVENT | AMD_PEER_D0_EVENT |
+ AMD_LINK_UP_EVENT | AMD_LINK_DOWN_EVENT),
AMD_PMESTAT_OFFSET = 0x480,
AMD_PMSGTRIG_OFFSET = 0x490,
--
2.7.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] NTB: add support for hotplug feature
2016-11-18 9:21 [PATCH] NTB: add support for hotplug feature Shyam Sundar S K
@ 2016-12-06 7:32 ` Shyam Sundar S K
2016-12-06 14:26 ` Allen Hubbe
0 siblings, 1 reply; 4+ messages in thread
From: Shyam Sundar S K @ 2016-12-06 7:32 UTC (permalink / raw)
To: Yu, Xiangliang, jdmason, Allen Hubbe, dave.jiang
Cc: Shah, Nehal-bakulchandra, Subramaniyan, Ramkumar,
Su, Richard (Bin), linux-ntb
Hi Allen, Jon
Any feedback on the below changes ?
Thanks,
Shyam
On 11/18/2016 2:51 PM, Shyam Sundar S K wrote:
> From: Xiangliang Yu <Xiangliang.Yu@amd.com>
>
> AMD NTB support hotplug under B2B mode. NTB will trigger link
> up/down interrupt event when doing plug add/remove, this patch
> implements the two interrupt event to support B2B hotplug function.
>
> Signed-off-by: Xiangliang Yu <Xiangliang.Yu@amd.com>
> Signed-off-by: S-k, Shyam-sundar <Shyam-sundar.S-k@amd.com>
> ---
> drivers/ntb/hw/amd/ntb_hw_amd.c | 9 ++++++++-
> drivers/ntb/hw/amd/ntb_hw_amd.h | 5 ++++-
> 2 files changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/ntb/hw/amd/ntb_hw_amd.c b/drivers/ntb/hw/amd/ntb_hw_amd.c
> index 9bbe3e0..2fc202c 100644
> --- a/drivers/ntb/hw/amd/ntb_hw_amd.c
> +++ b/drivers/ntb/hw/amd/ntb_hw_amd.c
> @@ -194,6 +194,11 @@ static int amd_link_is_up(struct amd_ntb_dev *ndev)
> if (!ndev->peer_sta)
> return NTB_LNK_STA_ACTIVE(ndev->cntl_sta);
>
> + if (ndev->peer_sta & AMD_LINK_UP_EVENT) {
> + ndev->peer_sta = 0;
> + return 1;
> + }
> +
> /* If peer_sta is reset or D0 event, the ISR has
> * started a timer to check link status of hardware.
> * So here just clear status bit. And if peer_sta is
> @@ -202,7 +207,7 @@ static int amd_link_is_up(struct amd_ntb_dev *ndev)
> */
> if (ndev->peer_sta & AMD_PEER_RESET_EVENT)
> ndev->peer_sta &= ~AMD_PEER_RESET_EVENT;
> - else if (ndev->peer_sta & AMD_PEER_D0_EVENT)
> + else if (ndev->peer_sta & (AMD_PEER_D0_EVENT | AMD_LINK_DOWN_EVENT))
> ndev->peer_sta = 0;
>
> return 0;
> @@ -480,6 +485,8 @@ static void amd_handle_event(struct amd_ntb_dev *ndev, int vec)
> break;
> case AMD_PEER_D3_EVENT:
> case AMD_PEER_PMETO_EVENT:
> + case AMD_LINK_UP_EVENT:
> + case AMD_LINK_DOWN_EVENT:
> amd_ack_smu(ndev, status);
>
> /* link down */
> diff --git a/drivers/ntb/hw/amd/ntb_hw_amd.h b/drivers/ntb/hw/amd/ntb_hw_amd.h
> index 2eac3cd..13d73ed 100644
> --- a/drivers/ntb/hw/amd/ntb_hw_amd.h
> +++ b/drivers/ntb/hw/amd/ntb_hw_amd.h
> @@ -148,9 +148,12 @@ enum {
> AMD_PEER_D3_EVENT = BIT(2),
> AMD_PEER_PMETO_EVENT = BIT(3),
> AMD_PEER_D0_EVENT = BIT(4),
> + AMD_LINK_UP_EVENT = BIT(5),
> + AMD_LINK_DOWN_EVENT = BIT(6),
> AMD_EVENT_INTMASK = (AMD_PEER_FLUSH_EVENT |
> AMD_PEER_RESET_EVENT | AMD_PEER_D3_EVENT |
> - AMD_PEER_PMETO_EVENT | AMD_PEER_D0_EVENT),
> + AMD_PEER_PMETO_EVENT | AMD_PEER_D0_EVENT |
> + AMD_LINK_UP_EVENT | AMD_LINK_DOWN_EVENT),
>
> AMD_PMESTAT_OFFSET = 0x480,
> AMD_PMSGTRIG_OFFSET = 0x490,
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [PATCH] NTB: add support for hotplug feature
2016-12-06 7:32 ` Shyam Sundar S K
@ 2016-12-06 14:26 ` Allen Hubbe
2016-12-21 17:03 ` Jon Mason
0 siblings, 1 reply; 4+ messages in thread
From: Allen Hubbe @ 2016-12-06 14:26 UTC (permalink / raw)
To: 'Shyam Sundar S K', 'Yu, Xiangliang', jdmason,
dave.jiang
Cc: 'Shah, Nehal-bakulchandra',
'Subramaniyan, Ramkumar', 'Su, Richard (Bin)',
linux-ntb
From: Shyam Sundar S K
> Hi Allen, Jon
>
> Any feedback on the below changes ?
>
Acked-by: Allen Hubbe <Allen.Hubbe@dell.com>
> Thanks,
> Shyam
>
> On 11/18/2016 2:51 PM, Shyam Sundar S K wrote:
> > From: Xiangliang Yu <Xiangliang.Yu@amd.com>
> >
> > AMD NTB support hotplug under B2B mode. NTB will trigger link
> > up/down interrupt event when doing plug add/remove, this patch
> > implements the two interrupt event to support B2B hotplug function.
> >
> > Signed-off-by: Xiangliang Yu <Xiangliang.Yu@amd.com>
> > Signed-off-by: S-k, Shyam-sundar <Shyam-sundar.S-k@amd.com>
> > ---
> > drivers/ntb/hw/amd/ntb_hw_amd.c | 9 ++++++++-
> > drivers/ntb/hw/amd/ntb_hw_amd.h | 5 ++++-
> > 2 files changed, 12 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/ntb/hw/amd/ntb_hw_amd.c b/drivers/ntb/hw/amd/ntb_hw_amd.c
> > index 9bbe3e0..2fc202c 100644
> > --- a/drivers/ntb/hw/amd/ntb_hw_amd.c
> > +++ b/drivers/ntb/hw/amd/ntb_hw_amd.c
> > @@ -194,6 +194,11 @@ static int amd_link_is_up(struct amd_ntb_dev *ndev)
> > if (!ndev->peer_sta)
> > return NTB_LNK_STA_ACTIVE(ndev->cntl_sta);
> >
> > + if (ndev->peer_sta & AMD_LINK_UP_EVENT) {
> > + ndev->peer_sta = 0;
> > + return 1;
> > + }
> > +
> > /* If peer_sta is reset or D0 event, the ISR has
> > * started a timer to check link status of hardware.
> > * So here just clear status bit. And if peer_sta is
> > @@ -202,7 +207,7 @@ static int amd_link_is_up(struct amd_ntb_dev *ndev)
> > */
> > if (ndev->peer_sta & AMD_PEER_RESET_EVENT)
> > ndev->peer_sta &= ~AMD_PEER_RESET_EVENT;
> > - else if (ndev->peer_sta & AMD_PEER_D0_EVENT)
> > + else if (ndev->peer_sta & (AMD_PEER_D0_EVENT | AMD_LINK_DOWN_EVENT))
> > ndev->peer_sta = 0;
> >
> > return 0;
> > @@ -480,6 +485,8 @@ static void amd_handle_event(struct amd_ntb_dev *ndev, int vec)
> > break;
> > case AMD_PEER_D3_EVENT:
> > case AMD_PEER_PMETO_EVENT:
> > + case AMD_LINK_UP_EVENT:
> > + case AMD_LINK_DOWN_EVENT:
> > amd_ack_smu(ndev, status);
> >
> > /* link down */
> > diff --git a/drivers/ntb/hw/amd/ntb_hw_amd.h b/drivers/ntb/hw/amd/ntb_hw_amd.h
> > index 2eac3cd..13d73ed 100644
> > --- a/drivers/ntb/hw/amd/ntb_hw_amd.h
> > +++ b/drivers/ntb/hw/amd/ntb_hw_amd.h
> > @@ -148,9 +148,12 @@ enum {
> > AMD_PEER_D3_EVENT = BIT(2),
> > AMD_PEER_PMETO_EVENT = BIT(3),
> > AMD_PEER_D0_EVENT = BIT(4),
> > + AMD_LINK_UP_EVENT = BIT(5),
> > + AMD_LINK_DOWN_EVENT = BIT(6),
> > AMD_EVENT_INTMASK = (AMD_PEER_FLUSH_EVENT |
> > AMD_PEER_RESET_EVENT | AMD_PEER_D3_EVENT |
> > - AMD_PEER_PMETO_EVENT | AMD_PEER_D0_EVENT),
> > + AMD_PEER_PMETO_EVENT | AMD_PEER_D0_EVENT |
> > + AMD_LINK_UP_EVENT | AMD_LINK_DOWN_EVENT),
> >
> > AMD_PMESTAT_OFFSET = 0x480,
> > AMD_PMSGTRIG_OFFSET = 0x490,
> >
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] NTB: add support for hotplug feature
2016-12-06 14:26 ` Allen Hubbe
@ 2016-12-21 17:03 ` Jon Mason
0 siblings, 0 replies; 4+ messages in thread
From: Jon Mason @ 2016-12-21 17:03 UTC (permalink / raw)
To: Allen Hubbe
Cc: 'Shyam Sundar S K', 'Yu, Xiangliang', dave.jiang,
'Shah, Nehal-bakulchandra',
'Subramaniyan, Ramkumar', 'Su, Richard (Bin)',
linux-ntb
On Tue, Dec 06, 2016 at 09:26:05AM -0500, Allen Hubbe wrote:
> From: Shyam Sundar S K
> > Hi Allen, Jon
> >
> > Any feedback on the below changes ?
> >
>
> Acked-by: Allen Hubbe <Allen.Hubbe@dell.com>
>
> > Thanks,
> > Shyam
> >
> > On 11/18/2016 2:51 PM, Shyam Sundar S K wrote:
> > > From: Xiangliang Yu <Xiangliang.Yu@amd.com>
> > >
> > > AMD NTB support hotplug under B2B mode. NTB will trigger link
> > > up/down interrupt event when doing plug add/remove, this patch
> > > implements the two interrupt event to support B2B hotplug function.
> > >
> > > Signed-off-by: Xiangliang Yu <Xiangliang.Yu@amd.com>
> > > Signed-off-by: S-k, Shyam-sundar <Shyam-sundar.S-k@amd.com>
I have applied this to my ntb branch. However, the signed-off-by
above does not conform to the "firstname lastname", due to the comma
and flip of the names. I see in the maintainer patch that this is
flipped. So, I am going to correct this by hand. In the future,
please use
Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Thanks,
Jon
> > > ---
> > > drivers/ntb/hw/amd/ntb_hw_amd.c | 9 ++++++++-
> > > drivers/ntb/hw/amd/ntb_hw_amd.h | 5 ++++-
> > > 2 files changed, 12 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/ntb/hw/amd/ntb_hw_amd.c b/drivers/ntb/hw/amd/ntb_hw_amd.c
> > > index 9bbe3e0..2fc202c 100644
> > > --- a/drivers/ntb/hw/amd/ntb_hw_amd.c
> > > +++ b/drivers/ntb/hw/amd/ntb_hw_amd.c
> > > @@ -194,6 +194,11 @@ static int amd_link_is_up(struct amd_ntb_dev *ndev)
> > > if (!ndev->peer_sta)
> > > return NTB_LNK_STA_ACTIVE(ndev->cntl_sta);
> > >
> > > + if (ndev->peer_sta & AMD_LINK_UP_EVENT) {
> > > + ndev->peer_sta = 0;
> > > + return 1;
> > > + }
> > > +
> > > /* If peer_sta is reset or D0 event, the ISR has
> > > * started a timer to check link status of hardware.
> > > * So here just clear status bit. And if peer_sta is
> > > @@ -202,7 +207,7 @@ static int amd_link_is_up(struct amd_ntb_dev *ndev)
> > > */
> > > if (ndev->peer_sta & AMD_PEER_RESET_EVENT)
> > > ndev->peer_sta &= ~AMD_PEER_RESET_EVENT;
> > > - else if (ndev->peer_sta & AMD_PEER_D0_EVENT)
> > > + else if (ndev->peer_sta & (AMD_PEER_D0_EVENT | AMD_LINK_DOWN_EVENT))
> > > ndev->peer_sta = 0;
> > >
> > > return 0;
> > > @@ -480,6 +485,8 @@ static void amd_handle_event(struct amd_ntb_dev *ndev, int vec)
> > > break;
> > > case AMD_PEER_D3_EVENT:
> > > case AMD_PEER_PMETO_EVENT:
> > > + case AMD_LINK_UP_EVENT:
> > > + case AMD_LINK_DOWN_EVENT:
> > > amd_ack_smu(ndev, status);
> > >
> > > /* link down */
> > > diff --git a/drivers/ntb/hw/amd/ntb_hw_amd.h b/drivers/ntb/hw/amd/ntb_hw_amd.h
> > > index 2eac3cd..13d73ed 100644
> > > --- a/drivers/ntb/hw/amd/ntb_hw_amd.h
> > > +++ b/drivers/ntb/hw/amd/ntb_hw_amd.h
> > > @@ -148,9 +148,12 @@ enum {
> > > AMD_PEER_D3_EVENT = BIT(2),
> > > AMD_PEER_PMETO_EVENT = BIT(3),
> > > AMD_PEER_D0_EVENT = BIT(4),
> > > + AMD_LINK_UP_EVENT = BIT(5),
> > > + AMD_LINK_DOWN_EVENT = BIT(6),
> > > AMD_EVENT_INTMASK = (AMD_PEER_FLUSH_EVENT |
> > > AMD_PEER_RESET_EVENT | AMD_PEER_D3_EVENT |
> > > - AMD_PEER_PMETO_EVENT | AMD_PEER_D0_EVENT),
> > > + AMD_PEER_PMETO_EVENT | AMD_PEER_D0_EVENT |
> > > + AMD_LINK_UP_EVENT | AMD_LINK_DOWN_EVENT),
> > >
> > > AMD_PMESTAT_OFFSET = 0x480,
> > > AMD_PMSGTRIG_OFFSET = 0x490,
> > >
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-12-21 17:03 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-18 9:21 [PATCH] NTB: add support for hotplug feature Shyam Sundar S K
2016-12-06 7:32 ` Shyam Sundar S K
2016-12-06 14:26 ` Allen Hubbe
2016-12-21 17:03 ` Jon Mason
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.