|
22 | 22 | #include "ti_sci_proc.h" |
23 | 23 | #include "ti_k3_common.h" |
24 | 24 |
|
25 | | -#define KEYSTONE_RPROC_LOCAL_ADDRESS_MASK (SZ_16M - 1) |
26 | | - |
27 | 25 | /* |
28 | 26 | * Power up the DSP remote processor. |
29 | 27 | * |
@@ -58,72 +56,13 @@ static int k3_dsp_rproc_start(struct rproc *rproc) |
58 | 56 | return 0; |
59 | 57 | } |
60 | 58 |
|
61 | | -/* |
62 | | - * Custom function to translate a DSP device address (internal RAMs only) to a |
63 | | - * kernel virtual address. The DSPs can access their RAMs at either an internal |
64 | | - * address visible only from a DSP, or at the SoC-level bus address. Both these |
65 | | - * addresses need to be looked through for translation. The translated addresses |
66 | | - * can be used either by the remoteproc core for loading (when using kernel |
67 | | - * remoteproc loader), or by any rpmsg bus drivers. |
68 | | - */ |
69 | | -static void *k3_dsp_rproc_da_to_va(struct rproc *rproc, u64 da, size_t len, bool *is_iomem) |
70 | | -{ |
71 | | - struct k3_rproc *kproc = rproc->priv; |
72 | | - void __iomem *va = NULL; |
73 | | - phys_addr_t bus_addr; |
74 | | - u32 dev_addr, offset; |
75 | | - size_t size; |
76 | | - int i; |
77 | | - |
78 | | - if (len == 0) |
79 | | - return NULL; |
80 | | - |
81 | | - for (i = 0; i < kproc->num_mems; i++) { |
82 | | - bus_addr = kproc->mem[i].bus_addr; |
83 | | - dev_addr = kproc->mem[i].dev_addr; |
84 | | - size = kproc->mem[i].size; |
85 | | - |
86 | | - if (da < KEYSTONE_RPROC_LOCAL_ADDRESS_MASK) { |
87 | | - /* handle DSP-view addresses */ |
88 | | - if (da >= dev_addr && |
89 | | - ((da + len) <= (dev_addr + size))) { |
90 | | - offset = da - dev_addr; |
91 | | - va = kproc->mem[i].cpu_addr + offset; |
92 | | - return (__force void *)va; |
93 | | - } |
94 | | - } else { |
95 | | - /* handle SoC-view addresses */ |
96 | | - if (da >= bus_addr && |
97 | | - (da + len) <= (bus_addr + size)) { |
98 | | - offset = da - bus_addr; |
99 | | - va = kproc->mem[i].cpu_addr + offset; |
100 | | - return (__force void *)va; |
101 | | - } |
102 | | - } |
103 | | - } |
104 | | - |
105 | | - /* handle static DDR reserved memory regions */ |
106 | | - for (i = 0; i < kproc->num_rmems; i++) { |
107 | | - dev_addr = kproc->rmem[i].dev_addr; |
108 | | - size = kproc->rmem[i].size; |
109 | | - |
110 | | - if (da >= dev_addr && ((da + len) <= (dev_addr + size))) { |
111 | | - offset = da - dev_addr; |
112 | | - va = kproc->rmem[i].cpu_addr + offset; |
113 | | - return (__force void *)va; |
114 | | - } |
115 | | - } |
116 | | - |
117 | | - return NULL; |
118 | | -} |
119 | | - |
120 | 59 | static const struct rproc_ops k3_dsp_rproc_ops = { |
121 | 60 | .start = k3_dsp_rproc_start, |
122 | 61 | .stop = k3_rproc_stop, |
123 | 62 | .attach = k3_rproc_attach, |
124 | 63 | .detach = k3_rproc_detach, |
125 | 64 | .kick = k3_rproc_kick, |
126 | | - .da_to_va = k3_dsp_rproc_da_to_va, |
| 65 | + .da_to_va = k3_rproc_da_to_va, |
127 | 66 | .get_loaded_rsc_table = k3_get_loaded_rsc_table, |
128 | 67 | }; |
129 | 68 |
|
|
0 commit comments