NTB: Correct USD/DSD Identification
authorJon Mason <jon.mason@intel.com>
Fri, 31 May 2013 21:05:53 +0000 (14:05 -0700)
committerJon Mason <jon.mason@intel.com>
Tue, 3 Sep 2013 18:13:14 +0000 (11:13 -0700)
Due to ambiguous documentation, the USD/DSD identification is backward
when compared to the setting in BIOS.  Correct the bits to match the
BIOS setting.

Signed-off-by: Jon Mason <jon.mason@intel.com>
drivers/ntb/ntb_hw.c

index 3b0ab50..26b808b 100644 (file)
@@ -531,9 +531,9 @@ static int ntb_xeon_setup(struct ntb_device *ndev)
        }
 
        if (val & SNB_PPD_DEV_TYPE)
-               ndev->dev_type = NTB_DEV_DSD;
-       else
                ndev->dev_type = NTB_DEV_USD;
+       else
+               ndev->dev_type = NTB_DEV_DSD;
 
        ndev->reg_ofs.pdb = ndev->reg_base + SNB_PDOORBELL_OFFSET;
        ndev->reg_ofs.pdb_mask = ndev->reg_base + SNB_PDBMSK_OFFSET;
@@ -647,6 +647,9 @@ static int ntb_device_setup(struct ntb_device *ndev)
        if (rc)
                return rc;
 
+       dev_info(&ndev->pdev->dev, "Device Type = %s\n",
+                ndev->dev_type == NTB_DEV_USD ? "USD/DSP" : "DSD/USP");
+
        /* Enable Bus Master and Memory Space on the secondary side */
        writew(PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER, ndev->reg_ofs.spci_cmd);