12 Jun, 2012

1 commit


07 Jun, 2012

1 commit

  • I found this core on a BCM4322, a PCI card in the Linksys WRT610N V1.
    This core is not used by the driver, this patch just makes ssb show the
    correct name.

    Signed-off-by: Hauke Mehrtens
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     

17 May, 2012

5 commits

  • The 0x4322 ID is found on the BCM4322 used on some SoCs like the
    Linksys WRT610N V1 connected to a BCM4705. The 43222 (0xa8d6) ID
    is found on the BCM43222 used on some other SoCs like the D-Link
    DSL-2760U connected to a BCM63xx.

    Signed-off-by: Hauke Mehrtens
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     
  • These newly added attributes are used by brcmsmac. Now bcma should
    parse all attributes used by brcmsmac out of the sprom.

    Signed-off-by: Hauke Mehrtens
    Tested-by: Arend van Spriel
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     
  • This attribute is now used in b43 driver and should be filled for all
    sprom versions.

    Signed-off-by: Hauke Mehrtens
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     
  • The attribute country_code and alpha2 are two different attributes in
    the sprom. country_code contains some code in an 8 bit coding and
    alpha2 contains two chars with the country code. The attributes where
    read out wrongly in the past and country_code is only available on
    sprom version 1.

    Signed-off-by: Hauke Mehrtens
    Tested-by: Arend van Spriel
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     
  • Previously the rev contained the revision read from the pci config
    space and was used as board_rev in the wireless drivers. This is wrong
    the board_rev is only fetched from the sprom accordingly to the open
    source part of the Broadcom SDK and brcmsmac. This patch removes the
    rev from the boardinfo structure and uses the board_rev attribute from
    sprom instead. This attribute is filled by PCI, PCMCIA, SDIO and SoC
    code.

    Signed-off-by: Hauke Mehrtens
    Tested-by: Arend van Spriel
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     

21 Mar, 2012

1 commit

  • Pull networking merge from David Miller:
    "1) Move ixgbe driver over to purely page based buffering on receive.
    From Alexander Duyck.

    2) Add receive packet steering support to e1000e, from Bruce Allan.

    3) Convert TCP MD5 support over to RCU, from Eric Dumazet.

    4) Reduce cpu usage in handling out-of-order TCP packets on modern
    systems, also from Eric Dumazet.

    5) Support the IP{,V6}_UNICAST_IF socket options, making the wine
    folks happy, from Erich Hoover.

    6) Support VLAN trunking from guests in hyperv driver, from Haiyang
    Zhang.

    7) Support byte-queue-limtis in r8169, from Igor Maravic.

    8) Outline code intended for IP_RECVTOS in IP_PKTOPTIONS existed but
    was never properly implemented, Jiri Benc fixed that.

    9) 64-bit statistics support in r8169 and 8139too, from Junchang Wang.

    10) Support kernel side dump filtering by ctmark in netfilter
    ctnetlink, from Pablo Neira Ayuso.

    11) Support byte-queue-limits in gianfar driver, from Paul Gortmaker.

    12) Add new peek socket options to assist with socket migration, from
    Pavel Emelyanov.

    13) Add sch_plug packet scheduler whose queue is controlled by
    userland daemons using explicit freeze and release commands. From
    Shriram Rajagopalan.

    14) Fix FCOE checksum offload handling on transmit, from Yi Zou."

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1846 commits)
    Fix pppol2tp getsockname()
    Remove printk from rds_sendmsg
    ipv6: fix incorrent ipv6 ipsec packet fragment
    cpsw: Hook up default ndo_change_mtu.
    net: qmi_wwan: fix build error due to cdc-wdm dependecy
    netdev: driver: ethernet: Add TI CPSW driver
    netdev: driver: ethernet: add cpsw address lookup engine support
    phy: add am79c874 PHY support
    mlx4_core: fix race on comm channel
    bonding: send igmp report for its master
    fs_enet: Add MPC5125 FEC support and PHY interface selection
    net: bpf_jit: fix BPF_S_LDX_B_MSH compilation
    net: update the usage of CHECKSUM_UNNECESSARY
    fcoe: use CHECKSUM_UNNECESSARY instead of CHECKSUM_PARTIAL on tx
    net: do not do gso for CHECKSUM_UNNECESSARY in netif_needs_gso
    ixgbe: Fix issues with SR-IOV loopback when flow control is disabled
    net/hyperv: Fix the code handling tx busy
    ixgbe: fix namespace issues when FCoE/DCB is not enabled
    rtlwifi: Remove unused ETH_ADDR_LEN defines
    igbvf: Use ETH_ALEN
    ...

    Fix up fairly trivial conflicts in drivers/isdn/gigaset/interface.c and
    drivers/net/usb/{Kconfig,qmi_wwan.c} as per David.

    Linus Torvalds
     

