Re: [PATCH v3 0/3] uio: add MSI/MSI-X support to uio_pci_generic driver

From: Michael S. Tsirkin
Date: Tue Oct 06 2015 - 10:31:08 EST


On Tue, Oct 06, 2015 at 11:37:59AM +0300, Vlad Zolotarov wrote:
> Bus mastering is easily enabled from the user space (taken from DPDK code):
>
> static int
> pci_uio_set_bus_master(int dev_fd)
> {
> uint16_t reg;
> int ret;
>
> ret = pread(dev_fd, &reg, sizeof(reg), PCI_COMMAND);
> if (ret != sizeof(reg)) {
> RTE_LOG(ERR, EAL,
> "Cannot read command from PCI config space!\n");
> return -1;
> }
>
> /* return if bus mastering is already on */
> if (reg & PCI_COMMAND_MASTER)
> return 0;
>
> reg |= PCI_COMMAND_MASTER;
>
> ret = pwrite(dev_fd, &reg, sizeof(reg), PCI_COMMAND);
> if (ret != sizeof(reg)) {
> RTE_LOG(ERR, EAL,
> "Cannot write command to PCI config space!\n");
> return -1;
> }
>
> return 0;
> }
>
> So, this is a non-issue. ;)

There might be valid reasons for DPDK to do this, e.g. if using VFIO.

I'm guessing it doesn't enable MSI though, does it?

--
MST
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/