Previously, SEC_ERA was hardcoded and it was removed in [1].
Now when that hardcoded was removed, it is supposed to be
read from the device tree but it is not done correctly.
This patch calls a necessary API of_init() before using any
of_* APIs to retrieve information from the device tree and
if reading integer value that must be converted to cpu endianness
before using it.
[1]
eef9e0412a84 ("drivers/crypto: fix build with -fno-common")
Fixes:
1d678de329ab ("crypto/caam_jr: add basic job ring routines")
Cc: stable@dpdk.org
Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
Acked-by: Akhil Goyal <akhil.goyal@nxp.com>
static int
cryptodev_caam_jr_probe(struct rte_vdev_device *vdev)
{
+ int ret;
+
struct rte_cryptodev_pmd_init_params init_params = {
"",
sizeof(struct sec_job_ring_t),
input_args = rte_vdev_device_args(vdev);
rte_cryptodev_pmd_parse_input_args(&init_params, input_args);
+ ret = of_init();
+ if (ret) {
+ RTE_LOG(ERR, PMD,
+ "of_init failed\n");
+ return -EINVAL;
+ }
/* if sec device version is not configured */
if (!rta_get_sec_era()) {
const struct device_node *caam_node;
NULL);
if (prop) {
rta_set_sec_era(
- INTL_SEC_ERA(cpu_to_caam32(*prop)));
+ INTL_SEC_ERA(rte_be_to_cpu_32(*prop)));
break;
}
}