10 Mar, 2012

1 commit


06 Mar, 2012

1 commit

  • There is no 2.4 GHz or 5GHz antenna gain stored in sprom. The sprom
    just stores the gain values for antenna 1 and 2 or 1 to 4 for more
    recent sprom versions. On old devices antenna 2 was used for 5 GHz wifi.

    Signed-off-by: Hauke Mehrtens
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     

16 Feb, 2012

1 commit


07 Feb, 2012

2 commits


02 Feb, 2012

1 commit

  • ssb supports one extra device on the cardbus. This results in two
    devices in total, one beeing the host controller itself and the other
    the external device connected to the hostcontroller over cardbus.

    This makes the cardbus slot work on the Linksys WRT150N.

    Reported-by: Aaron Z
    Signed-off-by: Hauke Mehrtens
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     

25 Jan, 2012

2 commits

  • As part of the removal of get_driver()/put_driver(), this patch
    (as1512) gets rid of various useless and unnecessary calls in several
    drivers. In some cases it may be desirable to pin the driver by
    calling try_module_get(), but that can be done later.

    Signed-off-by: Alan Stern
    CC: "David S. Miller"
    CC: Konrad Rzeszutek Wilk
    CC: Michael Buesch
    CC: Joerg Roedel
    Signed-off-by: Greg Kroah-Hartman

    Alan Stern
     
  • We already extract some basic info but it's incomplete, reads info
    about the first core only. Used data structure doesn't allow easy
    adding of more cores.
    This patch adds new struct and array for storing power info. The plan
    is to: switch all extractors (including the ones using NVRAM) to new
    struct, switch drivers, then deprecate and finally drop old SSB fields.

    Signed-off-by: Rafał Miłecki
    Signed-off-by: John W. Linville

    Rafał Miłecki
     

15 Dec, 2011

1 commit


14 Dec, 2011

1 commit


09 Dec, 2011

1 commit

  • This fixes a Data bus error on some SoCs. The first fix for this
    problem did not solve it on all devices.
    commit 6ae8ec27868bfdbb815287bee8146acbefaee867
    Author: Rafał Miłecki
    Date: Tue Jul 5 17:25:32 2011 +0200
    ssb: fix init regression of hostmode PCI core

    In ssb_pcicore_fix_sprom_core_index() the sprom on the PCI core is
    accessed, but the sprom only exists when the ssb bus is connected over
    a PCI bus to the rest of the system and not when the SSB Bus is the
    main system bus. SoCs sometimes have a PCI host controller and there
    this code will not be executed, but there are some old SoCs with an PCI
    controller in client mode around and ssb_pcicore_fix_sprom_core_index()
    should not be called on these devices too. The PCI controller on these
    devices are unused, but without this fix it results in an Data bus
    error when it gets initialized.

    Cc: Michael Buesch
    Cc: Rafał Miłecki
    Signed-off-by: Hauke Mehrtens
    Cc: stable@vger.kernel.org
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     

01 Nov, 2011

2 commits

  • Or we will get things like this when we remove the implicit path:

    drivers/ssb/embedded.c:32: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL'
    drivers/ssb/driver_chipcommon.c:432: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL'
    drivers/ssb/driver_chipcommon_pmu.c:607: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL'
    drivers/ssb/pcihost_wrapper.c:120: error: ‘THIS_MODULE’ undeclared (first use in this function)
    drivers/ssb/driver_pcicore.c:721: warning: type defaults to ‘int’ in declaration of ‘EXPORT_SYMBOL’
    drivers/ssb/driver_gige.c:249: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL'

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     
  • The header cleanup means that module.h is no longer simply
    everywhere. So real modules need to actively include it.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

