Commit Graph

63 Commits

Author SHA1 Message Date
Adam Jackson
8a5b89e8e1 xalloc+memset(0) -> xcalloc 2008-10-06 15:36:51 -04:00
Adam Jackson
77d0b0ecfa Remove unused pciNumBuses 2008-10-03 17:51:20 -04:00
Adam Jackson
e3e47b35e3 Remove MAX_PCI_{BUSES,DOMAINS} and some associated #if 0. 2008-08-18 17:03:22 -04:00
Adam Jackson
fdf7c747a8 Remove PciProbeType and associated weirdness.
This code was effectively only used in ix86Pci.c to select PCI config
access type.  Nobody should be using that path anymore, in the glorious
pciaccess world; kernel services should get it right for you.
2008-08-18 13:13:03 -04:00
Eric Anholt
3fe67d23ed Remove the BusAccWindows resource code which is now unused.
This was a bunch of poorly defined resource ranges per OS/platform combination
which were supposed to represent what regions could potentially have resources
allocated into them.
2007-08-27 19:02:41 -07:00
Ian Romanick
e540d572c5 Merge fix missed on previous commit. 2007-02-14 15:38:10 -08:00
Ian Romanick
3814862a86 Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/os-support/bus/linuxPci.c
2007-01-29 15:14:31 -08:00
Jonathan Lim
1627af5449 Call linuxPciOpenFile() for r/w access if applicable.
Currently, the call to linuxPciOpenFile() is always made for read
only access which causes the subsequent mmap call to fail when the
memory is mapped read/write.

Xorg #9692
2007-01-26 13:00:45 +01:00
Ian Romanick
24506ea65b Move xf86ReadLegacyBIOS to the one place that uses it.
xf86ReadLegacyBIOS is only used by one function in int10/generic.c.
Move a generic implementation of that function there, rename it to
read_legcay_BIOS, and delete all remnants of it from all other places.
2007-01-24 15:33:49 -08:00
Ian Romanick
637b19b3ee Eliminate pciControlBridge, pciGetBridgeBuses, and pciGetBridgeResources. 2007-01-22 09:58:33 -08:00
Ian Romanick
a232e4ae93 Convert xf86GetPciHostConfigFromTag to get_parent_bridge.
Convert xf86GetPciHostConfigFromTag to a new function called
get_parent_bridge.  This name better represents what
xf86GetPciHostConfigFromTag is used for:  walking up the lists of PCI
bridges from a device.
2007-01-22 09:16:45 -08:00
Ian Romanick
780b55ec6f Fix accidental commit (bug) in linuxOpenLegacy. 2007-01-15 15:30:16 -08:00
Ian Romanick
31bd8d1507 Fix domain insanity.
Eliminate xf86GetPciDomain.  The domain from libpciaccess is the
domain.  Period.  This means that 0 is a valid domain.  Make sure that
INCLUDE_XF86_NO_DOMAIN is *not* set.  Always run in "domain mode,"
even if the only domain possible is 0.
2007-01-15 15:19:30 -08:00
Ian Romanick
1a493509e3 Fix typos in conditionally compiled code. 2007-01-12 10:58:59 -08:00
Ian Romanick
8279444a54 Eliminate unused pciAddrHostToBus infrastructure. 2007-01-12 10:41:03 -08:00
Ian Romanick
c3016a2996 Missed file from previous commit.
Convert xf86ReadLegacyVideoBIOS to take a 'struct pci_device *'
parameter instead of a PCITAG.
2007-01-12 09:56:00 -08:00
Ian Romanick
ca9c41e09d Convert int10 and vgaHW to use 'struct pci_device' instead of PCITAG.
Convert all uses of PCITAG in int10 and vgaHW to 'struct pci_device'.
This allows the conversion of xf86ReadLegacyVideoBIOS and
xf86MapDomainMemory to 'struct pci_device' from PCITAG.
2007-01-11 21:09:20 -08:00
Ian Romanick
e1f73d2208 Merge branch 'master' of ssh+git://idr@git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/common/xf86Configure.c
	hw/xfree86/common/xf86Helper.c
	hw/xfree86/common/xf86pciBus.c
	hw/xfree86/int10/helper_exec.c
	hw/xfree86/os-support/bus/Pci.c
	hw/xfree86/os-support/bus/linuxPci.c
	hw/xfree86/os-support/linux/lnx_pci.c
	hw/xfree86/scanpci/Makefile.am
	hw/xfree86/utils/pcitweak/Makefile.am
	hw/xfree86/utils/scanpci/Makefile.am
