netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arun Easi <arun.easi@cavium.com>
To: Hannes Reinecke <hare@suse.de>
Cc: "Dupuis, Chad" <chad.dupuis@cavium.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	<fcoe-devel@open-fcoe.org>, <netdev@vger.kernel.org>,
	<QLogic-Storage-Upstream@cavium.com>,
	<linux-scsi@vger.kernel.org>,
	Yuval Mintz <yuval.mintz@cavium.com>
Subject: Re: [Open-FCoE] [PATCH RFC net-next 1/5] qed: Add support for hardware offloaded FCoE.
Date: Tue, 10 Jan 2017 08:49:14 -0800	[thread overview]
Message-ID: <alpine.LRH.2.00.1701031428270.19208@mvluser05.qlc.com> (raw)
In-Reply-To: <371bc2ac-c630-0e95-29aa-3fa16fe0c764@suse.de>

Hi Hannes,

Thank you for the review. Please see my comment inline..

On Wed, 28 Dec 2016, 12:41am, Hannes Reinecke wrote:

> On 12/23/2016 08:17 PM, Dupuis, Chad wrote:
> > From: Arun Easi <arun.easi@qlogic.com>
> > 
> > This adds the backbone required for the various HW initalizations
> > which are necessary for the FCoE driver (qedf) for QLogic FastLinQ
> > 4xxxx line of adapters - FW notification, resource initializations, etc.
> > 
> > Signed-off-by: Arun Easi <arun.easi@cavium.com>
> > Signed-off-by: Yuval Mintz <yuval.mintz@cavium.com>
> > ---

--8<-- snipped --