25 Aug, 2011

1 commit


26 Jul, 2011

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (43 commits)
    fs: Merge split strings
    treewide: fix potentially dangerous trailing ';' in #defined values/expressions
    uwb: Fix misspelling of neighbourhood in comment
    net, netfilter: Remove redundant goto in ebt_ulog_packet
    trivial: don't touch files that are removed in the staging tree
    lib/vsprintf: replace link to Draft by final RFC number
    doc: Kconfig: `to be' -> `be'
    doc: Kconfig: Typo: square -> squared
    doc: Konfig: Documentation/power/{pm => apm-acpi}.txt
    drivers/net: static should be at beginning of declaration
    drivers/media: static should be at beginning of declaration
    drivers/i2c: static should be at beginning of declaration
    XTENSA: static should be at beginning of declaration
    SH: static should be at beginning of declaration
    MIPS: static should be at beginning of declaration
    ARM: static should be at beginning of declaration
    rcu: treewide: Do not use rcu_read_lock_held when calling rcu_dereference_check
    Update my e-mail address
    PCIe ASPM: forcedly -> forcibly
    gma500: push through device driver tree
    ...

    Fix up trivial conflicts:
    - arch/arm/mach-ep93xx/dma-m2p.c (deleted)
    - drivers/gpio/gpio-ep93xx.c (renamed and context nearby)
    - drivers/net/r8169.c (just context changes)

    Linus Torvalds
     

22 Jul, 2011

1 commit


12 Jul, 2011

1 commit


11 Jul, 2011

1 commit


08 Jul, 2011

