1. 10 Jan, 2013 2 commits
    • YOSHIFUJI Hideaki / 吉藤英明's avatar
    • Rafał Miłecki's avatar
      bgmac: driver for GBit MAC core on BCMA bus · dd4544f0
      Rafał Miłecki authored
      BCMA is a Broadcom specific bus with devices AKA cores. All recent BCMA
      based SoCs have gigabit ethernet provided by the GBit MAC core. This
      patch adds driver for such a cores registering itself as a netdev. It
      has been tested on a BCM4706 and BCM4718 chipsets.
      
      In the kernel tree there is already b44 driver which has some common
      things with bgmac, however there are many differences that has led to
      the decision or writing a new driver:
      1) GBit MAC cores appear on BCMA bus (not SSB as in case of b44)
      2) There is 64bit DMA engine which differs from 32bit one
      3) There is no CAM (Content Addressable Memory) in GBit MAC
      4) We have 4 TX queues on GBit MAC devices (instead of 1)
      5) Many registers have different addresses/values
      6) RX header flags are also different
      
      The driver in it's state is functional how, however there is of course
      place for improvements:
      1) Supporting more net_device_ops
      2) SUpporting more ethtool_ops
      3) Unaligned addressing in DMA
      4) Writing separated PHY driver
      Signed-off-by: default avatarRafał Miłecki <zajec5@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dd4544f0
  2. 09 Jan, 2013 9 commits
  3. 08 Jan, 2013 5 commits
  4. 07 Jan, 2013 14 commits
  5. 04 Jan, 2013 10 commits
    • YOSHIFUJI Hideaki / 吉藤英明's avatar
      ndisc: Remove unused space at tail of skb for ndisc messages. (TAKE 3) · b7dc8c39
      YOSHIFUJI Hideaki / 吉藤英明 authored
      Currently, the size of skb allocated for NDISC is MAX_HEADER +
      LL_RESERVED_SPACE(dev) + packet length + dev->needed_tailroom,
      but only LL_RESERVED_SPACE(dev) bytes is "reserved" for headers.
      As a result, the skb looks like this (after construction of the
      message):
      
      head       data                   tail                       end
      +--------------------------------------------------------------+
      +           |                      |          |                |
      +--------------------------------------------------------------+
      |<-hlen---->|<---ipv6 packet------>|<--tlen-->|<--MAX_HEADER-->|
          =LL_                               = dev
           RESERVED_                           ->needed_
           SPACE(dev)                            tailroom
      
      As the name implies, "MAX_HEADER" is used for headers, and should
      be "reserved" in prior to packet construction.  Or, if some space
      is really required at the tail of ther skb, it should be
      explicitly documented.
      
      We have several option after construction of NDISC message:
      
      Option 1:
      
      head       data                   tail       end
      +---------------------------------------------+
      +           |                      |          |
      +---------------------------------------------+
      |<-hlen---->|<---ipv6 packet------>|<--tlen-->|
         =LL_                                = dev
          RESERVED_                           ->needed_
          SPACE(dev)                            tailroom
      
      Option 2:
      
      head            data                   tail       end
      +--------------------------------------------------+
      +                |                      |          |
      +--------------------------------------------------+
      |<--MAX_HEADER-->|<---ipv6 packet------>|<--tlen-->|
                                                  = dev
                                                   ->needed_
                                                     tailroom
      
      Option 3:
      
      head                        data                   tail       end
      +--------------------------------------------------------------+
      +                |           |                      |          |
      +--------------------------------------------------------------+
      |<--MAX_HEADER-->|<-hlen---->|<---ipv6 packet------>|<--tlen-->|
                          =LL_                                = dev
                           RESERVED_                          ->needed_
                           SPACE(dev)                           tailroom
      
      Our tunnel drivers try expanding headroom and the space for tunnel
      encapsulation was not a mandatory space -- so we are not seeing
      bugs here --, but just for optimization for performance critial
      situations.
      
      Since NDISC messages are not performance critical unlike TCP,
      and as we know outgoing device, LL_RESERVED_SPACE(dev) should be
      just enough for the device in most (if not all) cases:
        LL_RESERVED_SPACE(dev) <= LL_MAX_HEADER <= MAX_HEADER
      Note that LL_RESERVED_SPACE(dev) is also enough for NDISC over
      SIT (e.g., ISATAP).
      
      So, I think Option 1 is just fine here.
      Signed-off-by: default avatarYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b7dc8c39
    • Frank Li's avatar
      NET: FEC: dynamtic check DMA desc buff type · ff43da86
      Frank Li authored
      MX6 and mx28 support enhanced DMA descriptor buff to support 1588
      ptp. But MX25, MX3x, MX5x can't support enhanced DMA descriptor buff.
      Check fec type and choose correct DMA descriptor buff type.
      
      Remove static config CONFIG_FEC_PTP.
      ptp function will be auto detected.
      Signed-off-by: default avatarFrank Li <Frank.Li@freescale.com>
      Acked-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ff43da86
    • Peter Hüwe's avatar
      ethernet/broadcom/tg3: Fix sparse warning: constant 0x7fffffffffffffff is so big it is long long · 579e1d81
      Peter Hüwe authored
      Sparse complains that:
      drivers/net/ethernet/broadcom/tg3.c:5670:55: sparse: constant
      0x7fffffffffffffff is so big it is long long (on x86/32 bit)
      
      so we suffix the constant with LL in the header file.
      Reported-by: default avatarFengguang Wu <fengguang.wu@intel.com>
      Signed-off-by: default avatarPeter Huewe <peterhuewe@gmx.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      579e1d81
    • Steve Glendinning's avatar
      smsc95xx: enable dynamic autosuspend · b2d4b150
      Steve Glendinning authored
      This patch enables USB dynamic autosuspend for LAN9500A.  This
      saves very little power in itself, but it allows power saving
      in upstream hubs/hosts.
      
      The earlier devices in this family (LAN9500/9512/9514) do not
      support this feature.
      Signed-off-by: default avatarSteve Glendinning <steve.glendinning@shawell.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b2d4b150
    • Steve Glendinning's avatar
      smsc95xx: eliminate duplicate warnings on io failure · e360a8b4
      Steve Glendinning authored
      The register read/write functions already log a warning if
      an access fails, so this patch removes the additional warnings
      logged by callers that don't add any more information.
      
      This patch makes the resulting driver smaller by not containing
      as many warning strings.
      Signed-off-by: default avatarJoe Perches <joe@perches.com>
      Signed-off-by: default avatarSteve Glendinning <steve.glendinning@shawell.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e360a8b4
    • David S. Miller's avatar
      net: introduce upper device lists and remove dev->master · 912df262
      David S. Miller authored
      Jiri Pirko says:
      
      ====================
      This is a V6 of a repost of my previous patchset:
      "[patch net-next v2 00/15] net: introduce upper device lists and remove dev->master" from Aug 14
      
      The discussion around
      "[net-next] bonding: don't allow the master to become its slave"
      forced me to think about upper<->lower device connections.
      
      This patchset adds a possibility to record upper device linkage.
      All upper<->lower devices are converted to use this mechanism right after.
      That leads to dev->master removal because this info becomes redundant since
      "master links" have the same value.
      
      After all changes, there is no longer possible to do things as:
      "bond->someotherdevice->samebond"
      
      Also I think that drivers like cxgb3, qlcnic, qeth would benefit by this
      in future by being able to get more appropriate info about l3 addresses.
      
      v5->v6:
      - netdev_has_upper_dev() - added statement to comment that this is looking at
        the immediate upper devices only.
      - renamed "RTNL semaphore" -> "RTNL lock" in all comments
      - renamed __netdev_has_upper_dev() to __netdev_search_upper_dev() to emhasize
        the difference to netdev_has_upper_dev()
      
      v4->v5:
      - fixed missed typo in drivers/infiniband/hw/nes/nes_cm.c
      
      v3->v4:
      - comments in __netdev_upper_dev_link() squashed into one line
      - kfree_rcu used instead of call_rcu in netdev_upper_dev_unlink()
      
      v2->v3:
      - removed recursion in __netdev_has_upper_dev()
      - refreshed bits to be applicable on current net-next
      
      v1->v2:
      - s/unique/master/ better naming + stays closer to the past
      - fixed vlan err goto
      - original patch 15 (WARN_ON change) is squashed into the first patch
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      912df262
    • Jiri Pirko's avatar
      net: kill dev->master · 85464ef2
      Jiri Pirko authored
      Nobody uses this now. Remove it.
      Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      85464ef2
    • Jiri Pirko's avatar
    • Jiri Pirko's avatar
      bonding: remove usage of dev->master · 471cb5a3
      Jiri Pirko authored
      Benefit from new upper dev list and free bonding from dev->master usage.
      Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      471cb5a3
    • Jiri Pirko's avatar
      nes: remove usage of dev->master · 7f6e7101
      Jiri Pirko authored
      Signed-off-by: default avatarJiri Pirko <jiri@resnulli.us>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7f6e7101