> > diff --git a/include/linux/qed/qed_fcoe_if.h b/include/linux/qed/qed_fcoe_if.h
> > new file mode 100644
> > index 0000000..bd6bcb8
> > --- /dev/null
> > +++ b/include/linux/qed/qed_fcoe_if.h
> > @@ -0,0 +1,145 @@
> > +#ifndef _QED_FCOE_IF_H
> > +#define _QED_FCOE_IF_H
> > +#include <linux/types.h>
> > +#include <linux/qed/qed_if.h>
> > +struct qed_fcoe_stats {
> > +	u64 fcoe_rx_byte_cnt;
> > +	u64 fcoe_rx_data_pkt_cnt;
> > +	u64 fcoe_rx_xfer_pkt_cnt;
> > +	u64 fcoe_rx_other_pkt_cnt;
> > +	u32 fcoe_silent_drop_pkt_cmdq_full_cnt;
> > +	u32 fcoe_silent_drop_pkt_rq_full_cnt;
> > +	u32 fcoe_silent_drop_pkt_crc_error_cnt;
> > +	u32 fcoe_silent_drop_pkt_task_invalid_cnt;
> > +	u32 fcoe_silent_drop_total_pkt_cnt;
> > +
> > +	u64 fcoe_tx_byte_cnt;
> > +	u64 fcoe_tx_data_pkt_cnt;
> > +	u64 fcoe_tx_xfer_pkt_cnt;
> > +	u64 fcoe_tx_other_pkt_cnt;
> > +};
> > +
> > +struct qed_dev_fcoe_info {
> > +	struct qed_dev_info common;
> > +
> > +	void __iomem *primary_dbq_rq_addr;
> > +	void __iomem *secondary_bdq_rq_addr;
> > +};
> > +
> > +struct qed_fcoe_params_offload {
> > +	dma_addr_t sq_pbl_addr;
> > +	dma_addr_t sq_curr_page_addr;
> > +	dma_addr_t sq_next_page_addr;
> > +
> > +	u8 src_mac[ETH_ALEN];
> > +	u8 dst_mac[ETH_ALEN];
> > +
> > +	u16 tx_max_fc_pay_len;
> > +	u16 e_d_tov_timer_val;
> > +	u16 rec_tov_timer_val;
> > +	u16 rx_max_fc_pay_len;
> > +	u16 vlan_tag;
> > +
> > +	struct fc_addr_nw s_id;
> > +	u8 max_conc_seqs_c3;
> > +	struct fc_addr_nw d_id;
> > +	u8 flags;
> > +	u8 def_q_idx;
> > +};
> > +
> > +#define MAX_TID_BLOCKS_FCOE (512)
> > +struct qed_fcoe_tid {
> > +	u32 size;		/* In bytes per task */
> > +	u32 num_tids_per_block;
> > +	u8 *blocks[MAX_TID_BLOCKS_FCOE];
> > +};
> > +
> > +struct qed_fcoe_cb_ops {
> > +	struct qed_common_cb_ops common;
> > +	 u32 (*get_login_failures)(void *cookie);
> > +};
> > +
> > +void qed_fcoe_set_pf_params(struct qed_dev *cdev,
> > +			    struct qed_fcoe_pf_params *params);
> > +
> > +/**
> > + * struct qed_fcoe_ops - qed FCoE operations.
> > + * @common:		common operations pointer
> > + * @fill_dev_info:	fills FCoE specific information
> > + *			@param cdev
> > + *			@param info
> > + *			@return 0 on sucesss, otherwise error value.
> > + * @register_ops:	register FCoE operations
> > + *			@param cdev
> > + *			@param ops - specified using qed_iscsi_cb_ops
> > + *			@param cookie - driver private
> > + * @ll2:		light L2 operations pointer
> > + * @start:		fcoe in FW
> > + *			@param cdev
> > + *			@param tasks - qed will fill information about tasks
> > + *			return 0 on success, otherwise error value.
> > + * @stop:		stops fcoe in FW
> > + *			@param cdev
> > + *			return 0 on success, otherwise error value.
> > + * @acquire_conn:	acquire a new fcoe connection
> > + *			@param cdev
> > + *			@param handle - qed will fill handle that should be
> > + *				used henceforth as identifier of the
> > + *				connection.
> > + *			@param p_doorbell - qed will fill the address of the
> > + *				doorbell.
> > + *			return 0 on sucesss, otherwise error value.
> > + * @release_conn:	release a previously acquired fcoe connection
> > + *			@param cdev
> > + *			@param handle - the connection handle.
> > + *			return 0 on success, otherwise error value.
> > + * @offload_conn:	configures an offloaded connection
> > + *			@param cdev
> > + *			@param handle - the connection handle.
> > + *			@param conn_info - the configuration to use for the
> > + *				offload.
> > + *			return 0 on success, otherwise error value.
> > + * @destroy_conn:	stops an offloaded connection
> > + *			@param cdev
> > + *			@param handle - the connection handle.
> > + *			@param terminate_params
> > + *			return 0 on success, otherwise error value.
> > + * @get_stats:		gets FCoE related statistics
> > + *			@param cdev
> > + *			@param stats - pointer to struck that would be filled
> > + *				we stats
> > + *			return 0 on success, error otherwise.
> > + */
> > +struct qed_fcoe_ops {
> > +	const struct qed_common_ops *common;
> > +
> > +	int (*fill_dev_info)(struct qed_dev *cdev,
> > +			     struct qed_dev_fcoe_info *info);
> > +
> > +	void (*register_ops)(struct qed_dev *cdev,
> > +			     struct qed_fcoe_cb_ops *ops, void *cookie);
> > +
> > +	const struct qed_ll2_ops *ll2;
> > +
> > +	int (*start)(struct qed_dev *cdev, struct qed_fcoe_tid *tasks);
> > +
> > +	int (*stop)(struct qed_dev *cdev);
> > +
> > +	int (*acquire_conn)(struct qed_dev *cdev,
> > +			    u32 *handle,
> > +			    u32 *fw_cid, void __iomem **p_doorbell);
> > +
> > +	int (*release_conn)(struct qed_dev *cdev, u32 handle);
> > +
> > +	int (*offload_conn)(struct qed_dev *cdev,
> > +			    u32 handle,
> > +			    struct qed_fcoe_params_offload *conn_info);
> > +	int (*destroy_conn)(struct qed_dev *cdev,
> > +			    u32 handle, dma_addr_t terminate_params);
> > +
> > +	int (*get_stats)(struct qed_dev *cdev, struct qed_fcoe_stats *stats);
> > +};
> > +
> I prefer to have to comments directly above the function prototypes;
> that is easier to read and requires editing in one place only; this way
> there's a higher likelyhood of both getting out of sync.
> 
> But that may be personal preference only.
> 

