diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/fsl_dpa_offload/dpa_ipsec.c | 2 | ||||
-rw-r--r-- | drivers/staging/fsl_dpa_offload/dpa_ipsec.h | 2 | ||||
-rw-r--r-- | drivers/staging/fsl_dpa_offload/dpa_ipsec_desc.c | 24 |
3 files changed, 11 insertions, 17 deletions
diff --git a/drivers/staging/fsl_dpa_offload/dpa_ipsec.c b/drivers/staging/fsl_dpa_offload/dpa_ipsec.c index 5171df4..fe98108 100644 --- a/drivers/staging/fsl_dpa_offload/dpa_ipsec.c +++ b/drivers/staging/fsl_dpa_offload/dpa_ipsec.c @@ -2807,7 +2807,7 @@ static int copy_sa_params_to_in_sa(struct dpa_ipsec_sa *sa, sa->sec_desc->pdb_dec.options = PDBOPTS_ESP_TUNNEL | PDBOPTS_ESP_OUTFMT; - if (dpa_ipsec->sec_ver >= SEC_VER_5_3) + if (dpa_ipsec->sec_era > 4) sa->sec_desc->pdb_dec.options |= PDBOPTS_ESP_AOFL; if (sa_params->use_ext_seq_num) { diff --git a/drivers/staging/fsl_dpa_offload/dpa_ipsec.h b/drivers/staging/fsl_dpa_offload/dpa_ipsec.h index 353c817..a768991 100644 --- a/drivers/staging/fsl_dpa_offload/dpa_ipsec.h +++ b/drivers/staging/fsl_dpa_offload/dpa_ipsec.h @@ -187,7 +187,6 @@ #define NIA_OPCODE_MASK 0x0F #define SEC_DEF_VER 40 /* like in P4080 */ -#define SEC_VER_5_3 53 /* DPA IPSec Encryption & authentication algorithm identifiers */ struct ipsec_alg_suite { @@ -374,7 +373,6 @@ struct dpa_ipsec { int *used_sa_ids; /* SA IDs used by this DPA IPsec instance */ int num_used_sas; /* The current number of sa's used by this instance*/ int sec_era; /* SEC ERA information */ - int sec_ver; /* SEC version information */ struct device *jrdev; /* Job ring device */ atomic_t ref; atomic_t valid; diff --git a/drivers/staging/fsl_dpa_offload/dpa_ipsec_desc.c b/drivers/staging/fsl_dpa_offload/dpa_ipsec_desc.c index ae767d8..0fac5ae 100644 --- a/drivers/staging/fsl_dpa_offload/dpa_ipsec_desc.c +++ b/drivers/staging/fsl_dpa_offload/dpa_ipsec_desc.c @@ -67,23 +67,19 @@ int get_sec_info(struct dpa_ipsec *dpa_ipsec) const u32 *sec_era; int prop_size; - sec_node = of_find_compatible_node(NULL, NULL, "fsl,sec-v5.3"); - if (sec_node) - dpa_ipsec->sec_ver = SEC_VER_5_3; - else { - dpa_ipsec->sec_ver = SEC_DEF_VER; - sec_node = of_find_compatible_node(NULL, NULL, "fsl,sec-v4.0"); - if (!sec_node) { - log_err("Can't find device node for SEC! Check device tree!\n"); - return -ENODEV; - } + sec_node = of_find_node_with_property(NULL, "fsl,sec-era"); + if (sec_node) { + sec_era = of_get_property(sec_node, "fsl,sec-era", &prop_size); + if (sec_era && prop_size == sizeof(*sec_era) && *sec_era > 0) + dpa_ipsec->sec_era = *sec_era; + of_node_put(sec_node); } - sec_era = of_get_property(sec_node, "fsl,sec-era", &prop_size); - if (sec_era && prop_size == sizeof(*sec_era) && *sec_era > 0) - dpa_ipsec->sec_era = *sec_era; - else + if (dpa_ipsec->sec_era == 0) { dpa_ipsec->sec_era = SEC_DEF_ERA; + log_warn("Unable to acquire the SEC era from the device tree. Defaulting to SEC era %d.\n", + dpa_ipsec->sec_era); + } dpa_ipsec->jrdev = get_jrdev(dpa_ipsec); if (!dpa_ipsec->jrdev) |