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