enable/disable devices behavior

Dave Airlie airlied at redhat.com
Tue May 5 21:47:10 PDT 2009


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.

Dave.




More information about the xorg-devel mailing list