Skip to content

Commit cd39c72

Browse files
committed
dmaengine: sdxi: device: Use correct sizes for DMA pools
And add a simplifying internal helper over dmam_pool_create(). Signed-off-by: Nathan Lynch <nathan.lynch@amd.com>
1 parent a656804 commit cd39c72

1 file changed

Lines changed: 15 additions & 13 deletions

File tree

drivers/dma/sdxi/device.c

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -286,23 +286,25 @@ static int sdxi_fn_activate(struct sdxi_dev *sdxi)
286286
return err;
287287
}
288288

289+
static int sdxi_create_dma_pool(struct sdxi_dev *sdxi, struct dma_pool **pool,
290+
const char *name, size_t size)
291+
{
292+
*pool = dmam_pool_create(name, sdxi_to_dev(sdxi), size, size, 0);
293+
return *pool ? 0 : -ENOMEM;
294+
}
295+
289296
static int sdxi_device_init(struct sdxi_dev *sdxi)
290297
{
291298
int err;
292299

293-
/*
294-
* FIXME: the PAGE_SIZE for the pools' object size+align is a
295-
* temporary hack for the uAPI's sake. These should be reverted
296-
* to the real object sizes once that's dealt with.
297-
*/
298-
sdxi->write_index_pool = dmam_pool_create("Write_Index", sdxi_to_dev(sdxi),
299-
PAGE_SIZE, PAGE_SIZE, 0);
300-
sdxi->cxt_sts_pool = dmam_pool_create("CXT_STS", sdxi_to_dev(sdxi),
301-
PAGE_SIZE, PAGE_SIZE, 0);
302-
sdxi->cxt_ctl_pool = dmam_pool_create("CXT_CTL", sdxi_to_dev(sdxi),
303-
sizeof(struct sdxi_cxt_ctl),
304-
sizeof(struct sdxi_cxt_ctl), 0);
305-
if (!sdxi->write_index_pool || !sdxi->cxt_sts_pool || !sdxi->cxt_ctl_pool)
300+
if (sdxi_create_dma_pool(sdxi, &sdxi->write_index_pool,
301+
"Write_Index", sizeof(__le64)))
302+
return -ENOMEM;
303+
if (sdxi_create_dma_pool(sdxi, &sdxi->cxt_sts_pool,
304+
"CXT_STS", sizeof(struct sdxi_cxt_sts)))
305+
return -ENOMEM;
306+
if (sdxi_create_dma_pool(sdxi, &sdxi->cxt_ctl_pool,
307+
"CXT_CTL", sizeof(struct sdxi_cxt_ctl)))
306308
return -ENOMEM;
307309

308310
err = sdxi_fn_activate(sdxi);

0 commit comments

Comments
 (0)