From owner-freebsd-bugs Mon Aug 28 14: 9:13 2000 Delivered-To: freebsd-bugs@freebsd.org Received: from front3m.grolier.fr (front3m.grolier.fr [195.36.216.53]) by hub.freebsd.org (Postfix) with ESMTP id D4F5037B43E for ; Mon, 28 Aug 2000 14:09:09 -0700 (PDT) Received: from nas22-15.vlt.club-internet.fr (nas22-15.vlt.club-internet.fr [195.36.170.15]) by front3m.grolier.fr (8.9.3/No_Relay+No_Spam_MGC990224) with ESMTP id XAA09291; Mon, 28 Aug 2000 23:09:01 +0200 (MET DST) Date: Mon, 28 Aug 2000 22:51:01 +0200 (CEST) From: =?ISO-8859-1?Q?G=E9rard_Roudier?= X-Sender: groudier@linux.local To: hiramoto@phys.chs.nihon-u.ac.jp Cc: FreeBSD-bugs@FreeBSD.ORG Subject: Re: kern/20895: sym driver doesn't work for SYM53C895A In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Mon, 28 Aug 2000, G=E9rard Roudier wrote: > I probably replied too quickly to your problem report. :) > Your patch just falls back to 32 bit BARs for RAM resource if 64 bits doe= s > fail. That should mean that the SYM53C895A does not have 64 bit BARs for > memory window. I will check that, but for now, you can try the below patc= h > that just fixes the chip features description and let me know: >=20 > --- sym_hipd.c.orig=09Mon Aug 28 21:26:36 2000 > +++ sym_hipd.c=09Mon Aug 28 21:27:05 2000 > @@ -8869,7 +8869,7 @@ > , > {PCI_ID_SYM53C895A, 0xff, "895a", 6, 31, 7, 4, > FE_WIDE|FE_ULTRA2|FE_QUAD|FE_CACHE_SET|FE_BOF|FE_DFS|FE_LDSTR|FE_PFEN| > - FE_RAM|FE_RAM8K|FE_64BIT|FE_IO256|FE_NOPM|FE_LEDC|FE_LCKFRQ} > + FE_RAM|FE_RAM8K|FE_IO256|FE_NOPM|FE_LEDC|FE_LCKFRQ} > , > {PCI_ID_LSI53C1010, 0x00, "1010-33", 6, 31, 7, 8, > FE_WIDE|FE_ULTRA3|FE_QUAD|FE_CACHE_SET|FE_BOF|FE_DFBC|FE_LDSTR|FE_PFEN| >=20 > Btw, I still will be glad to see the PCI configuration space of your > chip. :-) >=20 > Btw, current ncr(4) seems not to care about 64 bit BARs. This let me thin= g > that it may have problems with SYMBIOS chip that have 64 bit BARs. :-) >=20 > Gerard. I just checked the docs and, indeed, the SYM53C895A is described as having a PCI 32 bit interface, but supporting DAC access cycles. The patch above is not enough. It may work, but phase mismatch handling will not be performed from SCRIPTS since the corresponding bit in set conditionnally to FE_64BIT feature. The fix I want to implement will distinguish between the PCI interface width (e.g. some FE_PCI64 feature flag) and the capability of generating PCI DAC (e.g. some FE_DAC feature flag). It is too late this evening in France (23:00:00), for me to want to prepare the change immediately, even if it looks simple, but I will provide you will the fix I feel right tomorrow. For now, I would suggest you to use _your_ patch that does the right trick the wrong way :-) rather that my incomplete patch above. Thanks for your problem report. Regards, G=E9rard. =20 PS: Under Linux, the chip description is also wrong, but the BAR decoding is performed by the driver itself that detects generically 64 bit BARs as allows PCI specifications. The FreeBSD resource interface requires drivers to know `a priori' the width of each BARs, which could have been avoided, in my not humble opinion on that point. ;-) = =20 =20 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message