Date: Wed, 28 Jun 2000 13:25:04 +0900 From: Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org> To: dmlb@ragnet.demon.co.uk Cc: freebsd-mobile@freebsd.org, imp@village.org, iwasaki@freebsd.org Subject: RE: pccard differences between -current and -stable Message-ID: <20000628132504Q.iwasaki@jp.FreeBSD.org> In-Reply-To: <XFMail.000627235048.dmlb@computer.my.domain> References: <XFMail.000627235048.dmlb@computer.my.domain>
next in thread | previous in thread | raw e-mail | index | archive | help
> Hi all,
>
> On 27-Jun-00 Duncan Barclay wrote:
> > Hi Warner
> >
> > I'm having mixed success in getting my raylink driver running under RELENG_4.
> > If I use pccardc enable things are good, but pccardd is really screwed.
> >
> > In both -current and -stable, using debuglevel 1 in pccard.conf shows that
> > pccardd still seems to have remants of the old ed driver hacks - viz. the
> > card memory offset is set to 0x4000 and it is assumed that the common
> > memory is 16bits (the raylink uses 8bits).
> >
> > The thing is that under -current my raylink driver and NBK seem to just
> > ignore these settings but under stable the settings seem to persist. This is
> > with identical pcic controllers - do you expect this behaviour?
> >
> > Where should I start looking to fix it?
> >
> > Duncan
>
> I think I've found it, around
> pccard/pccardd/cardd.c:585
> we still totally ignore the card offset and force it to 0x4000. My earlier
It seems that this 0x4000 hack have been there since 5 years ago...
I'm sorry I couldn't get it, but how about the changes like this;
if (sp->mem.cardaddr == 0)
sp->mem.cardaddr = 0x4000;
also, PAO has `cardmem' feature for this kind of purpose if I
understand correctly, say;
cardmem memaddr cardaddr memsize [memflags]
:
cardio and cardmem keywords are used with cards whose resources such as
I/O ports and shared memory block, are not specified in the CIS tuple. A
base address and size of I/O ports are specified in iobase and iosize,
ones of shared memory block are specified in cardaddr, memsize and
memaddr. An address of a card is cardaddr, one of host is memaddr. Op-
tional flags can be specified in memflags.
and sample configuration is like this;
# IBM Smart Capture Card
card "IBM Corp\." "Video Capture"
config default "scc0" pio
cardmem 0xd4000 0x0 0x8000
insert logger -s Smart Capture Card inserted
remove logger -s Smart Capture Card removed
Do we need this feature?
> tests were working as I am using a current that doesn't set the MDF_ASSSIGNED
> flag. This is obviously wrong in general and breaks the raylink driver.
>
> It appears that some of the logic that tests whether we have an ed card is
> broken and that the memory settings are adjusted whatever card is used.
> Is my reading of the code right?
> pccard/pccardd/cardd.c:562
>
> if (!(strncmp(sp->config->driver->name, "ed", 2) == 0
> && (sp->config->flags & 0x10))
> && (cisconf->memspace || (defconf && defconf->memspace))) {
>
> As I'm not really familiar with this code, could someone fix this.
Sanpei-san, help :-)
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000628132504Q.iwasaki>
