From: "Allen Hubbe" <Allen.Hubbe@dell.com>
To: 'Serge Semin' <fancer.lancer@gmail.com>,
jdmason@kudzu.us, dave.jiang@intel.com, Xiangliang.Yu@amd.com
Cc: Sergey.Semin@t-platforms.ru, linux-ntb@googlegroups.com,
linux-kernel@vger.kernel.org
Subject: RE: [PATCH v3 9/9] NTB: Add ntb.h comments
Date: Wed, 14 Dec 2016 02:09:34 -0500 [thread overview]
Message-ID: <000a01d255d9$09d20a30$1d761e90$@dell.com> (raw)
In-Reply-To: <1481672961-10753-10-git-send-email-fancer.lancer@gmail.com>
From: Serge Semin
> Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
> ---
> include/linux/ntb.h | 19 ++++++++++++-------
> 1 file changed, 12 insertions(+), 7 deletions(-)
>
> diff --git a/include/linux/ntb.h b/include/linux/ntb.h
> index 6d46179..dab0a1b 100644
> --- a/include/linux/ntb.h
> +++ b/include/linux/ntb.h
> @@ -326,12 +326,17 @@ static inline int ntb_dev_ops_is_valid(const struct ntb_dev_ops
> *ops)
> {
> /* commented callbacks are not required: */
> return
> + /* Port operations are required */
... for multiport devices.
> !ops->peer_port_count == !ops->port_number &&
> !ops->peer_port_number == !ops->port_number &&
> !ops->peer_port_idx == !ops->port_number &&
> +
> + /* Link operations are requiered */
> ops->link_is_up &&
> ops->link_enable &&
> ops->link_disable &&
> +
> + /* One or both MW interfaces should be developed */
> ops->mw_count &&
> ops->mw_get_align &&
> (ops->mw_set_trans ||
> @@ -341,12 +346,11 @@ static inline int ntb_dev_ops_is_valid(const struct ntb_dev_ops
> *ops)
> ops->peer_mw_get_addr &&
> /* ops->peer_mw_clear_trans && */
>
> + /* Doorbell operations are mostly required */
> /* ops->db_is_unsafe && */
> ops->db_valid_mask &&
> -
> /* both set, or both unset */
> - (!ops->db_vector_count == !ops->db_vector_mask) &&
> -
> + (!ops->db_vector_count == !ops->db_vector_mask) &&
> ops->db_read &&
> /* ops->db_set && */
> ops->db_clear &&
> @@ -360,6 +364,8 @@ static inline int ntb_dev_ops_is_valid(const struct ntb_dev_ops *ops)
> /* ops->peer_db_read_mask && */
> /* ops->peer_db_set_mask && */
> /* ops->peer_db_clear_mask && */
> +
> + /* Scrachpads interface is optional */
> /* !ops->spad_is_unsafe == !ops->spad_count && */
> !ops->spad_read == !ops->spad_count &&
> !ops->spad_write == !ops->spad_count &&
> @@ -367,6 +373,7 @@ static inline int ntb_dev_ops_is_valid(const struct ntb_dev_ops *ops)
> /* !ops->peer_spad_read == !ops->spad_count && */
> !ops->peer_spad_write == !ops->spad_count &&
>
> + /* Messaging interface is optional */
> !ops->msg_inbits == !ops->msg_count &&
> !ops->msg_outbits == !ops->msg_count &&
> !ops->msg_read_sts == !ops->msg_count &&
> @@ -387,13 +394,12 @@ struct ntb_client {
> struct device_driver drv;
> const struct ntb_client_ops ops;
> };
> -
> #define drv_ntb_client(__drv) container_of((__drv), struct ntb_client, drv)
>
> /**
> * struct ntb_device - ntb device
> * @dev: Linux device object.
> - * @pdev: Pci device entry of the ntb.
> + * @pdev: PCI device entry of the ntb.
> * @topo: Detected topology of the ntb.
> * @ops: See &ntb_dev_ops.
> * @ctx: See &ntb_ctx_ops.
> @@ -414,7 +420,6 @@ struct ntb_dev {
> /* block unregister until device is fully released */
> struct completion released;
> };
> -
> #define dev_ntb(__dev) container_of((__dev), struct ntb_dev, dev)
>
> /**
> @@ -511,7 +516,7 @@ void ntb_link_event(struct ntb_dev *ntb);
> * multiple interrupt vectors for doorbells, the vector number indicates which
> * vector received the interrupt. The vector number is relative to the first
> * vector used for doorbells, starting at zero, and must be less than
> - ** ntb_db_vector_count(). The driver may call ntb_db_read() to check which
> + * ntb_db_vector_count(). The driver may call ntb_db_read() to check which
> * doorbell bits need service, and ntb_db_vector_mask() to determine which of
> * those bits are associated with the vector number.
> */
> --
> 2.6.6
WARNING: multiple messages have this Message-ID (diff)
From: "Allen Hubbe" <Allen.Hubbe@dell.com>
To: "'Serge Semin'" <fancer.lancer@gmail.com>, <jdmason@kudzu.us>,
<dave.jiang@intel.com>, <Xiangliang.Yu@amd.com>
Cc: <Sergey.Semin@t-platforms.ru>, <linux-ntb@googlegroups.com>,
<linux-kernel@vger.kernel.org>
Subject: RE: [PATCH v3 9/9] NTB: Add ntb.h comments
Date: Wed, 14 Dec 2016 02:09:34 -0500 [thread overview]
Message-ID: <000a01d255d9$09d20a30$1d761e90$@dell.com> (raw)
In-Reply-To: <1481672961-10753-10-git-send-email-fancer.lancer@gmail.com>
From: Serge Semin
> Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
> ---
> include/linux/ntb.h | 19 ++++++++++++-------
> 1 file changed, 12 insertions(+), 7 deletions(-)
>
> diff --git a/include/linux/ntb.h b/include/linux/ntb.h
> index 6d46179..dab0a1b 100644
> --- a/include/linux/ntb.h
> +++ b/include/linux/ntb.h
> @@ -326,12 +326,17 @@ static inline int ntb_dev_ops_is_valid(const struct ntb_dev_ops
> *ops)
> {
> /* commented callbacks are not required: */
> return
> + /* Port operations are required */
... for multiport devices.
> !ops->peer_port_count == !ops->port_number &&
> !ops->peer_port_number == !ops->port_number &&
> !ops->peer_port_idx == !ops->port_number &&
> +
> + /* Link operations are requiered */
> ops->link_is_up &&
> ops->link_enable &&
> ops->link_disable &&
> +
> + /* One or both MW interfaces should be developed */
> ops->mw_count &&
> ops->mw_get_align &&
> (ops->mw_set_trans ||
> @@ -341,12 +346,11 @@ static inline int ntb_dev_ops_is_valid(const struct ntb_dev_ops
> *ops)
> ops->peer_mw_get_addr &&
> /* ops->peer_mw_clear_trans && */
>
> + /* Doorbell operations are mostly required */
> /* ops->db_is_unsafe && */
> ops->db_valid_mask &&
> -
> /* both set, or both unset */
> - (!ops->db_vector_count == !ops->db_vector_mask) &&
> -
> + (!ops->db_vector_count == !ops->db_vector_mask) &&
> ops->db_read &&
> /* ops->db_set && */
> ops->db_clear &&
> @@ -360,6 +364,8 @@ static inline int ntb_dev_ops_is_valid(const struct ntb_dev_ops *ops)
> /* ops->peer_db_read_mask && */
> /* ops->peer_db_set_mask && */
> /* ops->peer_db_clear_mask && */
> +
> + /* Scrachpads interface is optional */
> /* !ops->spad_is_unsafe == !ops->spad_count && */
> !ops->spad_read == !ops->spad_count &&
> !ops->spad_write == !ops->spad_count &&
> @@ -367,6 +373,7 @@ static inline int ntb_dev_ops_is_valid(const struct ntb_dev_ops *ops)
> /* !ops->peer_spad_read == !ops->spad_count && */
> !ops->peer_spad_write == !ops->spad_count &&
>
> + /* Messaging interface is optional */
> !ops->msg_inbits == !ops->msg_count &&
> !ops->msg_outbits == !ops->msg_count &&
> !ops->msg_read_sts == !ops->msg_count &&
> @@ -387,13 +394,12 @@ struct ntb_client {
> struct device_driver drv;
> const struct ntb_client_ops ops;
> };
> -
> #define drv_ntb_client(__drv) container_of((__drv), struct ntb_client, drv)
>
> /**
> * struct ntb_device - ntb device
> * @dev: Linux device object.
> - * @pdev: Pci device entry of the ntb.
> + * @pdev: PCI device entry of the ntb.
> * @topo: Detected topology of the ntb.
> * @ops: See &ntb_dev_ops.
> * @ctx: See &ntb_ctx_ops.
> @@ -414,7 +420,6 @@ struct ntb_dev {
> /* block unregister until device is fully released */
> struct completion released;
> };
> -
> #define dev_ntb(__dev) container_of((__dev), struct ntb_dev, dev)
>
> /**
> @@ -511,7 +516,7 @@ void ntb_link_event(struct ntb_dev *ntb);
> * multiple interrupt vectors for doorbells, the vector number indicates which
> * vector received the interrupt. The vector number is relative to the first
> * vector used for doorbells, starting at zero, and must be less than
> - ** ntb_db_vector_count(). The driver may call ntb_db_read() to check which
> + * ntb_db_vector_count(). The driver may call ntb_db_read() to check which
> * doorbell bits need service, and ntb_db_vector_mask() to determine which of
> * those bits are associated with the vector number.
> */
> --
> 2.6.6
next prev parent reply other threads:[~2016-12-14 7:09 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-29 17:15 [PATCH 00/22] NTB: Alter kernel API to support multi-port devices Serge Semin
2016-11-29 17:15 ` [PATCH 01/22] NTB: Move link state API being first in sources Serge Semin
2016-11-29 17:15 ` [PATCH 02/22] NTB: Add peer indexed ports NTB API Serge Semin
2016-11-30 18:40 ` kbuild test robot
2016-11-30 19:12 ` kbuild test robot
2016-11-30 20:04 ` kbuild test robot
2016-11-29 17:15 ` [PATCH 03/22] NTB: Alter NTB API to support both inbound and outbound MW based interfaces Serge Semin
2016-11-30 18:54 ` kbuild test robot
2016-11-30 19:46 ` kbuild test robot
2016-11-29 17:15 ` [PATCH 04/22] NTB: Add messaging NTB API Serge Semin
2016-11-29 17:16 ` [PATCH 05/22] NTB: Alter Scratchpads NTB API to support multi-ports interface Serge Semin
2016-11-29 17:16 ` [PATCH 06/22] NTB: Slightly alter link state NTB API Serge Semin
2016-11-29 17:16 ` [PATCH 07/22] NTB: Fix a few ntb.h issues Serge Semin
2016-11-29 17:16 ` [PATCH 08/22] NTB: Add T-Platforms copyrights to NTB API Serge Semin
2016-11-29 17:16 ` [PATCH 09/22] NTB Intel: Move link-related methods being first in the driver Serge Semin
2016-11-29 17:16 ` [PATCH 10/22] NTB Intel: Add port-related NTB API callback methods Serge Semin
2016-12-07 22:56 ` Allen Hubbe
2016-12-07 22:56 ` Allen Hubbe
2016-11-29 17:16 ` [PATCH 11/22] NTB Intel: Alter MW interface to fit new NTB API Serge Semin
2016-11-29 17:16 ` [PATCH 12/22] NTB Intel: Alter Scratchpads " Serge Semin
2016-11-29 17:16 ` [PATCH 13/22] NTB Intel: Add T-Platforms copyrights to Intel NTB driver Serge Semin
2016-11-29 17:16 ` [PATCH 14/22] NTB AMD: Move link-related methods being first in the driver Serge Semin
2016-11-29 17:16 ` [PATCH 15/22] NTB AMD: Add port-related NTB API callback methods Serge Semin
2016-11-29 17:16 ` [PATCH 16/22] NTB AMD: Alter MW interface to fit new NTB API Serge Semin
2016-11-29 17:16 ` [PATCH 17/22] NTB AMD: Alter Scratchpads " Serge Semin
2016-11-29 17:16 ` [PATCH 18/22] NTB AMD: Add T-Platforms copyrights to AMD NTB driver Serge Semin
2016-11-29 17:16 ` [PATCH 19/22] NTB PingPong: Alter driver to work with two-ports NTB API Serge Semin
2016-11-29 17:16 ` [PATCH 20/22] NTB Tool: " Serge Semin
2016-11-29 17:16 ` [PATCH 21/22] NTB Perf: " Serge Semin
2016-11-29 17:16 ` [PATCH 22/22] NTB Transport: " Serge Semin
2016-12-12 21:08 ` [PATCH v2 0/9] NTB: Alter kernel API to support multi-port devices Serge Semin
2016-12-12 21:08 ` [PATCH v2 1/9] NTB: Make link-state API being declared first Serge Semin
2016-12-12 21:08 ` [PATCH v2 2/9] NTB: Add indexed ports NTB API Serge Semin
2016-12-12 21:08 ` [PATCH v2 3/9] NTB: Alter link-state API to support multi-port devices Serge Semin
2016-12-12 21:08 ` [PATCH v2 4/9] NTB: Alter MW API to support multi-ports devices Serge Semin
2016-12-12 21:08 ` [PATCH v2 5/9] NTB: Alter Scratchpads " Serge Semin
2016-12-12 21:08 ` [PATCH v2 6/9] NTB: Add Messaging NTB API Serge Semin
2016-12-12 21:08 ` [PATCH v2 7/9] NTB: Add new Memory Windows API documentation Serge Semin
2016-12-12 21:08 ` [PATCH v2 8/9] NTB: Add PCIe Gen4 link speed Serge Semin
2016-12-12 21:08 ` [PATCH v2 9/9] NTB: Add ntb.h comments Serge Semin
2016-12-13 23:49 ` [PATCH v3 0/9] NTB: Alter kernel API to support multi-port devices Serge Semin
2016-12-13 23:49 ` [PATCH v3 1/9] NTB: Make link-state API being declared first Serge Semin
2016-12-14 7:07 ` Allen Hubbe
2016-12-14 7:07 ` Allen Hubbe
2016-12-13 23:49 ` [PATCH v3 2/9] NTB: Add indexed ports NTB API Serge Semin
2016-12-14 7:07 ` Allen Hubbe
2016-12-14 7:07 ` Allen Hubbe
2016-12-13 23:49 ` [PATCH v3 3/9] NTB: Alter link-state API to support multi-port devices Serge Semin
2016-12-13 23:49 ` [PATCH v3 4/9] NTB: Alter MW API to support multi-ports devices Serge Semin
2016-12-14 7:08 ` Allen Hubbe
2016-12-14 7:08 ` Allen Hubbe
2017-01-11 0:11 ` Serge Semin
2016-12-13 23:49 ` [PATCH v3 5/9] NTB: Alter Scratchpads " Serge Semin
2016-12-14 7:08 ` Allen Hubbe
2016-12-14 7:08 ` Allen Hubbe
2017-01-11 0:13 ` Serge Semin
2017-02-01 20:01 ` Jon Mason
2016-12-13 23:49 ` [PATCH v3 6/9] NTB: Add Messaging NTB API Serge Semin
2016-12-20 9:48 ` Serge Semin
2016-12-13 23:49 ` [PATCH v3 7/9] NTB: Add new Memory Windows API documentation Serge Semin
2016-12-13 23:49 ` [PATCH v3 8/9] NTB: Add PCIe Gen4 link speed Serge Semin
2016-12-13 23:49 ` [PATCH v3 9/9] NTB: Add ntb.h comments Serge Semin
2016-12-14 7:09 ` Allen Hubbe [this message]
2016-12-14 7:09 ` Allen Hubbe
2016-12-14 7:16 ` Serge Semin
2016-12-14 7:19 ` Allen Hubbe
2016-12-14 7:19 ` Allen Hubbe
2016-12-20 9:50 ` Serge Semin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='000a01d255d9$09d20a30$1d761e90$@dell.com' \
--to=allen.hubbe@dell.com \
--cc=Sergey.Semin@t-platforms.ru \
--cc=Xiangliang.Yu@amd.com \
--cc=dave.jiang@intel.com \
--cc=fancer.lancer@gmail.com \
--cc=jdmason@kudzu.us \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-ntb@googlegroups.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.