mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-03 23:58:05 +00:00
Target/iser: Centralize ib_sig_domain setting
Later there will be more parameters to set, so we want to do it in a centralized place. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
parent
92792c0a19
commit
3d73cf1a2a
1 changed files with 17 additions and 18 deletions
|
@ -2626,41 +2626,40 @@ se2ib_prot_type(enum target_prot_type prot_type)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static inline void
|
||||||
isert_set_sig_attrs(struct se_cmd *se_cmd, struct ib_sig_attrs *sig_attrs)
|
isert_set_dif_domain(struct se_cmd *se_cmd, struct ib_sig_attrs *sig_attrs,
|
||||||
|
struct ib_sig_domain *domain)
|
||||||
{
|
{
|
||||||
enum ib_t10_dif_type ib_prot_type = se2ib_prot_type(se_cmd->prot_type);
|
enum ib_t10_dif_type ib_prot_type = se2ib_prot_type(se_cmd->prot_type);
|
||||||
|
|
||||||
|
domain->sig.dif.type = ib_prot_type;
|
||||||
|
domain->sig.dif.bg_type = IB_T10DIF_CRC;
|
||||||
|
domain->sig.dif.pi_interval = se_cmd->se_dev->dev_attrib.block_size;
|
||||||
|
domain->sig.dif.ref_tag = se_cmd->reftag_seed;
|
||||||
|
};
|
||||||
|
|
||||||
|
static int
|
||||||
|
isert_set_sig_attrs(struct se_cmd *se_cmd, struct ib_sig_attrs *sig_attrs)
|
||||||
|
{
|
||||||
|
|
||||||
sig_attrs->mem.sig_type = IB_SIG_TYPE_T10_DIF;
|
sig_attrs->mem.sig_type = IB_SIG_TYPE_T10_DIF;
|
||||||
sig_attrs->wire.sig_type = IB_SIG_TYPE_T10_DIF;
|
sig_attrs->wire.sig_type = IB_SIG_TYPE_T10_DIF;
|
||||||
sig_attrs->mem.sig.dif.pi_interval =
|
|
||||||
se_cmd->se_dev->dev_attrib.block_size;
|
|
||||||
sig_attrs->wire.sig.dif.pi_interval =
|
|
||||||
se_cmd->se_dev->dev_attrib.block_size;
|
|
||||||
|
|
||||||
switch (se_cmd->prot_op) {
|
switch (se_cmd->prot_op) {
|
||||||
case TARGET_PROT_DIN_INSERT:
|
case TARGET_PROT_DIN_INSERT:
|
||||||
case TARGET_PROT_DOUT_STRIP:
|
case TARGET_PROT_DOUT_STRIP:
|
||||||
sig_attrs->mem.sig.dif.type = IB_T10DIF_NONE;
|
sig_attrs->mem.sig.dif.type = IB_T10DIF_NONE;
|
||||||
sig_attrs->wire.sig.dif.type = ib_prot_type;
|
isert_set_dif_domain(se_cmd, sig_attrs, &sig_attrs->wire);
|
||||||
sig_attrs->wire.sig.dif.bg_type = IB_T10DIF_CRC;
|
|
||||||
sig_attrs->wire.sig.dif.ref_tag = se_cmd->reftag_seed;
|
|
||||||
break;
|
break;
|
||||||
case TARGET_PROT_DOUT_INSERT:
|
case TARGET_PROT_DOUT_INSERT:
|
||||||
case TARGET_PROT_DIN_STRIP:
|
case TARGET_PROT_DIN_STRIP:
|
||||||
sig_attrs->mem.sig.dif.type = ib_prot_type;
|
|
||||||
sig_attrs->mem.sig.dif.bg_type = IB_T10DIF_CRC;
|
|
||||||
sig_attrs->mem.sig.dif.ref_tag = se_cmd->reftag_seed;
|
|
||||||
sig_attrs->wire.sig.dif.type = IB_T10DIF_NONE;
|
sig_attrs->wire.sig.dif.type = IB_T10DIF_NONE;
|
||||||
|
isert_set_dif_domain(se_cmd, sig_attrs, &sig_attrs->mem);
|
||||||
break;
|
break;
|
||||||
case TARGET_PROT_DIN_PASS:
|
case TARGET_PROT_DIN_PASS:
|
||||||
case TARGET_PROT_DOUT_PASS:
|
case TARGET_PROT_DOUT_PASS:
|
||||||
sig_attrs->mem.sig.dif.type = ib_prot_type;
|
isert_set_dif_domain(se_cmd, sig_attrs, &sig_attrs->wire);
|
||||||
sig_attrs->mem.sig.dif.bg_type = IB_T10DIF_CRC;
|
isert_set_dif_domain(se_cmd, sig_attrs, &sig_attrs->mem);
|
||||||
sig_attrs->mem.sig.dif.ref_tag = se_cmd->reftag_seed;
|
|
||||||
sig_attrs->wire.sig.dif.type = ib_prot_type;
|
|
||||||
sig_attrs->wire.sig.dif.bg_type = IB_T10DIF_CRC;
|
|
||||||
sig_attrs->wire.sig.dif.ref_tag = se_cmd->reftag_seed;
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
pr_err("Unsupported PI operation %d\n", se_cmd->prot_op);
|
pr_err("Unsupported PI operation %d\n", se_cmd->prot_op);
|
||||||
|
|
Loading…
Reference in a new issue