All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.