Date: Thu, 23 Aug 2001 01:55:30 -0600 From: Warner Losh <imp@harmony.village.org> To: non@ever.sanda.gr.jp, stable@FreeBSD.ORG Subject: Re: PC Card memory window Message-ID: <200108230755.f7N7tUW82259@harmony.village.org> In-Reply-To: Your message of "Wed, 22 Aug 2001 20:13:10 MDT." <200108230213.f7N2DAW80334@harmony.village.org> References: <200108230213.f7N2DAW80334@harmony.village.org> <20010822231852Q.non@ever.sanda.gr.jp>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <200108230213.f7N2DAW80334@harmony.village.org> Warner Losh writes:
: In message <20010822231852Q.non@ever.sanda.gr.jp> non@ever.sanda.gr.jp writes:
: : I did not read all the cvs logs, but something have been changed
: : around assignment of PC Card memory window ?
: :
: : I tested 4.4-RC with ISA PCIC machine and got message,
: :
: : nsp0 at port 0x240-0x24f iomem 0xc8800-0xc97ff irq 5 slot 0 on pccard0
: : ^^^^^^^^^^^^^^^
: : above iomem window address is pretty different from 4.3-RELASE. I
: : donot know what will happen with latest -current or PCI PCIC machine.
:
: Nothing should have changed in the memory allocation scheme. The
: above address looks wrong to me. Maybe it was with the addition of
: the orm device and that 0xc8000 was taken. Maybe we're not aligning
: things properly (since the memory needs to be 4k aligned, iirc, at the
: bridge level).
:
: Do you have a orm device? If so, what does it say?
Maybe this patch will help?
Index: pcic.c
===================================================================
RCS file: /cache/ncvs/src/sys/pccard/pcic.c,v
retrieving revision 1.89.2.19
diff -u -r1.89.2.19 pcic.c
--- pcic.c 2001/08/14 23:48:29 1.89.2.19
+++ pcic.c 2001/08/23 07:52:09
@@ -423,10 +423,12 @@
/*
* Make sure we grok this type.
*/
+ flags = rman_make_alignment_flags(pr->size);
switch(pr->type) {
default:
return (EINVAL);
case SYS_RES_MEMORY:
+ flags = rman_make_alignment_flags(4096);
case SYS_RES_IRQ:
case SYS_RES_IOPORT:
break;
@@ -437,7 +439,6 @@
* size. If we get it, then tell userland what we actually got
* in the range they requested.
*/
- flags = rman_make_alignment_flags(pr->size);
r = bus_alloc_resource(bridgedev, pr->type, &rid, pr->min, pr->max,
pr->size, flags);
if (r != NULL) {
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200108230755.f7N7tUW82259>
