Module Name: src
Committed By: msaitoh
Date: Wed Jun 7 05:30:49 UTC 2017
Modified Files:
src/sys/dev/pci: pci_subr.c
Log Message:
Fix to print the following bit fields correctly.
- Supported Link Speeds Vector in LCAP2
- Lower SKP OS Generation Supported Speed Vector in LCAP2
- Lower SKP OS Reception Supported Speed Vector in LCAP2
- Enable Lower SKP OS Generation Vector in LCTL3
Note that the above bitfields start from 0 and the follwing bitfields start
from 1:
- Maximum Link Speed in LCAP
- Current Link Speed in LCSR
- Target Link Speed in LCSR2
To generate a diff of this commit:
cvs rdiff -u -r1.184 -r1.185 src/sys/dev/pci/pci_subr.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/pci/pci_subr.c
diff -u src/sys/dev/pci/pci_subr.c:1.184 src/sys/dev/pci/pci_subr.c:1.185
--- src/sys/dev/pci/pci_subr.c:1.184 Mon Jun 5 13:35:33 2017
+++ src/sys/dev/pci/pci_subr.c Wed Jun 7 05:30:49 2017
@@ -1,4 +1,4 @@
-/* $NetBSD: pci_subr.c,v 1.184 2017/06/05 13:35:33 msaitoh Exp $ */
+/* $NetBSD: pci_subr.c,v 1.185 2017/06/07 05:30:49 msaitoh Exp $ */
/*
* Copyright (c) 1997 Zubin D. Dittia. All rights reserved.
@@ -40,7 +40,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pci_subr.c,v 1.184 2017/06/05 13:35:33 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pci_subr.c,v 1.185 2017/06/07 05:30:49 msaitoh Exp $");
#ifdef _KERNEL_OPT
#include "opt_pci.h"
@@ -1606,18 +1606,34 @@ pci_print_pcie_compl_timeout(uint32_t va
}
}
-static const char * const pcie_linkspeeds[] = {"2.5", "2.5", "5.0", "8.0"};
+static const char * const pcie_linkspeeds[] = {"2.5", "5.0", "8.0"};
+/*
+ * Print link speed. This function is used for the following register bits:
+ * Maximum Link Speed in LCAP
+ * Current Link Speed in LCSR
+ * Target Link Speed in LCSR2
+ * All of above bitfield's values start from 1.
+ */
static void
pci_print_pcie_linkspeed(pcireg_t val)
{
- if (val > __arraycount(pcie_linkspeeds))
+ if ((val < 1) || (val > __arraycount(pcie_linkspeeds)))
printf("unknown value (%u)\n", val);
else
- printf("%sGT/s\n", pcie_linkspeeds[val]);
+ printf("%sGT/s\n", pcie_linkspeeds[val - 1]);
}
+/*
+ * Print link speed "vector".
+ * This function is used for the following register bits:
+ * Supported Link Speeds Vector in LCAP2
+ * Lower SKP OS Generation Supported Speed Vector in LCAP2
+ * Lower SKP OS Reception Supported Speed Vector in LCAP2
+ * Enable Lower SKP OS Generation Vector in LCTL3
+ * All of above bitfield's values start from 0.
+ */
static void
pci_print_pcie_linkspeedvector(pcireg_t val)
{