Changeset 3733


Ignore:
Timestamp:
2006-05-06T08:30:32+02:00 (10 years ago)
Author:
nbd
Message:

append a table with offsets for the no-ack and slot timing code to wl.o

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/openwrt/target/linux/brcm-2.4/patches/001-bcm47xx.patch

    r3732 r3733  
    1633716337    dep_tristate '    Hermes in TMD7160/NCP130 based PCI adaptor support (Pheecom WL-PCI etc.) (EXPERIMENTAL)' CONFIG_TMD_HERMES $CONFIG_HERMES $CONFIG_EXPERIMENTAL 
    1633816338    dep_tristate '    Prism 2.5 PCI 802.11b adaptor support (EXPERIMENTAL)' CONFIG_PCI_HERMES $CONFIG_HERMES $CONFIG_EXPERIMENTAL 
     16339diff -urN linux.old/drivers/net/wl/patchtable.pl linux.dev/drivers/net/wl/patchtable.pl 
     16340--- linux.old/drivers/net/wl/patchtable.pl      1970-01-01 01:00:00.000000000 +0100 
     16341+++ linux.dev/drivers/net/wl/patchtable.pl      2006-04-28 01:33:52.000000000 +0200 
     16342@@ -0,0 +1,54 @@ 
     16343+#!/usr/bin/perl 
     16344+use strict; 
     16345+ 
     16346+my $TABLE = pack("V", 0xbadc0ded); 
     16347+my $TABLE_SIZE = 512; 
     16348+my $SLT1 = "\x01\x00\x00\x00"; 
     16349+my $SLT2 = "\x02\x00\x00\x00"; 
     16350+my $ACKW = "\x03\x00\x00\x00"; 
     16351+my $PTABLE_END = "\xff\xff\xff\xff"; 
     16352+ 
     16353+my $addr = ""; 
     16354+my $opcode = ""; 
     16355+my $function = ""; 
     16356+ 
     16357+sub add_entry { 
     16358+       my $key = shift; 
     16359+       my $value = shift; 
     16360+       my $default = shift; 
     16361+ 
     16362+       $TABLE .= $key; 
     16363+       $TABLE .= pack("V", $value); 
     16364+       $TABLE .= pack("V", $default); 
     16365+} 
     16366+ 
     16367+while (<>) { 
     16368+       $addr = $opcode = ""; 
     16369+       /^\w{8}\s*<(.*)>:$/ and $function = $1; 
     16370+       /^\s*(\w+):\s*(\w{8})\s*/ and do { 
     16371+               $addr = $1; 
     16372+               $opcode = $2; 
     16373+       }; 
     16374+ 
     16375+       ($function eq 'wlc_update_slot_timing') and do { 
     16376+               # li    a2,9    -- short slot time 
     16377+               ($opcode eq '24060009') and add_entry($SLT1, hex($addr), hex($opcode)); 
     16378+               # li    v0,519  -- 510 + short slot time 
     16379+               ($opcode eq '24020207') and add_entry($SLT2, hex($addr), hex($opcode)); 
     16380+                
     16381+               # li    a2,20   -- long slot time 
     16382+               ($opcode eq '24060014') and add_entry($SLT1, hex($addr), hex($opcode)); 
     16383+               # li    v0,530  -- 510 + long slot time 
     16384+               ($opcode eq '24020212') and add_entry($SLT2, hex($addr), hex($opcode)); 
     16385+       }; 
     16386+       ($function eq 'wlc_d11hdrs') and do { 
     16387+               # ori   s6,s6,0x1 -- ack flag (new) 
     16388+               ($opcode eq '36d60001') and add_entry($ACKW, hex($addr), hex($opcode)); 
     16389+               # ori   s3,s3,0x1 -- ack flag (old) 
     16390+               ($opcode eq '36730001') and add_entry($ACKW, hex($addr), hex($opcode)); 
     16391+       } 
     16392+} 
     16393+ 
     16394+$TABLE .= $PTABLE_END; 
     16395+$TABLE .= ("\x00" x ($TABLE_SIZE - length($TABLE))); 
     16396+print $TABLE; 
    1633916397diff -urN linux.old/drivers/net/wl/Makefile linux.dev/drivers/net/wl/Makefile 
    1634016398--- linux.old/drivers/net/wl/Makefile   1970-01-01 01:00:00.000000000 +0100 
    1634116399+++ linux.dev/drivers/net/wl/Makefile   2006-04-28 01:33:52.000000000 +0200 
    16342 @@ -0,0 +1,26 @@ 
     16400@@ -0,0 +1,32 @@ 
    1634316401+# 
    1634416402+# Makefile for the Broadcom wl driver 
     
    1635616414+EXTRA_CFLAGS += -I$(TOPDIR)/arch/mips/bcm947xx/include -DBCMDRIVER 
    1635716415+ 
    16358 +O_TARGET       := wl.o 
     16416+O_TARGET       := wl_link.o 
    1635916417+ 
    1636016418+obj-y          := wl_mod.o 
     
    1636516423+wl_mod.o: wl_apsta.o 
    1636616424+       sed -e 's,eth%d,wl%d\x00,g' < $< > $@ 
     16425+ 
     16426+wl.o: wl_link.o 
     16427+       $(OBJDUMP) -d $< | perl patchtable.pl > patchtable.bin 
     16428+       cat wl_link.o patchtable.bin > $@ 
     16429+ 
     16430+modules: wl.o 
    1636716431+ 
    1636816432+include $(TOPDIR)/Rules.make 
Note: See TracChangeset for help on using the changeset viewer.