From owner-freebsd-mobile Tue Jun 27 21:25:14 2000 Delivered-To: freebsd-mobile@freebsd.org Received: from tasogare.imasy.or.jp (tasogare.imasy.or.jp [202.227.24.5]) by hub.freebsd.org (Postfix) with ESMTP id 02A9C37B7FC; Tue, 27 Jun 2000 21:25:09 -0700 (PDT) (envelope-from iwasaki@jp.FreeBSD.org) Received: from localhost (isdn51.imasy.or.jp [202.227.24.243]) by tasogare.imasy.or.jp (8.10.1+3.3W/3.7W-tasogare/smtpfeed 1.07) with ESMTP id e5S4P5p96679; Wed, 28 Jun 2000 13:25:05 +0900 (JST) (envelope-from 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 In-Reply-To: References: X-Mailer: Mew version 1.94.1 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-Id: <20000628132504Q.iwasaki@jp.FreeBSD.org> Date: Wed, 28 Jun 2000 13:25:04 +0900 From: Mitsuru IWASAKI X-Dispatcher: imput version 20000228(IM140) Lines: 66 Sender: owner-freebsd-mobile@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org > 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