2006-12-08 17:24:15 -08:00
Bjorn Helgaas
ae3c9ad4ab Bug 9041: Check the return code in xf86MapDomainMemory(). 2006-11-16 17:29:06 +01:00
Bjorn Helgaas
bd0c829654 Do not map full 0-1MB legacy range
If we're mapping something in the "legacy range" (0-1Mb), we shouldn't
expand the requested range to the entire 0-1Mb range.  Typically this
is for mapping the VGA frame buffer, and some platforms support mmap of
the frame buffer but not the entire 0-1Mb range.

For example, HP sx1000 and sx2000 ia64 platforms can have memory from
0-0x9ffff, VGA frame buffer from 0xa0000-0xbffff, and memory from
0xc0000-0xfffff.  On these platforms, we can't map the entire 0-1Mb
range with the same attribute because the memory only supports WB,
while the frame buffer supports only UC.  But an mmap of just the
frame buffer should work fine.
2006-11-03 18:59:52 +01:00
Egbert Eich
c1828a8ff5 Fixing mach64 driver bailing out on ia64
Mach64 driver bails out on ia64 because it cannot map device
memory. It turns out that some bogus and unneeded code attempts
to find the root bridge of the device and fails to do so proberly
as there this host-to-pci bridge is not existant. This code has
been around for years although it completely unclear what it had
been intended for. Fixing this by eliminating the bogus code.
2006-11-03 18:59:52 +01:00
Matthias Hopf
1d731fc54a Add domain support to linuxPciOpenFile().
Loosely based on patch from David S. Miller <davem@davemloft.net>
See also bug #2368.
2006-11-03 18:59:51 +01:00
Matthias Hopf
caaa113acf Fixing domain support for ia64
ia64 specific functions + defines.
Still uses /proc interface for some scaning code.
Based on code from Egbert Eich <eich@freedesktop.org>.
2006-11-03 18:59:51 +01:00
Matthias Hopf
f4dd2665b0 Added missing domain stripping in already domain aware code. 2006-11-03 18:59:51 +01:00
Ian Romanick
27d682fa03 Fix from HEAD accidentally reverted during merge. 2006-10-24 09:04:14 -07:00
Ian Romanick
8b90913566 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/Makefile.am
	hw/xfree86/common/xf86.h
	hw/xfree86/common/xf86DoScanPci.c
	hw/xfree86/os-support/bus/linuxPci.c
	hw/xfree86/scanpci/extrapci.ids
	hw/xfree86/scanpci/pci.ids
	hw/xfree86/scanpci/pciid2c.pl
	hw/xfree86/scanpci/xf86PciStdIds.h
2006-10-24 08:57:59 -07:00
Matthias Hopf
1b94c117e0 Fixing probably long-standing bug in domain support. 2006-10-10 19:37:22 +02:00
Donnie Berkholz
d812f486a0 Really fix sparc on 64-bit kernel/32-bit userland.
Commit b3a3020fd0 used a sparc64 ifdef instead of
sparc. But for 32-bit userland, __sparc64__ is not defined so the wrong code is
used.
2006-09-20 15:39:39 -07:00
Jesse Barnes
b3a3020fd0 the new PCI mapping routines are broken on sparc64 (in fact they look
broken for any 32 bit X server running on a 64 bit kernel) so #ifdef
them out for now.  the PCI rework tree will make all this crap go away,
so I think we can tolerate the extra #ifdef for the next release.
2006-09-10 11:13:18 -07:00
Ian Romanick
9df53d903e Rename xf86ReadDomainMemory to xf86ReadLegacyVideoBIOS, since that's
what it is actually used for.  Modify a few routines in linuxPci.c to
take pci_device structures as parameters in stead of PCITAGs.
2006-08-08 16:42:23 -07:00
Ian Romanick
5bfb2ee965 Remove the last remants of the pci{Read,Write}{Long,Word,Byte}
functionality.  This also allows the removal of PCI_CPU, PCI_CPU16,
and a few other dangling bits of cruft.
2006-08-02 13:29:21 -07:00
Ian Romanick
23f44df900 Remove pciConfigPtr and all of the associated cruft. 2006-08-02 09:55:32 -07:00
Ian Romanick
28ba8d5691 Gut anything having to do with the PciBusPtr (or PciBusRec) type.
Bump required version of libpciaccess to 0.5.0 so that
pci_device_get_bridge_buses can be used.
2006-07-25 15:38:09 -07:00
Ian Romanick
380b51d605 Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/common/xf86Init.c
	hw/xfree86/int10/pci.c
	hw/xfree86/scanpci/xf86PciData.h
	hw/xfree86/scanpci/xf86PciStdIds.h
	hw/xfree86/scanpci/xf86PciStr.h
	hw/xfree86/scanpci/xf86ScanPci.h
	hw/xfree86/utils/pcitweak/pcitweak.c
	hw/xfree86/utils/scanpci/scanpci.c

