Re: enable/disable devices behavior

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dave Airlie escreveu:
On Wed, 2009-05-06 at 01:37 -0300, Tiago Vignatti wrote:
Hi,

AFAIK, the existing interface in libpciaccess to enable a device (pci_device_enable) deals always with I/O _and_ memory resources. But I'm confused with the behavior of such interface because it's not working as I expected. For me it has to be equivalent to do the following, in the regs configuration space:

     ctrl = (PCI_COMMAND_IO | PCI_COMMAND_MEMORY);
     pci_device_cfg_write_u32(dev, ctrl, PCI_COMMAND);


Isn't it? But it's not happening that. When I call pci_device_enable (or just `echo 1 > enable` in device) the kernel sometimes sets only the PCI_COMMAND_MEMORY bit or simply does nothing. What am I missing here?

Attached, I'm sending a code that I'm using to play with this.

Its not for that.

Twiddling enable bits from userspace isn't something we want to be able
to do.

So what's the intention of the enable field in sysfs?

What I want in the end is to build an interface inside pci library to enable/disable a given resource of a device. This is what we were doing in Xorg (sigh) and what we progressively can move out to libpciaccess to build (I expected in a near future) the "system-wide PCI access control".

                    Tiago
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux