Re: [PATCH v4 03/25] dmaengine: sdxi: Add PCI initialization
From: Lynch, Nathan
Date: Thu Nov 05 2026 - 13:10:11 EST
On 11/5/2026 11:59 AM, Frank Li wrote:
>> diff --git a/drivers/dma/sdxi/Kconfig b/drivers/dma/sdxi/Kconfig
>> new file mode 100644
>> index 000000000000..b91b44231a04
>> --- /dev/null
>> +++ b/drivers/dma/sdxi/Kconfig
>> @@ -0,0 +1,28 @@
>> +config SDXI_CORE
>> + tristate "SDXI (Smart Data Accelerator Interface) support"
>> + # Doorbell updates require naturally-aligned 64-bit writes, per
>> + # SDXI 1.0 9 MMIO Control Registers.
>
> why comments here? is it related config ?
Yes, it's intended as an explanation for the 64BIT dependency.
>
>> + depends on 64BIT
>> + select DMA_ENGINE
>> + help
>> + Enable support for Smart Data Accelerator Interface (SDXI)
>> + Platform Data Mover devices. SDXI is a vendor-neutral
>> + standard for a memory-to-memory data mover and acceleration
>> + interface.
...
>> +static int sdxi_pci_init(struct sdxi_dev *sdxi)
>> +{
>> + struct pci_dev *pdev = sdxi_to_pci_dev(sdxi);
>> + struct device *dev = &pdev->dev;
>> + u64 cap1;
>> + int ret;
>> +
>> + ret = pcim_enable_device(pdev);
>> + if (ret)
>> + return dev_err_probe(dev, ret, "failed to enable device\n");
>> +
>> + ret = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64));
>> + if (ret)
>> + return dev_err_probe(dev, ret, "failed to set DMA mask\n");
>> +
>> + sdxi->ctrl_regs = pcim_iomap_region(pdev, SDXI_PCI_BAR_CTL_REGS,
>> + KBUILD_MODNAME);
>> + if (IS_ERR(sdxi->ctrl_regs))
>> + return dev_err_probe(dev, PTR_ERR(sdxi->ctrl_regs),
>> + "failed to map control registers\n");
>> +
>> + cap1 = readq(sdxi->ctrl_regs + SDXI_MMIO_CAP1);
>> + if (!FIELD_GET(SDXI_MMIO_CAP1_MMIO64, cap1))
>> + return dev_err_probe(dev, -EOPNOTSUPP,
>> + "64-bit atomic MMIO access required\n");
>> +
>> + sdxi->dbs = pcim_iomap_region(pdev, SDXI_PCI_BAR_DOORBELL,
>> + KBUILD_MODNAME);
>> + if (IS_ERR(sdxi->dbs))
>> + return dev_err_probe(dev, PTR_ERR(sdxi->dbs),
>> + "failed to map doorbell region\n");
>> +
>> + pci_set_master(pdev);
>
> Add empty line here.
OK.