crypto/caam_jr: fix device tree parsing for SEC_ERA
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>
This commit is contained in:
parent
dc7a7b5cb8
commit
c6887eca58
@ -2388,6 +2388,8 @@ init_error:
|
||||
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),
|
||||
@ -2404,6 +2406,12 @@ cryptodev_caam_jr_probe(struct rte_vdev_device *vdev)
|
||||
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;
|
||||
@ -2414,7 +2422,7 @@ cryptodev_caam_jr_probe(struct rte_vdev_device *vdev)
|
||||
NULL);
|
||||
if (prop) {
|
||||
rta_set_sec_era(
|
||||
INTL_SEC_ERA(cpu_to_caam32(*prop)));
|
||||
INTL_SEC_ERA(rte_be_to_cpu_32(*prop)));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user