1 commit

  • Our workarounds seem to be clientmode PCI specific. Using SPROM
    workaround on SoC resulted in Oops:

    Data bus error, epc == 8017ed58, ra == 80225838
    Oops[#1]:
    Cpu 0
    $ 0 : 00000000 10008000 b8000000 00000001
    $ 4 : 80293b5c 00000caa ffffffff 00000000
    $ 8 : 0000000a 00000003 00000001 696d6d20
    $12 : ffffffff 00000000 00000000 ffffffff
    $16 : 802d0140 b8004800 802c0000 00000000
    $20 : 00000000 802c0000 00000000 802d04d4
    $24 : 00000018 80151a00
    $28 : 81816000 81817df8 8029bda0 80225838
    Hi : 00000000
    Lo : 00000000
    epc : 8017ed58 ssb_ssb_read16+0x48/0x60
    Not tainted
    ra : 80225838 ssb_pcicore_init+0x54/0x3b4

    Reported-by: Hauke Mehrtens
    Signed-off-by: Rafał Miłecki
    Tested-by: Hauke Mehrtens
    Signed-off-by: John W. Linville

    Rafał Miłecki
     

07 Jul, 2011

1 commit


06 Jul, 2011

3 commits

  • The SSB code reads PCI subsystem IDs from the PCI configuration registers while
    they are already stored by the PCI subsystem in the 'subsystem_{vendor|device}'
    fields of 'struct pci_dev'...

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: John W. Linville

    Sergei Shtylyov
     
  • The SSB code reads PCI revision ID from the PCI configuration register while
    it's already stored by the PCI subsystem in the 'revision' field of 'struct
    pci_dev'...

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: John W. Linville

    Sergei Shtylyov
     
  • The SSB code reads PCI revision ID register as 16-bit entity while the register
    is actually 8-bit only (the next 8 bits are the programming interface register).
    Fix the read and make the 'rev' field of 'struct ssb_boardinfo' 8-bit as well,
    to match the register size.

    Signed-off-by: Sergei Shtylyov
    Signed-off-by: John W. Linville

    Sergei Shtylyov
     

28 Jun, 2011

2 commits


23 Jun, 2011

1 commit

  • Two functions in ssb are using register_pci_controller() which is
    __devinit. The functions ssb_pcicore_init_hostmode() and
    ssb_gige_probe() should also be __devinit.

    This fixes the following warning:
    WARNING: vmlinux.o(.text+0x2727b8): Section mismatch in reference from the function ssb_pcicore_init_hostmode() to the function .devinit.text:register_pci_controller()
    The function ssb_pcicore_init_hostmode() references
    the function __devinit register_pci_controller().
    This is often because ssb_pcicore_init_hostmode lacks a __devinit
    annotation or the annotation of register_pci_controller is wrong.

    WARNING: vmlinux.o(.text+0x273398): Section mismatch in reference from the function ssb_gige_probe() to the function .devinit.text:register_pci_controller()
    The function ssb_gige_probe() references
    the function __devinit register_pci_controller().
    This is often because ssb_gige_probe lacks a __devinit
    annotation or the annotation of register_pci_controller is wrong.

    Reported-by: Ralf Baechle
    Signed-off-by: Hauke Mehrtens
    Signed-off-by: John W. Linville

    Hauke Mehrtens
     

18 Jun, 2011

1 commit

  • warning message
    drivers/ssb/driver_chipcommon_pmu.c: In function ssb_pmu_resources_init
    drivers/ssb/driver_chipcommon_pmu.c:420:15: warning: updown_tab_size may
    be used uninitilized in this function.

    updown_tab_size and depend_tab_size may not be set in the bus->chip_id
    switch statement, so set to 0 by default to avoid using uninitialized
    stack space.

    Signed-off-by: Connor Hansen
    Signed-off-by: Michael Buesch
    Signed-off-by: John W. Linville

    Connor Hansen
     

04 Jun, 2011

1 commit


21 May, 2011

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1446 commits)
    macvlan: fix panic if lowerdev in a bond
    tg3: Add braces around 5906 workaround.
    tg3: Fix NETIF_F_LOOPBACK error
    macvlan: remove one synchronize_rcu() call
    networking: NET_CLS_ROUTE4 depends on INET
    irda: Fix error propagation in ircomm_lmp_connect_response()
    irda: Kill set but unused variable 'bytes' in irlan_check_command_param()
    irda: Kill set but unused variable 'clen' in ircomm_connect_indication()
    rxrpc: Fix set but unused variable 'usage' in rxrpc_get_transport()
    be2net: Kill set but unused variable 'req' in lancer_fw_download()
    irda: Kill set but unused vars 'saddr' and 'daddr' in irlan_provider_connect_indication()
    atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined.
    rxrpc: Fix set but unused variable 'usage' in rxrpc_get_peer().
    rxrpc: Kill set but unused variable 'local' in rxrpc_UDP_error_handler()
    rxrpc: Kill set but unused variable 'sp' in rxrpc_process_connection()
    rxrpc: Kill set but unused variable 'sp' in rxrpc_rotate_tx_window()
    pkt_sched: Kill set but unused variable 'protocol' in tc_classify()
    isdn: capi: Use pr_debug() instead of ifdefs.
    tg3: Update version to 3.119
    tg3: Apply rx_discards fix to 5719/5720
    ...

    Fix up trivial conflicts in arch/x86/Kconfig and net/mac80211/agg-tx.c
    as per Davem.

    Linus Torvalds
     

19 May, 2011

1 commit

  • Some embedded devices like the Netgear WNDR3300 have two SSB based cards
    without an own sprom on the pci bus. We have to provide two different
    fallback sproms for these and this was not possible with the old solution.
    In the bcm47xx architecture the sprom data is stored in the nvram in the
    main flash storage. The architecture code will be able to fill the sprom
    with the stored data based on the bus where the device was found.

    The bcm63xx code should do the same thing as before, just using the new
    API.

    Acked-by: Michael Buesch
    Cc: netdev@vger.kernel.org
    Cc: linux-wireless@vger.kernel.org
    Cc: Florian Fainelli
    Signed-off-by: Hauke Mehrtens
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/2362/
    Signed-off-by: Ralf Baechle

    Hauke Mehrtens
     

17 May, 2011

1 commit


14 May, 2011

1 commit

  • drivers/ssb/main.c:1336: error: 'SSB_PCICORE_BCAST_ADDR' undeclared (first use in this function)
    drivers/ssb/main.c:1337: error: 'SSB_PCICORE_BCAST_DATA' undeclared (first use in this function)
    drivers/ssb/main.c:1349: error: 'struct ssb_pcicore' has no member named 'dev'

    Reported-by: Randy Dunlap
    Signed-off-by: John W. Linville

    John W. Linville