Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1532545 > unrolled thread
| Started by | Serge Semin <fancer.lancer@gmail.com> |
|---|---|
| First post | 2016-11-29 18:20 +0100 |
| Last post | 2016-11-30 21:10 +0100 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
[PATCH 02/22] NTB: Add peer indexed ports NTB API Serge Semin <fancer.lancer@gmail.com> - 2016-11-29 18:20 +0100
Re: [PATCH 02/22] NTB: Add peer indexed ports NTB API kbuild test robot <lkp@intel.com> - 2016-11-30 20:20 +0100
Re: [PATCH 02/22] NTB: Add peer indexed ports NTB API kbuild test robot <lkp@intel.com> - 2016-11-30 21:10 +0100
| From | Serge Semin <fancer.lancer@gmail.com> |
|---|---|
| Date | 2016-11-29 18:20 +0100 |
| Subject | [PATCH 02/22] NTB: Add peer indexed ports NTB API |
| Message-ID | <sIUet-2Xs-13@gated-at.bofh.it> |
Add new port-index NTB API. Additionally lets get rid of Primary and
Secondary topologies, since port-number can be effectively used instead.
Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
---
include/linux/ntb.h | 101 ++++++++++++++++++++++++++++++++++++++++------------
1 file changed, 79 insertions(+), 22 deletions(-)
diff --git a/include/linux/ntb.h b/include/linux/ntb.h
index 5d1f260..0941a43 100644
--- a/include/linux/ntb.h
+++ b/include/linux/ntb.h
@@ -64,37 +64,21 @@ struct pci_dev;
/**
* enum ntb_topo - NTB connection topology
* @NTB_TOPO_NONE: Topology is unknown or invalid.
- * @NTB_TOPO_PRI: On primary side of local ntb.
- * @NTB_TOPO_SEC: On secondary side of remote ntb.
- * @NTB_TOPO_B2B_USD: On primary side of local ntb upstream of remote ntb.
- * @NTB_TOPO_B2B_DSD: On primary side of local ntb downstream of remote ntb.
+ * @NTB_TOPO_P2P: Simple port-to-port NTB topology
+ * @NTB_TOPO_B2B: Bridge-to-bridge NTB topology
*/
enum ntb_topo {
NTB_TOPO_NONE = -1,
- NTB_TOPO_PRI,
- NTB_TOPO_SEC,
- NTB_TOPO_B2B_USD,
- NTB_TOPO_B2B_DSD,
+ NTB_TOPO_P2P,
+ NTB_TOPO_B2B
};
-static inline int ntb_topo_is_b2b(enum ntb_topo topo)
-{
- switch ((int)topo) {
- case NTB_TOPO_B2B_USD:
- case NTB_TOPO_B2B_DSD:
- return 1;
- }
- return 0;
-}
-
static inline char *ntb_topo_string(enum ntb_topo topo)
{
switch (topo) {
case NTB_TOPO_NONE: return "NTB_TOPO_NONE";
- case NTB_TOPO_PRI: return "NTB_TOPO_PRI";
- case NTB_TOPO_SEC: return "NTB_TOPO_SEC";
- case NTB_TOPO_B2B_USD: return "NTB_TOPO_B2B_USD";
- case NTB_TOPO_B2B_DSD: return "NTB_TOPO_B2B_DSD";
+ case NTB_TOPO_P2P: return "NTB_TOPO_P2P";
+ case NTB_TOPO_B2B: return "NTB_TOPO_B2B";
}
return "NTB_TOPO_INVALID";
}
@@ -179,6 +163,10 @@ static inline int ntb_ctx_ops_is_valid(const struct ntb_ctx_ops *ops)
/**
* struct ntb_ctx_ops - ntb device operations
+ * @port_number: See ntb_port_number().
+ * @peer_port_count: See ntb_peer_port_count().
+ * @peer_port_number: See ntb_peer_port_number().
+ * @peer_port_idx: See ntb_peer_port_idx().
* @link_is_up: See ntb_link_is_up().
* @link_enable: See ntb_link_enable().
* @link_disable: See ntb_link_disable().
@@ -212,6 +200,11 @@ static inline int ntb_ctx_ops_is_valid(const struct ntb_ctx_ops *ops)
* @peer_spad_write: See ntb_peer_spad_write().
*/
struct ntb_dev_ops {
+ int (*port_number)(struct ntb_dev *ntb);
+ int (*peer_port_count)(struct ntb_dev *ntb);
+ int (*peer_port_number)(struct ntb_dev *ntb, int pidx);
+ int (*peer_port_idx)(struct ntb_dev *ntb, int port);
+
int (*link_is_up)(struct ntb_dev *ntb,
enum ntb_speed *speed, enum ntb_width *width);
int (*link_enable)(struct ntb_dev *ntb,
@@ -265,6 +258,10 @@ static inline int ntb_dev_ops_is_valid(const struct ntb_dev_ops *ops)
{
/* commented callbacks are not required: */
return
+ ops->port_number &&
+ ops->peer_port_count &&
+ ops->peer_port_number &&
+ ops->peer_port_idx &&
ops->link_is_up &&
ops->link_enable &&
ops->link_disable &&
@@ -319,6 +316,7 @@ struct ntb_client {
* @dev: Linux device object.
* @pdev: Pci device entry of the ntb.
* @topo: Detected topology of the ntb.
+ * @port: Local port of the ntb.
* @ops: See &ntb_dev_ops.
* @ctx: See &ntb_ctx_ops.
* @ctx_ops: See &ntb_ctx_ops.
@@ -327,6 +325,7 @@ struct ntb_dev {
struct device dev;
struct pci_dev *pdev;
enum ntb_topo topo;
+ int port;
const struct ntb_dev_ops *ops;
void *ctx;
const struct ntb_ctx_ops *ctx_ops;
@@ -442,6 +441,64 @@ void ntb_link_event(struct ntb_dev *ntb);
void ntb_db_event(struct ntb_dev *ntb, int vector);
/**
+ * ntb_port_number() - get the local port number
+ * @ntb: NTB device context.
+ *
+ * Hardware must support at least simple two-ports topology
+ *
+ * Return: the local port number
+ */
+static inline int ntb_port_number(struct ntb_dev *ntb)
+{
+ return ntb->ops->port_number(ntb);
+}
+
+/**
+ * ntb_peer_port_count() - get the number of peer device ports
+ * @ntb: NTB device context.
+ *
+ * Hardware may support an access to memory of several remote domains
+ * over multi-port NTB devices. This method returns the number of peers,
+ * local device can have shared memory with.
+ *
+ * Return: the number of peer ports
+ */
+static inline int ntb_peer_port_count(struct ntb_dev *ntb)
+{
+ return ntb->ops->peer_port_count(ntb);
+}
+
+/**
+ * ntb_peer_port_number() - get the peer port by given index
+ * @ntb: NTB device context.
+ * @pidx: Peer port index.
+ *
+ * Peer ports are continuously enumerated by NTB API logic, so this methods
+ * lets to retrieve port real number by its index.
+ *
+ * Return: the peer device port or negative value indicating an error
+ */
+static inline int ntb_peer_port_number(struct ntb_dev *ntb, int pidx)
+{
+ return ntb->ops->peer_port_number(ntb, pidx);
+}
+
+/**
+ * ntb_peer_port_idx() - get the peer device port index by given port number
+ * @ntb: NTB device context.
+ * @port: Peer port number.
+ *
+ * Inverse operation of ntb_peer_port_number(), so one can get port index
+ * by its port number.
+ *
+ * Return: the peer port index or negative value indicating an error
+ */
+static inline int ntb_peer_port_idx(struct ntb_dev *ntb, int port)
+{
+ return ntb->ops->peer_port_idx(ntb, port);
+}
+
+/**
* ntb_link_is_up() - get the current ntb link state
* @ntb: NTB device context.
* @speed: OUT - The link speed expressed as PCIe generation number.
--
2.6.6
[toc] | [next] | [standalone]
| From | kbuild test robot <lkp@intel.com> |
|---|---|
| Date | 2016-11-30 20:20 +0100 |
| Message-ID | <sJiAa-1FU-9@gated-at.bofh.it> |
| In reply to | #1532545 |
[Multipart message — attachments visible in raw view] — view raw
Hi Serge,
[auto build test ERROR on ntb/ntb-next]
[also build test ERROR on v4.9-rc7 next-20161130]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Serge-Semin/NTB-Alter-kernel-API-to-support-multi-port-devices/20161201-014939
base: https://github.com/jonmason/ntb ntb-next
config: x86_64-randconfig-s5-12010242 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
Note: the linux-review/Serge-Semin/NTB-Alter-kernel-API-to-support-multi-port-devices/20161201-014939 HEAD ced946cf007084caf9a2ec237c898bbf1940b440 builds fine.
It only hurts bisectibility.
All error/warnings (new ones prefixed by >>):
drivers/ntb/hw/amd/ntb_hw_amd.c: In function 'amd_ntb_link_enable':
>> drivers/ntb/hw/amd/ntb_hw_amd.c:256:24: error: 'NTB_TOPO_SEC' undeclared (first use in this function)
if (ndev->ntb.topo == NTB_TOPO_SEC)
^~~~~~~~~~~~
drivers/ntb/hw/amd/ntb_hw_amd.c:256:24: note: each undeclared identifier is reported only once for each function it appears in
drivers/ntb/hw/amd/ntb_hw_amd.c: In function 'amd_ntb_link_disable':
drivers/ntb/hw/amd/ntb_hw_amd.c:277:24: error: 'NTB_TOPO_SEC' undeclared (first use in this function)
if (ndev->ntb.topo == NTB_TOPO_SEC)
^~~~~~~~~~~~
drivers/ntb/hw/amd/ntb_hw_amd.c: In function 'amd_init_ntb':
>> drivers/ntb/hw/amd/ntb_hw_amd.c:880:7: error: 'NTB_TOPO_PRI' undeclared (first use in this function)
case NTB_TOPO_PRI:
^~~~~~~~~~~~
drivers/ntb/hw/amd/ntb_hw_amd.c:881:7: error: 'NTB_TOPO_SEC' undeclared (first use in this function)
case NTB_TOPO_SEC:
^~~~~~~~~~~~
drivers/ntb/hw/amd/ntb_hw_amd.c: In function 'amd_get_topo':
drivers/ntb/hw/amd/ntb_hw_amd.c:915:10: error: 'NTB_TOPO_SEC' undeclared (first use in this function)
return NTB_TOPO_SEC;
^~~~~~~~~~~~
drivers/ntb/hw/amd/ntb_hw_amd.c:917:10: error: 'NTB_TOPO_PRI' undeclared (first use in this function)
return NTB_TOPO_PRI;
^~~~~~~~~~~~
>> drivers/ntb/hw/amd/ntb_hw_amd.c:918:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
--
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'ndev_reset_unsafe_flags':
drivers/ntb/hw/intel/ntb_hw_intel.c:232:8: error: implicit declaration of function 'ntb_topo_is_b2b' [-Werror=implicit-function-declaration]
if (!ntb_topo_is_b2b(ndev->ntb.topo))
^~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'intel_ntb_link_enable':
>> drivers/ntb/hw/intel/ntb_hw_intel.c:1206:24: error: 'NTB_TOPO_SEC' undeclared (first use in this function)
if (ndev->ntb.topo == NTB_TOPO_SEC)
^~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:1206:24: note: each undeclared identifier is reported only once for each function it appears in
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'intel_ntb_link_disable':
drivers/ntb/hw/intel/ntb_hw_intel.c:1235:24: error: 'NTB_TOPO_SEC' undeclared (first use in this function)
if (ndev->ntb.topo == NTB_TOPO_SEC)
^~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'atom_ppd_topo':
drivers/ntb/hw/intel/ntb_hw_intel.c:1448:10: error: 'NTB_TOPO_B2B_USD' undeclared (first use in this function)
return NTB_TOPO_B2B_USD;
^~~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:1452:10: error: 'NTB_TOPO_B2B_DSD' undeclared (first use in this function)
return NTB_TOPO_B2B_DSD;
^~~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'atom_init_ntb':
drivers/ntb/hw/intel/ntb_hw_intel.c:1572:7: error: 'NTB_TOPO_B2B_USD' undeclared (first use in this function)
case NTB_TOPO_B2B_USD:
^~~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:1573:7: error: 'NTB_TOPO_B2B_DSD' undeclared (first use in this function)
case NTB_TOPO_B2B_DSD:
^~~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'atom_init_dev':
drivers/ntb/hw/intel/ntb_hw_intel.c:1614:24: error: 'NTB_TOPO_SEC' undeclared (first use in this function)
if (ndev->ntb.topo != NTB_TOPO_SEC) {
^~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'skx_init_ntb':
drivers/ntb/hw/intel/ntb_hw_intel.c:1789:7: error: 'NTB_TOPO_B2B_USD' undeclared (first use in this function)
case NTB_TOPO_B2B_USD:
^~~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:1790:7: error: 'NTB_TOPO_B2B_DSD' undeclared (first use in this function)
case NTB_TOPO_B2B_DSD:
^~~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'xeon_link_is_up':
drivers/ntb/hw/intel/ntb_hw_intel.c:2043:24: error: 'NTB_TOPO_SEC' undeclared (first use in this function)
if (ndev->ntb.topo == NTB_TOPO_SEC)
^~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'xeon_ppd_topo':
drivers/ntb/hw/intel/ntb_hw_intel.c:2053:10: error: 'NTB_TOPO_B2B_USD' undeclared (first use in this function)
return NTB_TOPO_B2B_USD;
^~~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:2056:10: error: 'NTB_TOPO_B2B_DSD' undeclared (first use in this function)
return NTB_TOPO_B2B_DSD;
^~~~~~~~~~~~~~~~
>> drivers/ntb/hw/intel/ntb_hw_intel.c:2060:10: error: 'NTB_TOPO_PRI' undeclared (first use in this function)
return NTB_TOPO_PRI;
^~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:2064:10: error: 'NTB_TOPO_SEC' undeclared (first use in this function)
return NTB_TOPO_SEC;
^~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'xeon_init_ntb':
drivers/ntb/hw/intel/ntb_hw_intel.c:2356:7: error: 'NTB_TOPO_PRI' undeclared (first use in this function)
case NTB_TOPO_PRI:
^~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:2374:7: error: 'NTB_TOPO_SEC' undeclared (first use in this function)
case NTB_TOPO_SEC:
^~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:2386:7: error: 'NTB_TOPO_B2B_USD' undeclared (first use in this function)
case NTB_TOPO_B2B_USD:
^~~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:2387:7: error: 'NTB_TOPO_B2B_DSD' undeclared (first use in this function)
case NTB_TOPO_B2B_DSD:
^~~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'xeon_init_dev':
drivers/ntb/hw/intel/ntb_hw_intel.c:2534:24: error: 'NTB_TOPO_SEC' undeclared (first use in this function)
if (ndev->ntb.topo != NTB_TOPO_SEC) {
^~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/NTB_TOPO_SEC +256 drivers/ntb/hw/amd/ntb_hw_amd.c
a1b36958 Xiangliang Yu 2016-01-21 250 u32 ntb_ctl;
a1b36958 Xiangliang Yu 2016-01-21 251
a1b36958 Xiangliang Yu 2016-01-21 252 /* Enable event interrupt */
a1b36958 Xiangliang Yu 2016-01-21 253 ndev->int_mask &= ~AMD_EVENT_INTMASK;
a1b36958 Xiangliang Yu 2016-01-21 254 writel(ndev->int_mask, mmio + AMD_INTMASK_OFFSET);
a1b36958 Xiangliang Yu 2016-01-21 255
a1b36958 Xiangliang Yu 2016-01-21 @256 if (ndev->ntb.topo == NTB_TOPO_SEC)
a1b36958 Xiangliang Yu 2016-01-21 257 return -EINVAL;
a1b36958 Xiangliang Yu 2016-01-21 258 dev_dbg(ndev_dev(ndev), "Enabling Link.\n");
a1b36958 Xiangliang Yu 2016-01-21 259
:::::: The code at line 256 was first introduced by commit
:::::: a1b3695820aa490e58915d720a1438069813008b NTB: Add support for AMD PCI-Express Non-Transparent Bridge
:::::: TO: Xiangliang Yu <Xiangliang.Yu@amd.com>
:::::: CC: Jon Mason <jdmason@kudzu.us>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[toc] | [prev] | [next] | [standalone]
| From | kbuild test robot <lkp@intel.com> |
|---|---|
| Date | 2016-11-30 21:10 +0100 |
| Message-ID | <sJjmx-2cG-11@gated-at.bofh.it> |
| In reply to | #1532545 |
Hi Serge,
[auto build test WARNING on ntb/ntb-next]
[also build test WARNING on v4.9-rc7 next-20161130]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Serge-Semin/NTB-Alter-kernel-API-to-support-multi-port-devices/20161201-014939
base: https://github.com/jonmason/ntb ntb-next
reproduce:
# apt-get install sparse
make ARCH=x86_64 allmodconfig
make C=1 CF=-D__CHECK_ENDIAN__
sparse warnings: (new ones prefixed by >>)
include/linux/compiler.h:253:8: sparse: attribute 'no_sanitize_address': unknown attribute
drivers/ntb/hw/intel/ntb_hw_intel.c:664:13: sparse: undefined identifier 'ntb_topo_is_b2b'
drivers/ntb/hw/intel/ntb_hw_intel.c:895:21: sparse: undefined identifier 'ntb_topo_is_b2b'
drivers/ntb/hw/intel/ntb_hw_intel.c:1206:31: sparse: undefined identifier 'NTB_TOPO_SEC'
drivers/ntb/hw/intel/ntb_hw_intel.c:1235:31: sparse: undefined identifier 'NTB_TOPO_SEC'
drivers/ntb/hw/intel/ntb_hw_intel.c:1572:14: sparse: undefined identifier 'NTB_TOPO_B2B_USD'
drivers/ntb/hw/intel/ntb_hw_intel.c:1573:14: sparse: undefined identifier 'NTB_TOPO_B2B_DSD'
>> drivers/ntb/hw/intel/ntb_hw_intel.c:1572:14: sparse: incompatible types for 'case' statement
drivers/ntb/hw/intel/ntb_hw_intel.c:1573:14: sparse: incompatible types for 'case' statement
drivers/ntb/hw/intel/ntb_hw_intel.c:1448:24: sparse: undefined identifier 'NTB_TOPO_B2B_USD'
drivers/ntb/hw/intel/ntb_hw_intel.c:1452:24: sparse: undefined identifier 'NTB_TOPO_B2B_DSD'
drivers/ntb/hw/intel/ntb_hw_intel.c:1614:31: sparse: undefined identifier 'NTB_TOPO_SEC'
drivers/ntb/hw/intel/ntb_hw_intel.c:1789:14: sparse: undefined identifier 'NTB_TOPO_B2B_USD'
drivers/ntb/hw/intel/ntb_hw_intel.c:1790:14: sparse: undefined identifier 'NTB_TOPO_B2B_DSD'
drivers/ntb/hw/intel/ntb_hw_intel.c:1795:39: sparse: undefined identifier 'NTB_TOPO_B2B_USD'
drivers/ntb/hw/intel/ntb_hw_intel.c:1789:14: sparse: incompatible types for 'case' statement
drivers/ntb/hw/intel/ntb_hw_intel.c:1790:14: sparse: incompatible types for 'case' statement
drivers/ntb/hw/intel/ntb_hw_intel.c:2053:24: sparse: undefined identifier 'NTB_TOPO_B2B_USD'
drivers/ntb/hw/intel/ntb_hw_intel.c:2056:24: sparse: undefined identifier 'NTB_TOPO_B2B_DSD'
drivers/ntb/hw/intel/ntb_hw_intel.c:2060:24: sparse: undefined identifier 'NTB_TOPO_PRI'
drivers/ntb/hw/intel/ntb_hw_intel.c:2064:24: sparse: undefined identifier 'NTB_TOPO_SEC'
drivers/ntb/hw/intel/ntb_hw_intel.c:2043:31: sparse: undefined identifier 'NTB_TOPO_SEC'
drivers/ntb/hw/intel/ntb_hw_intel.c:2356:14: sparse: undefined identifier 'NTB_TOPO_PRI'
drivers/ntb/hw/intel/ntb_hw_intel.c:2374:14: sparse: undefined identifier 'NTB_TOPO_SEC'
drivers/ntb/hw/intel/ntb_hw_intel.c:2386:14: sparse: undefined identifier 'NTB_TOPO_B2B_USD'
drivers/ntb/hw/intel/ntb_hw_intel.c:2387:14: sparse: undefined identifier 'NTB_TOPO_B2B_DSD'
drivers/ntb/hw/intel/ntb_hw_intel.c:2416:39: sparse: undefined identifier 'NTB_TOPO_B2B_USD'
drivers/ntb/hw/intel/ntb_hw_intel.c:2356:14: sparse: incompatible types for 'case' statement
drivers/ntb/hw/intel/ntb_hw_intel.c:2374:14: sparse: incompatible types for 'case' statement
drivers/ntb/hw/intel/ntb_hw_intel.c:2386:14: sparse: incompatible types for 'case' statement
drivers/ntb/hw/intel/ntb_hw_intel.c:2387:14: sparse: incompatible types for 'case' statement
drivers/ntb/hw/intel/ntb_hw_intel.c:2534:31: sparse: undefined identifier 'NTB_TOPO_SEC'
drivers/ntb/hw/intel/ntb_hw_intel.c:232:22: sparse: undefined identifier 'ntb_topo_is_b2b'
drivers/ntb/hw/intel/ntb_hw_intel.c:1572:14: sparse: Expected constant expression in case statement
drivers/ntb/hw/intel/ntb_hw_intel.c:1573:14: sparse: Expected constant expression in case statement
drivers/ntb/hw/intel/ntb_hw_intel.c:1789:14: sparse: Expected constant expression in case statement
drivers/ntb/hw/intel/ntb_hw_intel.c:1790:14: sparse: Expected constant expression in case statement
drivers/ntb/hw/intel/ntb_hw_intel.c:2356:14: sparse: Expected constant expression in case statement
drivers/ntb/hw/intel/ntb_hw_intel.c:2374:14: sparse: Expected constant expression in case statement
drivers/ntb/hw/intel/ntb_hw_intel.c:2386:14: sparse: Expected constant expression in case statement
drivers/ntb/hw/intel/ntb_hw_intel.c:2387:14: sparse: Expected constant expression in case statement
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'ndev_reset_unsafe_flags':
drivers/ntb/hw/intel/ntb_hw_intel.c:232:8: error: implicit declaration of function 'ntb_topo_is_b2b' [-Werror=implicit-function-declaration]
if (!ntb_topo_is_b2b(ndev->ntb.topo))
^~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'intel_ntb_link_enable':
drivers/ntb/hw/intel/ntb_hw_intel.c:1206:24: error: 'NTB_TOPO_SEC' undeclared (first use in this function)
if (ndev->ntb.topo == NTB_TOPO_SEC)
^~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:1206:24: note: each undeclared identifier is reported only once for each function it appears in
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'intel_ntb_link_disable':
drivers/ntb/hw/intel/ntb_hw_intel.c:1235:24: error: 'NTB_TOPO_SEC' undeclared (first use in this function)
if (ndev->ntb.topo == NTB_TOPO_SEC)
^~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'atom_ppd_topo':
drivers/ntb/hw/intel/ntb_hw_intel.c:1448:10: error: 'NTB_TOPO_B2B_USD' undeclared (first use in this function)
return NTB_TOPO_B2B_USD;
^~~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:1452:10: error: 'NTB_TOPO_B2B_DSD' undeclared (first use in this function)
return NTB_TOPO_B2B_DSD;
^~~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'atom_init_ntb':
drivers/ntb/hw/intel/ntb_hw_intel.c:1572:7: error: 'NTB_TOPO_B2B_USD' undeclared (first use in this function)
case NTB_TOPO_B2B_USD:
^~~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:1573:7: error: 'NTB_TOPO_B2B_DSD' undeclared (first use in this function)
case NTB_TOPO_B2B_DSD:
^~~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'atom_init_dev':
drivers/ntb/hw/intel/ntb_hw_intel.c:1614:24: error: 'NTB_TOPO_SEC' undeclared (first use in this function)
if (ndev->ntb.topo != NTB_TOPO_SEC) {
^~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'skx_init_ntb':
drivers/ntb/hw/intel/ntb_hw_intel.c:1789:7: error: 'NTB_TOPO_B2B_USD' undeclared (first use in this function)
case NTB_TOPO_B2B_USD:
^~~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:1790:7: error: 'NTB_TOPO_B2B_DSD' undeclared (first use in this function)
case NTB_TOPO_B2B_DSD:
^~~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'xeon_link_is_up':
drivers/ntb/hw/intel/ntb_hw_intel.c:2043:24: error: 'NTB_TOPO_SEC' undeclared (first use in this function)
if (ndev->ntb.topo == NTB_TOPO_SEC)
^~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'xeon_ppd_topo':
drivers/ntb/hw/intel/ntb_hw_intel.c:2053:10: error: 'NTB_TOPO_B2B_USD' undeclared (first use in this function)
return NTB_TOPO_B2B_USD;
^~~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:2056:10: error: 'NTB_TOPO_B2B_DSD' undeclared (first use in this function)
return NTB_TOPO_B2B_DSD;
^~~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:2060:10: error: 'NTB_TOPO_PRI' undeclared (first use in this function)
return NTB_TOPO_PRI;
^~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:2064:10: error: 'NTB_TOPO_SEC' undeclared (first use in this function)
return NTB_TOPO_SEC;
^~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c: In function 'xeon_init_ntb':
drivers/ntb/hw/intel/ntb_hw_intel.c:2356:7: error: 'NTB_TOPO_PRI' undeclared (first use in this function)
case NTB_TOPO_PRI:
^~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:2374:7: error: 'NTB_TOPO_SEC' undeclared (first use in this function)
case NTB_TOPO_SEC:
^~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:2386:7: error: 'NTB_TOPO_B2B_USD' undeclared (first use in this function)
case NTB_TOPO_B2B_USD:
^~~~~~~~~~~~~~~~
drivers/ntb/hw/intel/ntb_hw_intel.c:2387:7: error: 'NTB_TOPO_B2B_DSD' undeclared (first use in this function)
case NTB_TOPO_B2B_DSD:
vim +/case +1572 drivers/ntb/hw/intel/ntb_hw_intel.c
fce8a7bb drivers/ntb/ntb_hw.c Jon Mason 2012-11-16 1556 return 0;
fce8a7bb drivers/ntb/ntb_hw.c Jon Mason 2012-11-16 1557 }
fce8a7bb drivers/ntb/ntb_hw.c Jon Mason 2012-11-16 1558
2f887b9a drivers/ntb/hw/intel/ntb_hw_intel.c Dave Jiang 2015-05-20 1559 static void atom_deinit_isr(struct intel_ntb_dev *ndev)
fce8a7bb drivers/ntb/ntb_hw.c Jon Mason 2012-11-16 1560 {
e26a5843 drivers/ntb/hw/intel/ntb_hw_intel.c Allen Hubbe 2015-04-09 1561 cancel_delayed_work_sync(&ndev->hb_timer);
e26a5843 drivers/ntb/hw/intel/ntb_hw_intel.c Allen Hubbe 2015-04-09 1562 ndev_deinit_isr(ndev);
e26a5843 drivers/ntb/hw/intel/ntb_hw_intel.c Allen Hubbe 2015-04-09 1563 }
fce8a7bb drivers/ntb/ntb_hw.c Jon Mason 2012-11-16 1564
2f887b9a drivers/ntb/hw/intel/ntb_hw_intel.c Dave Jiang 2015-05-20 1565 static int atom_init_ntb(struct intel_ntb_dev *ndev)
e26a5843 drivers/ntb/hw/intel/ntb_hw_intel.c Allen Hubbe 2015-04-09 1566 {
2f887b9a drivers/ntb/hw/intel/ntb_hw_intel.c Dave Jiang 2015-05-20 1567 ndev->mw_count = ATOM_MW_COUNT;
2f887b9a drivers/ntb/hw/intel/ntb_hw_intel.c Dave Jiang 2015-05-20 1568 ndev->spad_count = ATOM_SPAD_COUNT;
2f887b9a drivers/ntb/hw/intel/ntb_hw_intel.c Dave Jiang 2015-05-20 1569 ndev->db_count = ATOM_DB_COUNT;
fce8a7bb drivers/ntb/ntb_hw.c Jon Mason 2012-11-16 1570
e26a5843 drivers/ntb/hw/intel/ntb_hw_intel.c Allen Hubbe 2015-04-09 1571 switch (ndev->ntb.topo) {
e26a5843 drivers/ntb/hw/intel/ntb_hw_intel.c Allen Hubbe 2015-04-09 @1572 case NTB_TOPO_B2B_USD:
e26a5843 drivers/ntb/hw/intel/ntb_hw_intel.c Allen Hubbe 2015-04-09 1573 case NTB_TOPO_B2B_DSD:
2f887b9a drivers/ntb/hw/intel/ntb_hw_intel.c Dave Jiang 2015-05-20 1574 ndev->self_reg = &atom_pri_reg;
2f887b9a drivers/ntb/hw/intel/ntb_hw_intel.c Dave Jiang 2015-05-20 1575 ndev->peer_reg = &atom_b2b_reg;
2f887b9a drivers/ntb/hw/intel/ntb_hw_intel.c Dave Jiang 2015-05-20 1576 ndev->xlat_reg = &atom_sec_xlat;
e26a5843 drivers/ntb/hw/intel/ntb_hw_intel.c Allen Hubbe 2015-04-09 1577
e26a5843 drivers/ntb/hw/intel/ntb_hw_intel.c Allen Hubbe 2015-04-09 1578 /* Enable Bus Master and Memory Space on the secondary side */
e26a5843 drivers/ntb/hw/intel/ntb_hw_intel.c Allen Hubbe 2015-04-09 1579 iowrite16(PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER,
2f887b9a drivers/ntb/hw/intel/ntb_hw_intel.c Dave Jiang 2015-05-20 1580 ndev->self_mmio + ATOM_SPCICMD_OFFSET);
:::::: The code at line 1572 was first introduced by commit
:::::: e26a5843f7f5014ae4460030ca4de029a3ac35d3 NTB: Split ntb_hw_intel and ntb_transport drivers
:::::: TO: Allen Hubbe <Allen.Hubbe@emc.com>
:::::: CC: Jon Mason <jdmason@kudzu.us>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web