1. 14 Feb, 2013 1 commit
  2. 12 Feb, 2013 1 commit
    • Paul Gortmaker's avatar
      gianfar: convert u64 status counters to atomic64_t · 212079df
      Paul Gortmaker authored
      While looking at some asm dump for an unrelated change, Eric
      noticed in the following stats count increment code:
          50b8:       81 3c 01 f8     lwz     r9,504(r28)
          50bc:       81 5c 01 fc     lwz     r10,508(r28)
          50c0:       31 4a 00 01     addic   r10,r10,1
          50c4:       7d 29 01 94     addze   r9,r9
          50c8:       91 3c 01 f8     stw     r9,504(r28)
          50cc:       91 5c 01 fc     stw     r10,508(r28)
      that a 64 bit counter was used on ppc-32 without sync
      and hence the "ethtool -S" output was racy.
      Here we convert all the values to use atomic64_t so that
      the output will always be consistent.
      Reported-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
  3. 08 Feb, 2013 1 commit
  4. 04 Feb, 2013 1 commit
    • Paul Gortmaker's avatar
      gianfar: dont conditionally alloc Rx/Err irq structs · 7c1e7e99
      Paul Gortmaker authored
      Commit ee873fda
          "gianfar: Pack struct gfar_priv_grp into three cachelines"
      causes the following null dereference at driver init on sbc8548:
         libphy: Freescale PowerQUICC MII Bus: probed
         Unable to handle kernel paging request for data at address 0x00000000
         Faulting instruction address: 0xc01d6a38
         Oops: Kernel access of bad area, sig: 11 [#1]
         NIP [c01d6a38] gfar_parse_group+0x228/0x280
         LR [c01d6a34] gfar_parse_group+0x224/0x280
         Call Trace:
         [ef82dd60] [c01d6a34] gfar_parse_group+0x224/0x280 (unreliable)
         [ef82dd90] [c01d73a4] gfar_probe+0x284/0xfe0
      The reason is that the commit also changed the allocation of the
      Rx and error handling irq structs to be skipped for !MQ_MG_MODE.
      In the !MQ_MG_MODE case, only the Tx irq struct is allocated.
      Digging further, we see that MQ_MG_MODE is set only if we find
      the OF compatible string "fsl,etsec2".
      A quick grep in the dts directory shows lots of boards that support
      Rx/Tx/Err, but without this specific compat string.  And hence they
      go after the unallocated Rx/Error structs and cause the above oops.
      Hence such a change can not be deployed until all the dts files
      are updated and sufficiently deployed.  Further, the optimization
      is of limited value, since the kmalloc'd struct in question has only
      a single unsigned int, and an (IFNAMSIZ + 6) sized string.
      Note that no changes to the freeing code are needed here, as it
      already did an unconditional free of Rx/Tx/Error gfar_irqinfo.
      Cc: Claudiu Manoil <claudiu.manoil@freescale.com>
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  5. 29 Jan, 2013 2 commits
  6. 23 Jan, 2013 1 commit
  7. 09 Nov, 2012 2 commits
  8. 06 Oct, 2012 1 commit
    • Eric Dumazet's avatar
      net: remove skb recycling · acb600de
      Eric Dumazet authored
      Over time, skb recycling infrastructure got litle interest and
      many bugs. Generic rx path skb allocation is now using page
      fragments for efficient GRO / TCP coalescing, and recyling
      a tx skb for rx path is not worth the pain.
      Last identified bug is that fat skbs can be recycled
      and it can endup using high order pages after few iterations.
      With help from Maxime Bizon, who pointed out that commit
       (net: allow pskb_expand_head() to get maximum tailroom)
      introduced this regression for recycled skbs.
      Instead of fixing this bug, lets remove skb recycling.
      Drivers wanting really hot skbs should use build_skb() anyway,
      to allocate/populate sk_buff right before netif_receive_skb()
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Cc: Maxime Bizon <mbizon@freebox.fr>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  9. 24 Sep, 2012 1 commit
    • Claudiu Manoil's avatar
      gianfar: Change default HW Tx queue scheduling mode · b98b8bab
      Claudiu Manoil authored
      This is primarily to address transmission timeout occurrences, when
      multiple H/W Tx queues are being used concurrently. Because in
      the priority scheduling mode the controller does not service the
      Tx queues equally (but in ascending index order), Tx timeouts are
      being triggered rightaway for a basic test with multiple simultaneous
      connections like:
      iperf -c <server_ip> -n 100M -P 8
      resulting in kernel trace:
      NETDEV WATCHDOG: eth1 (fsl-gianfar): transmit queue <X> timed out
      ------------[ cut here ]------------
      WARNING: at net/sched/sch_generic.c:255
      and controller reset during intense traffic, and possibly further
      This patch changes the default H/W Tx scheduling setting (TXSCHED)
      for multi-queue devices, from priority scheduling mode to a weighted
      round robin mode with equal weights for all H/W Tx queues, and
      addresses the issue above.
      Signed-off-by: default avatarClaudiu Manoil <claudiu.manoil@freescale.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  10. 30 Aug, 2012 2 commits
  11. 09 Jul, 2012 1 commit
  12. 28 Jun, 2012 1 commit
  13. 05 Jun, 2012 4 commits
  14. 22 May, 2012 1 commit
  15. 21 Apr, 2012 1 commit
  16. 25 Mar, 2012 1 commit
  17. 18 Mar, 2012 1 commit
  18. 15 Mar, 2012 2 commits
  19. 30 Jan, 2012 1 commit
  20. 12 Jan, 2012 2 commits
  21. 28 Nov, 2011 1 commit
    • Axel Lin's avatar
      net/ethernet: convert drivers/net/ethernet/* to use module_platform_driver() · db62f684
      Axel Lin authored
      This patch converts the drivers in drivers/net/ethernet/* to use the
      module_platform_driver() macro which makes the code smaller and a bit
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Pantelis Antoniou <pantelis.antoniou@gmail.com>
      Cc: Vitaly Bordug <vbordug@ru.mvista.com>
      Cc: Wan ZongShun <mcuos.com@gmail.com>
      Cc: Nicolas Pitre <nico@fluxnic.net>
      Cc: Giuseppe Cavallaro <peppe.cavallaro@st.com>
      Cc: Marc Kleine-Budde <mkl@pengutronix.de>
      Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
      Cc: Jiri Pirko <jpirko@redhat.com>
      Cc: Daniel Hellstrom <daniel@gaisler.com>
      Cc: Alexey Dobriyan <adobriyan@gmail.com>
      Cc: Tobias Klauser <tklauser@distanz.ch>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Jiri Kosina <jkosina@suse.cz>
      Cc: Richard Cochran <richard.cochran@omicron.at>
      Cc: Jonas Bonn <jonas@southpole.se>
      Cc: Sebastian Poehn <sebastian.poehn@belden.com>
      Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
      Cc: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
      Cc: "Michał Mirosław" <mirq-linux@rere.qmqm.pl>
      Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
      Acked-by: default avatarWan ZongShun <mcuos.com@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  22. 16 Nov, 2011 2 commits
  23. 30 Aug, 2011 1 commit
  24. 17 Aug, 2011 1 commit
  25. 12 Aug, 2011 1 commit
    • Jeff Kirsher's avatar
      freescale: Move the Freescale drivers · ec21e2ec
      Jeff Kirsher authored
      Move the Freescale drivers into drivers/net/ethernet/freescale/ and
      make the necessary Kconfig and Makefile changes.
      CC: Sandeep Gopalpet <sandeep.kumar@freescale.com>
      CC: Andy Fleming <afleming@freescale.com>
      CC: Shlomi Gridish <gridish@freescale.com>
      CC: Li Yang <leoli@freescale.com>
      CC: Pantelis Antoniou <pantelis.antoniou@gmail.com>
      CC: Vitaly Bordug <vbordug@ru.mvista.com>
      CC: Dan Malek <dmalek@jlc.net>
      CC: Sylvain Munaut <tnt@246tNt.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
  26. 27 Jul, 2011 1 commit
  27. 21 Jul, 2011 1 commit
  28. 15 Jul, 2011 1 commit
  29. 21 Jun, 2011 1 commit
  30. 20 Jun, 2011 1 commit
    • Sebastian Poehn's avatar
      gianfar v5: implement nfc · 4aa3a715
      Sebastian Poehn authored
      This patch adds all missing functionalities for nfc except GRXFH. There is so much code because hardware has not a TCAM.
      Further hardware rule space is very limited. So I had to extensively use
      optimization features. Both reasons lead to the necessity to hold all
      online flows in a linked-list.
      # Some suggestions by Joe Perches applied (thanks!)
      # Shorted some logs
      # Use memcmp() for comparing
      Signed-off-by: default avatarSebastian Poehn <sebastian.poehn@belden.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  31. 16 Jun, 2011 1 commit