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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to