NTB: Enable link up and down event notification
authorArindam Nath <arindam.nath@amd.com>
Wed, 5 Feb 2020 15:54:20 +0000 (21:24 +0530)
committerJon Mason <jdmason@kudzu.us>
Fri, 13 Mar 2020 14:04:19 +0000 (10:04 -0400)
Link-Up and Link-Down events can occur irrespective
of whether a data transfer is in progress or not.
So we need to enable the interrupt delivery for
these events early during driver load.

Signed-off-by: Arindam Nath <arindam.nath@amd.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
drivers/ntb/hw/amd/ntb_hw_amd.c

index 150e4db11485ef9c1f5ea465526a4228861a7f13..111f33ff2bd7524e9232259366285f34ad82a489 100644 (file)
@@ -994,6 +994,7 @@ static enum ntb_topo amd_get_topo(struct amd_ntb_dev *ndev)
 
 static int amd_init_dev(struct amd_ntb_dev *ndev)
 {
+       void __iomem *mmio = ndev->self_mmio;
        struct pci_dev *pdev;
        int rc = 0;
 
@@ -1015,6 +1016,10 @@ static int amd_init_dev(struct amd_ntb_dev *ndev)
 
        ndev->db_valid_mask = BIT_ULL(ndev->db_count) - 1;
 
+       /* Enable Link-Up and Link-Down event interrupts */
+       ndev->int_mask &= ~(AMD_LINK_UP_EVENT | AMD_LINK_DOWN_EVENT);
+       writel(ndev->int_mask, mmio + AMD_INTMASK_OFFSET);
+
        return 0;
 }