Re-removed most of the conflicting files.
2006-07-25 11:30:04 -07:00
Ian Romanick
2fd6b995ff Global s/xf86MapDomainIO/xf86MapLegacyIO/. Let's call a duck a duck,
okay?  Since xf86MapLegacyIO is called from only one place, cut the
parameter list down to the one parameter that actually conveys some
information:  the one that gives a PCI device.  Change from using a
PCITAG to a pci_device.
2006-07-24 13:33:34 -07:00
Ian Romanick
aed6fe0bb1 Refactor linuxGetSizesStruct to take a pci_device pointer instead of a
PCITAG.  Modify xf86BusAccWindowsFromOS and xf86AccResFromOS to call
linuxGetSizesStruct directly with a pci_device pointer.  Remove
linuxGetSizes.
2006-07-24 13:13:05 -07:00
Ian Romanick
e487627992 Modify xf86BusAccWindowsFromOS and xf86AccResFromOS to use the
libpciaccess interfaces.
2006-07-24 12:23:23 -07:00
Ian Romanick
4b474cbc1a The functions xf86PciBusAccWindowsFromOS and xf86BusAccWindowsFromOS
are identical.  Just have one call the other.
2006-07-24 12:17:27 -07:00
Adam Jackson
0aaac95b0d Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -04:00
Ian Romanick
18624a9b7c Modify linuxGetSizesStruct to use pci_device instead of pciConfigPtr. 2006-07-13 21:10:48 -07:00
Ian Romanick
37838de62e Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver into pci-rework
Conflicts:

	hw/xfree86/os-support/bus/linuxPci.c
2006-07-06 13:01:57 -07:00
Ian Romanick
8d07ee070e Refactor linuxGetIOSize and linuxGetSizes. Eliminate the unnecessary
optimization in the search loop.
2006-07-06 12:48:51 -07:00
Ian Romanick
46f55f5dea Initial batch of changes for PCI rework. All future changes will be
tracked individually.
2006-06-07 14:09:02 -07:00
Daniel Stone
8444bb77c9 When we can, bound the maximum number of PCI devices to attempt to scan, by
the number found on the system. Only implemented for Linux right now.
2006-06-05 20:22:06 +00:00
Daniel Stone
56f21bda1c Bug #6583: Only open /proc/bus/pci/devices once. (Bill Nottingham) 2006-06-01 22:30:52 +00:00
Dave Airlie
26fa45b642 Bug #6751: Use the Linux PCI ROM interface on Linux properly. The old
domain code, still modified BARs not a good idea, Just talk to sysfs,
    if 0 read, fallback to old methods.
2006-04-26 11:40:58 +00:00
Adam Jackson
a68c11bb1d Mark everything in xf86sym.c as _X_EXPORT. 2006-03-25 19:52:05 +00:00
Dave Airlie
fc69a2e729 Remove PowerMAX_OS define it never worked , it'll never work again,
finishes running joke of OLS2005
2005-12-29 08:42:49 +00:00
Kristian Høgsberg
f8430a1b86 Bug #2880, add functions for byte and word level access to pci config
space.
Fix broken utf8 again.
2005-11-08 19:04:56 +00:00
Adam Jackson
af211a9bc1 Fix PCI bus scan on ia64 E8870 chipsets. 2005-10-19 22:30:09 +00:00