| From 33b7977ba754b6ec4e65aaae34de92d4086ea0bd Mon Sep 17 00:00:00 2001 |
| From: Roy Pledge <roy.pledge@nxp.com> |
| Date: Wed, 13 Sep 2017 17:03:06 -0400 |
| Subject: [PATCH] soc: fsl: dpio: Prefer the CPU affine DPIO |
| |
| Use the cpu affine DPIO unless there isn't one which can happen |
| if less DPIOs than cores are assign to the kernel. |
| |
| Signed-off-by: Roy Pledge <roy.pledge@nxp.com> |
| --- |
| drivers/soc/fsl/dpio/dpio-service.c | 6 +++++- |
| 1 file changed, 5 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/soc/fsl/dpio/dpio-service.c |
| +++ b/drivers/soc/fsl/dpio/dpio-service.c |
| @@ -58,7 +58,7 @@ static inline struct dpaa2_io *service_s |
| * If cpu == -1, choose the current cpu, with no guarantees about |
| * potentially being migrated away. |
| */ |
| - if (unlikely(cpu < 0)) |
| + if (cpu < 0) |
| cpu = smp_processor_id(); |
| |
| /* If a specific cpu was requested, pick it up immediately */ |
| @@ -70,6 +70,10 @@ static inline struct dpaa2_io *service_s |
| if (d) |
| return d; |
| |
| + d = service_select_by_cpu(d, -1); |
| + if (d) |
| + return d; |
| + |
| spin_lock(&dpio_list_lock); |
| d = list_entry(dpio_list.next, struct dpaa2_io, node); |
| list_del(&d->node); |