Skip to content

Commit 673dd0c

Browse files
amd-anathjonmason
authored andcommitted
NTB: handle link up, D0 and D3 events correctly
Just like for Link-Down event, Link-Up and D3 events are also mutually exclusive to Link-Down and D0 events respectively. So we clear the bitmasks in peer_sta depending on event type. Signed-off-by: Arindam Nath <[email protected]> Signed-off-by: Jon Mason <[email protected]>
1 parent 60ceafd commit 673dd0c

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

drivers/ntb/hw/amd/ntb_hw_amd.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -568,6 +568,11 @@ static void amd_handle_event(struct amd_ntb_dev *ndev, int vec)
568568
case AMD_PEER_PMETO_EVENT:
569569
case AMD_LINK_UP_EVENT:
570570
ndev->peer_sta |= status;
571+
if (status == AMD_LINK_UP_EVENT)
572+
ndev->peer_sta &= ~AMD_LINK_DOWN_EVENT;
573+
else if (status == AMD_PEER_D3_EVENT)
574+
ndev->peer_sta &= ~AMD_PEER_D0_EVENT;
575+
571576
amd_ack_smu(ndev, status);
572577

573578
/* link down */
@@ -582,6 +587,7 @@ static void amd_handle_event(struct amd_ntb_dev *ndev, int vec)
582587
dev_info(dev, "Wakeup is done.\n");
583588

584589
ndev->peer_sta |= AMD_PEER_D0_EVENT;
590+
ndev->peer_sta &= ~AMD_PEER_D3_EVENT;
585591
amd_ack_smu(ndev, AMD_PEER_D0_EVENT);
586592

587593
/* start a timer to poll link status */

0 commit comments

Comments
 (0)