Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 28 Aug 2000 22:51:01 +0200 (CEST)
From:      =?ISO-8859-1?Q?G=E9rard_Roudier?= <groudier@club-internet.fr>
To:        hiramoto@phys.chs.nihon-u.ac.jp
Cc:        FreeBSD-bugs@FreeBSD.ORG
Subject:   Re: kern/20895: sym driver doesn't work for SYM53C895A
Message-ID:  <Pine.LNX.4.10.10008282234100.431-100000@linux.local>
In-Reply-To: <Pine.LNX.4.10.10008282133430.208-100000@linux.local>

next in thread | previous in thread | raw e-mail | index | archive | help


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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.10.10008282234100.431-100000>