From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@9fans.net Date: Fri, 29 Jul 2016 09:01:37 +0900 From: kokamoto@hera.eonet.ne.jp Message-ID: <2527c71892ba054610a572092c7700f1@ci5dell.jitaku.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: [9fans] (no subject) Topicbox-Message-UUID: 96d81436-ead9-11e9-9d60-3106f5b1d025 Subject change to ether Yuk driver for 88E8036 I noticed the 9fans reopen now. I tried this mail at June 16, 2016, but failed... I'd like to announce this to all, particulary eric. I posted a mail to 9fans, but I don't have received that mail, so retries it to this mailing-list. I asked the above line for about two weeks ago to 9fans. Now I got a solution by myself. The problem was 88E8036(Yukfe) chip has a small amount of RAM buffer, which eric didn't pay attention. I tried to may diff file, however, I wrote too many comment lines on the file, which leads to a fuge sized diff file. Therefore, I'll write only the differences between the last cdrom of 9front and myself. belows are the data: (please pay attention to ===> lines) -----from here----- 1)static Vtab vtab[] = { 0x11ab, 0x4351, 1514, "88e8036", 2)in buffinit() function: if(q == Qr || q == Qr + Qportsz){ ===> t = end - start; rrwrite32(c, q + Rpon, t - 8192/8); /* set Rx upper threshold, pause on */ ===> rrwrite32(c, q + Rpoff, t/4); /* set Rx lower threshold pause off */ 3)in phyinit() function: if((c->feat & Fnewphy) == 0){ u = phyread(c, Phyextctl); u &= ~0xf70; /* clear downshift counters */ u |= 0x7<<4; /* mac tx clock = 25mhz */ if(c->type == Yukec) u |= 2*Dnmstr | Dnslv; else ===> u |= (0<<8 & 3<<8)|(1<<8 & 3<<8); ...... }else{ ===> if(c->feat != 0) /* exclude Yukfe */ u |= Ppmdixa >> 1; /* why the shift? */ if(c->type == Yukfep && c->rev == 0){ } ..... +++ if (c->type == Yukfe){ /* led control */ +++ u = u1 = phyread(c, Phyphy); +++ u &= ~(0xf <<4); +++ u |= 0x0b<<4 & 0xf<<4; +++ phywrite(c, 0x16, u); +++ u1 |= (1<<8 & 7<<8) <<1; +++ phywrite(c, 0x18, u1); +++ } phywrite(c, Phyintm, Anok | Anerr | Lsc); /* phy interrupt mask */ dprint("phyid %.4ux step %.4ux\n", phyread(c, 2), phyread(c, 3)); } ------- to here ----- Kenji