summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Porosanu <alexandru.porosanu@freescale.com>2014-10-29 15:18:42 (GMT)
committerMatthew Weigel <Matthew.Weigel@freescale.com>2014-12-11 18:40:49 (GMT)
commit57030fff85faeea403e35de670fa00904534ebd8 (patch)
treedd3b843e3994bd6de195d99315512f93606671e2
parentca6d6c8930a031eeab8e121ae7de52dede339e21 (diff)
downloadlinux-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>
-rw-r--r--drivers/staging/fsl_dpa_offload/dpa_ipsec_desc.c25
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)