diff options
author | Alex Porosanu <alexandru.porosanu@freescale.com> | 2014-10-29 15:18:42 (GMT) |
---|---|---|
committer | Matthew Weigel <Matthew.Weigel@freescale.com> | 2014-12-11 18:40:49 (GMT) |
commit | 57030fff85faeea403e35de670fa00904534ebd8 (patch) | |
tree | dd3b843e3994bd6de195d99315512f93606671e2 /drivers | |
parent | ca6d6c8930a031eeab8e121ae7de52dede339e21 (diff) | |
download | linux-fsl-qoriq-57030fff85faeea403e35de670fa00904534ebd8.tar.xz |
dpa_offload: use SEC API for retrieving JR
SEC driver offers a function for geting the handle
to an available JR (caam_jr_alloc(...)
This is mainly needed for split-key calculation per
SA. There's no need to search for the JR in the
device tree. This patch removes the unneeded code
and replaces it with the proper SEC API call.
Change-Id: Ibc8b4b216d5699fe5ec7d3d49b8a3560ab79ede0
Signed-off-by: Alex Porosanu <alexandru.porosanu@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/23860
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Marian-Cornel Chereji <marian.chereji@freescale.com>
Reviewed-by: Horia Ioan Geanta Neag <horia.geanta@freescale.com>
Reviewed-by: Matthew Weigel <Matthew.Weigel@freescale.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/fsl_dpa_offload/dpa_ipsec_desc.c | 25 |
1 files changed, 6 insertions, 19 deletions
diff --git a/drivers/staging/fsl_dpa_offload/dpa_ipsec_desc.c b/drivers/staging/fsl_dpa_offload/dpa_ipsec_desc.c index c233aaa..6a280e5 100644 --- a/drivers/staging/fsl_dpa_offload/dpa_ipsec_desc.c +++ b/drivers/staging/fsl_dpa_offload/dpa_ipsec_desc.c @@ -60,12 +60,6 @@ static struct device *get_jrdev(struct dpa_ipsec *dpa_ipsec); #define PTR_LEN 2 /* Descriptor is created only for 8 byte * pointer. PTR_LEN is in words. */ -static const struct of_device_id sec_jr_match[] = { - { - .compatible = "fsl,sec-v4.0-job-ring" - } -}; - /* retrieve and store SEC information */ int get_sec_info(struct dpa_ipsec *dpa_ipsec) { @@ -101,25 +95,18 @@ int get_sec_info(struct dpa_ipsec *dpa_ipsec) static struct device *get_jrdev(struct dpa_ipsec *dpa_ipsec) { - struct device_node *sec_jr_node; - struct platform_device *sec_of_jr_dev; + struct device *sec_jr_dev; - if (dpa_ipsec->jrdev) + if (!IS_ERR_OR_NULL(dpa_ipsec->jrdev)) return dpa_ipsec->jrdev; - sec_jr_node = of_find_matching_node(NULL, &sec_jr_match[0]); - if (!sec_jr_node) { - log_err("Couln't find the device_node SEC job-ring, check the device tree\n"); - return NULL; - } - - sec_of_jr_dev = of_find_device_by_node(sec_jr_node); - if (!sec_of_jr_dev) { - log_err("SEC job-ring of_device null\n"); + sec_jr_dev = caam_jr_alloc(); + if (IS_ERR(sec_jr_dev)) { + log_err("No available SEC job-ring\n"); return NULL; } - return &sec_of_jr_dev->dev; + return sec_jr_dev; } static inline u32 get_ipsec_op_type(enum dpa_ipsec_direction sa_dir) |