aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/pci/pcib_private.h
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2009-03-14 14:08:53 +0000
committerWarner Losh <imp@FreeBSD.org>2009-03-14 14:08:53 +0000
commit795dceffa20773dce85d48ad70d0db218abacfba (patch)
treea805c609d7511738b01c81fb444c087a6502ed3b /sys/dev/pci/pcib_private.h
parent0c0982b80cb953b31820c993c6b762807f502b8f (diff)
downloadsrc-795dceffa20773dce85d48ad70d0db218abacfba.tar.gz
src-795dceffa20773dce85d48ad70d0db218abacfba.zip
Two fixes:
(1) Fix pcib_read/write_config prototypes. (2) When contrainting a resource request for a 'subtractive' bridge, it is important to select a range outside the base/limit registers, since those are the only values known to not possibly work. On my HP laptop, the base bridge excludes I/O ports 0xa000-0xafff, however that was the range we were passing up the tree. Instead, when a range spans the "hole" we now arbitrarily pick the range just above the hole to allocate from. All of my rl and xl cards, at a minimum, started working again on this laptop with those fixes.
Notes
Notes: svn path=/head/; revision=189792
Diffstat (limited to 'sys/dev/pci/pcib_private.h')
-rw-r--r--sys/dev/pci/pcib_private.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/pci/pcib_private.h b/sys/dev/pci/pcib_private.h
index 615983921f3e..c7d6818ce2cc 100644
--- a/sys/dev/pci/pcib_private.h
+++ b/sys/dev/pci/pcib_private.h
@@ -74,8 +74,8 @@ int pcib_write_ivar(device_t dev, device_t child, int which, uintptr_t value);
struct resource *pcib_alloc_resource(device_t dev, device_t child, int type, int *rid,
u_long start, u_long end, u_long count, u_int flags);
int pcib_maxslots(device_t dev);
-uint32_t pcib_read_config(device_t dev, int b, int s, int f, int reg, int width);
-void pcib_write_config(device_t dev, int b, int s, int f, int reg, uint32_t val, int width);
+uint32_t pcib_read_config(device_t dev, u_int b, u_int s, u_int f, u_int reg, int width);
+void pcib_write_config(device_t dev, u_int b, u_int s, u_int f, u_int reg, uint32_t val, int width);
int pcib_route_interrupt(device_t pcib, device_t dev, int pin);
int pcib_alloc_msi(device_t pcib, device_t dev, int count, int maxcount, int *irqs);
int pcib_release_msi(device_t pcib, device_t dev, int count, int *irqs);