summaryrefslogtreecommitdiff
path: root/sys/dev/pccbb
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2003-08-09 20:38:53 +0000
committerWarner Losh <imp@FreeBSD.org>2003-08-09 20:38:53 +0000
commit69a7c91e70e07bc28d0f37fc7a6e204f28a7d310 (patch)
tree705957adca2c81ea588eb190645684f3df9a8622 /sys/dev/pccbb
parent35dfd13e0bd98d57f15dc55c2b15e27dc3041f1a (diff)
Notes
Diffstat (limited to 'sys/dev/pccbb')
-rw-r--r--sys/dev/pccbb/pccbb.c3
-rw-r--r--sys/dev/pccbb/pccbbreg.h2
2 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/pccbb/pccbb.c b/sys/dev/pccbb/pccbb.c
index 706f1bc49f2b..81b8b4e209bc 100644
--- a/sys/dev/pccbb/pccbb.c
+++ b/sys/dev/pccbb/pccbb.c
@@ -1551,6 +1551,9 @@ cbb_cardbus_alloc_resource(device_t brdev, device_t child, int type,
start = cbb_start_mem;
if (end < start)
end = start;
+ if (RF_ALIGNMENT(flags) < CBB_MEMALIGN_BITS)
+ flags = (flags & ~RF_ALIGNMENT_MASK) |
+ rman_make_alignment_flags(CBB_MEMALIGN);
break;
}
diff --git a/sys/dev/pccbb/pccbbreg.h b/sys/dev/pccbb/pccbbreg.h
index d41cdebc0446..ef1f21d52176 100644
--- a/sys/dev/pccbb/pccbbreg.h
+++ b/sys/dev/pccbb/pccbbreg.h
@@ -75,7 +75,9 @@
#define CBBR_IOBASE1 0x34 /* len=4 */
#define CBBR_IOLIMIT1 0x38 /* len=4 */
#define CBB_MEMALIGN 4096
+#define CBB_MEMALIGN_BITS 12
#define CBB_IOALIGN 4
+#define CBB_IOALIGN_BITS 2
#define CBBR_INTRLINE 0x3c /* len=1 */
#define CBBR_INTRPIN 0x3d /* len=1 */