@@ -135,8 +135,6 @@ int idxd_wq_alloc_resources(struct idxd_wq *wq)
135
135
struct idxd_device * idxd = wq -> idxd ;
136
136
struct device * dev = & idxd -> pdev -> dev ;
137
137
int rc , num_descs , i ;
138
- int align ;
139
- u64 tmp ;
140
138
141
139
if (wq -> type != IDXD_WQT_KERNEL )
142
140
return 0 ;
@@ -148,21 +146,13 @@ int idxd_wq_alloc_resources(struct idxd_wq *wq)
148
146
if (rc < 0 )
149
147
return rc ;
150
148
151
- align = idxd -> data -> align ;
152
- wq -> compls_size = num_descs * idxd -> data -> compl_size + align ;
153
- wq -> compls_raw = dma_alloc_coherent (dev , wq -> compls_size ,
154
- & wq -> compls_addr_raw , GFP_KERNEL );
155
- if (!wq -> compls_raw ) {
149
+ wq -> compls_size = num_descs * idxd -> data -> compl_size ;
150
+ wq -> compls = dma_alloc_coherent (dev , wq -> compls_size , & wq -> compls_addr , GFP_KERNEL );
151
+ if (!wq -> compls ) {
156
152
rc = - ENOMEM ;
157
153
goto fail_alloc_compls ;
158
154
}
159
155
160
- /* Adjust alignment */
161
- wq -> compls_addr = (wq -> compls_addr_raw + (align - 1 )) & ~(align - 1 );
162
- tmp = (u64 )wq -> compls_raw ;
163
- tmp = (tmp + (align - 1 )) & ~(align - 1 );
164
- wq -> compls = (struct dsa_completion_record * )tmp ;
165
-
166
156
rc = alloc_descs (wq , num_descs );
167
157
if (rc < 0 )
168
158
goto fail_alloc_descs ;
@@ -191,8 +181,7 @@ int idxd_wq_alloc_resources(struct idxd_wq *wq)
191
181
fail_sbitmap_init :
192
182
free_descs (wq );
193
183
fail_alloc_descs :
194
- dma_free_coherent (dev , wq -> compls_size , wq -> compls_raw ,
195
- wq -> compls_addr_raw );
184
+ dma_free_coherent (dev , wq -> compls_size , wq -> compls , wq -> compls_addr );
196
185
fail_alloc_compls :
197
186
free_hw_descs (wq );
198
187
return rc ;
@@ -207,8 +196,7 @@ void idxd_wq_free_resources(struct idxd_wq *wq)
207
196
208
197
free_hw_descs (wq );
209
198
free_descs (wq );
210
- dma_free_coherent (dev , wq -> compls_size , wq -> compls_raw ,
211
- wq -> compls_addr_raw );
199
+ dma_free_coherent (dev , wq -> compls_size , wq -> compls , wq -> compls_addr );
212
200
sbitmap_queue_free (& wq -> sbq );
213
201
}
214
202
0 commit comments