Re: [PATCH 06/23] dmaengine: sdxi: Allocate DMA pools

From: Lynch, Nathan

Date: Mon Apr 20 2026 - 18:17:34 EST


On 4/20/2026 2:03 AM, Frank Li wrote:
> On Fri, Apr 10, 2026 at 08:07:16AM -0500, Nathan Lynch wrote:
>>
>> +static int sdxi_create_dma_pool(struct sdxi_dev *sdxi, struct dma_pool **pool,
>> + const char *name, size_t size)
>> +{
>> + *pool = dmam_pool_create(name, sdxi_to_dev(sdxi), size, size, 0);
>> + return *pool ? 0 : -ENOMEM;
>> +}
>
> This helper funciton is not help much!

Hmm OK. I can drop it and make sdxi_device_init() look something like this
instead?

static int sdxi_device_init(struct sdxi_dev *sdxi)
{
struct device *dev = sdxi_to_dev(sdxi);
size_t sz;

sz = sizeof(__le64);
sdxi->write_index_pool = dmam_pool_create("Write_Index", dev, sz, sz, 0);
if (!sdxi->write_index_pool)
return -ENOMEM;

sz = sizeof(struct sdxi_cxt_sts);
sdxi->cxt_sts_pool = dmam_pool_create("CXT_STS", dev, sz, sz, 0);
if (!sdxi->cxt_sts_pool)
return -ENOMEM;

sz = sizeof(struct sdxi_cxt_ctl);
sdxi->cxt_ctl_pool = dmam_pool_create("CXT_CTL", dev, sz, sz, 0);
if (!sdxi->cxt_ctl_pool)
return -ENOMEM;

sz = sizeof(struct sdxi_cst_blk);
sdxi->cst_blk_pool = dmam_pool_create("CST_BLK", dev, sz, sz, 0);
if (!sdxi->cst_blk_pool)
return -ENOMEM;