Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Jan 2003 21:43:38 -0800 (PST)
From:      =?ISO-8859-1?Q?Mikko_Ty=F6l=E4j=E4rvi?= <mbsd@pacbell.net>
To:        current@freebsd.org
Subject:   Re: if_sis.c 1.61 breaks support for SiS630 chipset (fwd)
Message-ID:  <20030120214226.Y70415-100000@atlas.home>

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

Hmm... my MUA dropped Cc: current somewhere along the line.

       /Mikko

On Mon, 20 Jan 2003, Martin Blapp wrote:

>
> Hi,
>
> And you just added this part ? Maybe we can then just check the
> revision and do the old read part for rev > rev 0x90. You should
> not use then the bitbang method then. If I get it right you do both
> in your patch, the first fails silently, the second works. Right ?
>
> Martin

I believe the chip does support the bitbang method, but for some
reason fails to work as the code expects in at least one place.

Not being overly familiar with neither the chip nor MII, I simply
added the smallest amount of code from the last working revision
in order to get my laptop back on line.

It is a workaround, not a solution.

   Regards,
   /Mikko

>
> Martin Blapp, <mb@imp.ch> <mbr@FreeBSD.org>
> ------------------------------------------------------------------
> ImproWare AG, UNIXSP & ISP, Zurlindenstrasse 29, 4133 Pratteln, CH
> Phone: +41 61 826 93 00 Fax: +41 61 826 93 01
> PGP: <finger -l mbr@freebsd.org>
> PGP Fingerprint: B434 53FC C87C FE7B 0A18 B84C 8686 EF22 D300 551E
> ------------------------------------------------------------------
>
> On Mon, 20 Jan 2003, Mikko Työläjärvi wrote:
>
> >
> > Hello,
> >
> > On Mon, 20 Jan 2003, Martin Blapp wrote:
> >
> > >
> > > hi,
> > >
> > > > Can you post me a "pciconf -lv" I need the revision number of your
> > > > integrated nic.
> >
> > Full pciconf output included for your reading pleasure :-)
> >
> > > Sorry, over read it.
> > >
> > > Can you post me the whole patch which you've made to get it
> > > working again ?
> >
> > Sure.  Seems like it is just the read code that does not work with my
> > chipset.  This is simply the chunk of code that was replaced in rev
> > 1.61, but wrapped inside an if-statement.  Dunno if the condition is
> > correct: I only have one sis-equipped computer to test with.
> >
> >      Regards,
> >      /Mikko
> >
> > --- if_sis.c.1.62	Sun Jan 19 14:35:57 2003
> > +++ if_sis.c	Sun Jan 19 15:14:54 2003
> > @@ -735,6 +735,39 @@
> >  	    sc->sis_rev < SIS_REV_635 && phy != 0)
> >  		return(0);
> >
> > +#if 1
> > +	/*
> > +	 * Hack: The new code below does not work with my sis630S.
> > +	 *       Revive wokring code from r1.60
> > +	 */
> > +
> > +	if (sc->sis_type == SIS_TYPE_900 && sc->sis_rev <= SIS_REV_630S) {
> > +		int i, val = 0;
> > +
> > +		CSR_WRITE_4(sc, SIS_PHYCTL,
> > +			    (phy << 11) | (reg << 6) | SIS_PHYOP_READ);
> > +		SIS_SETBIT(sc, SIS_PHYCTL, SIS_PHYCTL_ACCESS);
> > +
> > +		for (i = 0; i < SIS_TIMEOUT; i++) {
> > +			if (!(CSR_READ_4(sc, SIS_PHYCTL) & SIS_PHYCTL_ACCESS))
> > +				break;
> > +		}
> > +
> > +		if (i == SIS_TIMEOUT) {
> > +			printf("sis%d: PHY failed to come ready\n",
> > +			       sc->sis_unit);
> > +			return(0);
> > +		}
> > +
> > +		val = (CSR_READ_4(sc, SIS_PHYCTL) >> 16) & 0xFFFF;
> > +
> > +		if (val == 0xFFFF)
> > +			return(0);
> > +
> > +		return(val);
> > +	}
> > +#endif
> > +
> >  	bzero((char *)&frame, sizeof(frame));
> >
> >  	frame.mii_phyaddr = phy;
> >
> > sotec% pciconf -lv
> > hostb0@pci0:0:0:	class=0x060000 card=0x00000000 chip=0x06301039 rev=0x31 hdr=0x00
> >     vendor   = 'Silicon Integrated Systems (SiS)'
> >     device   = 'SiS630 Host-to-PCI Bridge'
> >     class    = bridge
> >     subclass = HOST-PCI
> > atapci0@pci0:0:1:	class=0x010180 card=0x120114ff chip=0x55131039 rev=0xd0 hdr=0x00
> >     vendor   = 'Silicon Integrated Systems (SiS)'
> >     device   = 'SiS5513 EIDE Controller (A,B step)'
> >     class    = mass storage
> >     subclass = ATA
> > isab0@pci0:1:0:	class=0x060100 card=0x00000000 chip=0x00081039 rev=0x00 hdr=0x00
> >     vendor   = 'Silicon Integrated Systems (SiS)'
> >     device   = 'SiS85C503/5513 PCI to ISA Bridge (LPC Bridge)'
> >     class    = bridge
> >     subclass = PCI-ISA
> > sis0@pci0:1:1:	class=0x020000 card=0x020114ff chip=0x09001039 rev=0x82 hdr=0x00
> >     vendor   = 'Silicon Integrated Systems (SiS)'
> >     device   = 'SiS900 Fast Ethernet/Home Networking Ctrlr'
> >     class    = network
> >     subclass = ethernet
> > ohci0@pci0:1:2:	class=0x0c0310 card=0x70011039 chip=0x70011039 rev=0x07 hdr=0x00
> >     vendor   = 'Silicon Integrated Systems (SiS)'
> >     device   = 'SiS5597/8 Universal Serial Bus Controller'
> >     class    = serial bus
> >     subclass = USB
> > ohci1@pci0:1:3:	class=0x0c0310 card=0x70001039 chip=0x70011039 rev=0x07 hdr=0x00
> >     vendor   = 'Silicon Integrated Systems (SiS)'
> >     device   = 'SiS5597/8 Universal Serial Bus Controller'
> >     class    = serial bus
> >     subclass = USB
> > pcm0@pci0:1:4:	class=0x040100 card=0x040114ff chip=0x70181039 rev=0x02 hdr=0x00
> >     vendor   = 'Silicon Integrated Systems (SiS)'
> >     device   = 'SiS7018 PCI Audio Accelerator'
> >     class    = multimedia
> >     subclass = audio
> > none0@pci0:1:6:	class=0x070300 card=0x100514ff chip=0x70131039 rev=0xa0 hdr=0x00
> >     vendor   = 'Silicon Integrated Systems (SiS)'
> >     device   = 'SiS7013 56k Modem'
> >     class    = simple comms
> > pcib1@pci0:2:0:	class=0x060400 card=0x00000000 chip=0x00011039 rev=0x00 hdr=0x01
> >     vendor   = 'Silicon Integrated Systems (SiS)'
> >     device   = 'SiS 530 Virtual PCI-to-PCI bridge (AGP)'
> >     class    = bridge
> >     subclass = PCI-PCI
> > cbb0@pci0:3:0:	class=0x060700 card=0x060114ff chip=0x69721217 rev=0x00 hdr=0x02
> >     vendor   = 'O2 Micro Inc'
> >     device   = 'OZ6912 CardBus Controller'
> >     class    = bridge
> >     subclass = PCI-CardBus
> > none1@pci1:0:0:	class=0x030000 card=0x030314ff chip=0x63001039 rev=0x31 hdr=0x00
> >     vendor   = 'Silicon Integrated Systems (SiS)'
> >     device   = 'SiS630 GUI Accelerator+3D'
> >     class    = display
> >     subclass = VGA
> >
>



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




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