I too prefer the same, but when I posted the iSCSI qed part sometime ago, 
which had comment style like you said, I got a comment to follow 
kernel-doc style. So, for the FCoE series, I moved to kernel-doc style 
from the get go.

Regards,
-Arun

> > +const struct qed_fcoe_ops *qed_get_fcoe_ops(void);
> > +void qed_put_fcoe_ops(void);
> > +#endif

--8<-- snipped --


  parent reply	other threads:[~2017-01-10 16:49 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-23 19:17 [PATCH RFC 0/5] Add QLogic FastLinQ FCoE (qedf) driver Dupuis, Chad
     [not found] ` <1482520628-24207-1-git-send-email-chad.dupuis-YGCgFSpz5w/QT0dZR+AlfA@public.gmane.org>
2016-12-23 19:17   ` [PATCH RFC net-next 1/5] qed: Add support for hardware offloaded FCoE Dupuis, Chad
     [not found]     ` <1482520628-24207-2-git-send-email-chad.dupuis-YGCgFSpz5w/QT0dZR+AlfA@public.gmane.org>
2016-12-28  8:41       ` Hannes Reinecke
2016-12-29 17:28         ` [Open-FCoE] " Mintz, Yuval
2017-01-10 16:49         ` Arun Easi [this message]
2016-12-23 19:17   ` [PATCH RFC 2/5] qedf: Add QLogic FastLinQ offload FCoE driver framework Dupuis, Chad
2016-12-28  9:00     ` [Open-FCoE] " Hannes Reinecke
2017-01-09 16:45       ` Chad Dupuis
2017-01-10  6:56         ` Hannes Reinecke
2016-12-23 19:17   ` [PATCH RFC 5/5] qedf: Add FIP request handling Dupuis, Chad
     [not found]     ` <1482520628-24207-6-git-send-email-chad.dupuis-YGCgFSpz5w/QT0dZR+AlfA@public.gmane.org>
2016-12-28  9:11       ` Hannes Reinecke
2017-01-09 16:47         ` [Open-FCoE] " Chad Dupuis
     [not found]           ` <alpine.OSX.2.00.1701091147040.1044-nVgGmETfwnIFUnR/tdpssI0aTaFgKE92ACYyPGjX6YU@public.gmane.org>
2017-01-10  6:58             ` Hannes Reinecke
2016-12-23 19:17 ` [PATCH RFC 3/5] qedf: Add offloaded I/O request functions Dupuis, Chad
     [not found]   ` <1482520628-24207-4-git-send-email-chad.dupuis-YGCgFSpz5w/QT0dZR+AlfA@public.gmane.org>
2016-12-28  9:08     ` Hannes Reinecke
2017-01-09 16:46       ` [Open-FCoE] " Chad Dupuis
2016-12-23 19:17 ` [PATCH RFC 4/5] qedf: Add offload ELS request handling Dupuis, Chad
2016-12-28  9:10   ` [Open-FCoE] " Hannes Reinecke

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=alpine.LRH.2.00.1701031428270.19208@mvluser05.qlc.com \
    --to=arun.easi@cavium.com \
    --cc=QLogic-Storage-Upstream@cavium.com \
    --cc=chad.dupuis@cavium.com \
    --cc=fcoe-devel@open-fcoe.org \
    --cc=hare@suse.de \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=netdev@vger.kernel.org \
    --cc=yuval.mintz@cavium.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).