Skip to content

Commit 4089527

Browse files
Allen Hubbejonmason
authored andcommitted
NTB: ntb_hw_intel: show BAR size in debugfs info
It will be useful to know the hardware configured BAR size to diagnose issues with NTB memory windows. Signed-off-by: Allen Hubbe <Allen.Hubbe@emc.com> Acked-by: Dave Jiang <dave.jiang@intel.com> Signed-off-by: Jon Mason <jdmason@kudzu.us>
1 parent a9c59ef commit 4089527

File tree

1 file changed

+38
-1
lines changed

1 file changed

+38
-1
lines changed

drivers/ntb/hw/intel/ntb_hw_intel.c

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -551,13 +551,15 @@ static ssize_t ndev_debugfs_read(struct file *filp, char __user *ubuf,
551551
size_t count, loff_t *offp)
552552
{
553553
struct intel_ntb_dev *ndev;
554+
struct pci_dev *pdev;
554555
void __iomem *mmio;
555556
char *buf;
556557
size_t buf_size;
557558
ssize_t ret, off;
558-
union { u64 v64; u32 v32; u16 v16; } u;
559+
union { u64 v64; u32 v32; u16 v16; u8 v8; } u;
559560

560561
ndev = filp->private_data;
562+
pdev = ndev_pdev(ndev);
561563
mmio = ndev->self_mmio;
562564

563565
buf_size = min(count, 0x800ul);
@@ -631,6 +633,41 @@ static ssize_t ndev_debugfs_read(struct file *filp, char __user *ubuf,
631633
off += scnprintf(buf + off, buf_size - off,
632634
"Doorbell Bell -\t\t%#llx\n", u.v64);
633635

636+
off += scnprintf(buf + off, buf_size - off,
637+
"\nNTB Window Size:\n");
638+
639+
pci_read_config_byte(pdev, XEON_PBAR23SZ_OFFSET, &u.v8);
640+
off += scnprintf(buf + off, buf_size - off,
641+
"PBAR23SZ %hhu\n", u.v8);
642+
if (!ndev->bar4_split) {
643+
pci_read_config_byte(pdev, XEON_PBAR45SZ_OFFSET, &u.v8);
644+
off += scnprintf(buf + off, buf_size - off,
645+
"PBAR45SZ %hhu\n", u.v8);
646+
} else {
647+
pci_read_config_byte(pdev, XEON_PBAR4SZ_OFFSET, &u.v8);
648+
off += scnprintf(buf + off, buf_size - off,
649+
"PBAR4SZ %hhu\n", u.v8);
650+
pci_read_config_byte(pdev, XEON_PBAR5SZ_OFFSET, &u.v8);
651+
off += scnprintf(buf + off, buf_size - off,
652+
"PBAR5SZ %hhu\n", u.v8);
653+
}
654+
655+
pci_read_config_byte(pdev, XEON_SBAR23SZ_OFFSET, &u.v8);
656+
off += scnprintf(buf + off, buf_size - off,
657+
"SBAR23SZ %hhu\n", u.v8);
658+
if (!ndev->bar4_split) {
659+
pci_read_config_byte(pdev, XEON_SBAR45SZ_OFFSET, &u.v8);
660+
off += scnprintf(buf + off, buf_size - off,
661+
"SBAR45SZ %hhu\n", u.v8);
662+
} else {
663+
pci_read_config_byte(pdev, XEON_SBAR4SZ_OFFSET, &u.v8);
664+
off += scnprintf(buf + off, buf_size - off,
665+
"SBAR4SZ %hhu\n", u.v8);
666+
pci_read_config_byte(pdev, XEON_SBAR5SZ_OFFSET, &u.v8);
667+
off += scnprintf(buf + off, buf_size - off,
668+
"SBAR5SZ %hhu\n", u.v8);
669+
}
670+
634671
off += scnprintf(buf + off, buf_size - off,
635672
"\nNTB Incoming XLAT:\n");
636673

0 commit comments

Comments
 (0)