<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/arch/arm/boot/dts/armada-xp-openblocks-ax3-4.dts, branch v4.6-rc2</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v4.6-rc2</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v4.6-rc2'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2016-03-19T17:05:34+00:00</updated>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next</title>
<updated>2016-03-19T17:05:34+00:00</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2016-03-19T17:05:34+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=1200b6809dfd9d73bc4c7db76d288c35fa4b2ebe'/>
<id>urn:sha1:1200b6809dfd9d73bc4c7db76d288c35fa4b2ebe</id>
<content type='text'>
Pull networking updates from David Miller:
 "Highlights:

   1) Support more Realtek wireless chips, from Jes Sorenson.

   2) New BPF types for per-cpu hash and arrap maps, from Alexei
      Starovoitov.

   3) Make several TCP sysctls per-namespace, from Nikolay Borisov.

   4) Allow the use of SO_REUSEPORT in order to do per-thread processing
   of incoming TCP/UDP connections.  The muxing can be done using a
   BPF program which hashes the incoming packet.  From Craig Gallek.

   5) Add a multiplexer for TCP streams, to provide a messaged based
      interface.  BPF programs can be used to determine the message
      boundaries.  From Tom Herbert.

   6) Add 802.1AE MACSEC support, from Sabrina Dubroca.

   7) Avoid factorial complexity when taking down an inetdev interface
      with lots of configured addresses.  We were doing things like
      traversing the entire address less for each address removed, and
      flushing the entire netfilter conntrack table for every address as
      well.

   8) Add and use SKB bulk free infrastructure, from Jesper Brouer.

   9) Allow offloading u32 classifiers to hardware, and implement for
      ixgbe, from John Fastabend.

  10) Allow configuring IRQ coalescing parameters on a per-queue basis,
      from Kan Liang.

  11) Extend ethtool so that larger link mode masks can be supported.
      From David Decotigny.

  12) Introduce devlink, which can be used to configure port link types
      (ethernet vs Infiniband, etc.), port splitting, and switch device
      level attributes as a whole.  From Jiri Pirko.

  13) Hardware offload support for flower classifiers, from Amir Vadai.

  14) Add "Local Checksum Offload".  Basically, for a tunneled packet
      the checksum of the outer header is 'constant' (because with the
      checksum field filled into the inner protocol header, the payload
      of the outer frame checksums to 'zero'), and we can take advantage
      of that in various ways.  From Edward Cree"

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1548 commits)
  bonding: fix bond_get_stats()
  net: bcmgenet: fix dma api length mismatch
  net/mlx4_core: Fix backward compatibility on VFs
  phy: mdio-thunder: Fix some Kconfig typos
  lan78xx: add ndo_get_stats64
  lan78xx: handle statistics counter rollover
  RDS: TCP: Remove unused constant
  RDS: TCP: Add sysctl tunables for sndbuf/rcvbuf on rds-tcp socket
  net: smc911x: convert pxa dma to dmaengine
  team: remove duplicate set of flag IFF_MULTICAST
  bonding: remove duplicate set of flag IFF_MULTICAST
  net: fix a comment typo
  ethernet: micrel: fix some error codes
  ip_tunnels, bpf: define IP_TUNNEL_OPTS_MAX and use it
  bpf, dst: add and use dst_tclassid helper
  bpf: make skb-&gt;tc_classid also readable
  net: mvneta: bm: clarify dependencies
  cls_bpf: reset class and reuse major in da
  ldmvsw: Checkpatch sunvnet.c and sunvnet_common.c
  ldmvsw: Add ldmvsw.c driver code
  ...
</content>
</entry>
<entry>
<title>ARM: dts: armada-xp-openblocks-ax3-4: Add BM support</title>
<updated>2016-03-14T16:19:46+00:00</updated>
<author>
<name>Gregory CLEMENT</name>
<email>gregory.clement@free-electrons.com</email>
</author>
<published>2016-03-14T08:39:01+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=293fdc24fcc9532e2a10120daa1c38b057f37209'/>
<id>urn:sha1:293fdc24fcc9532e2a10120daa1c38b057f37209</id>
<content type='text'>
Allow Openblock AX3 using hardware buffer management with mvneta.

Signed-off-by: Gregory CLEMENT &lt;gregory.clement@free-electrons.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>ARM: mvebu: fix overlap of Crypto SRAM with PCIe memory window</title>
<updated>2016-03-11T19:49:55+00:00</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@free-electrons.com</email>
</author>
<published>2016-03-08T15:59:57+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=d7d5a43c0d16760f25d892bf9329848167a8b8a4'/>
<id>urn:sha1:d7d5a43c0d16760f25d892bf9329848167a8b8a4</id>
<content type='text'>
When the Crypto SRAM mappings were added to the Device Tree files
describing the Armada XP boards in commit c466d997bb16 ("ARM: mvebu:
define crypto SRAM ranges for all armada-xp boards"), the fact that
those mappings were overlaping with the PCIe memory aperture was
overlooked. Due to this, we currently have for all Armada XP platforms
a situation that looks like this:

Memory mapping on Armada XP boards with internal registers at
0xf1000000:

 - 0x00000000 -&gt; 0xf0000000	3.75G 	RAM
 - 0xf0000000 -&gt; 0xf1000000	16M	NOR flashes (AXP GP / AXP DB)
 - 0xf1000000 -&gt; 0xf1100000	1M	internal registers
 - 0xf8000000 -&gt; 0xffe0000	126M	PCIe memory aperture
 - 0xf8100000 -&gt; 0xf8110000	64KB	Crypto SRAM #0	=&gt; OVERLAPS WITH PCIE !
 - 0xf8110000 -&gt; 0xf8120000	64KB	Crypto SRAM #1	=&gt; OVERLAPS WITH PCIE !
 - 0xffe00000 -&gt; 0xfff00000	1M	PCIe I/O aperture
 - 0xfff0000  -&gt; 0xffffffff	1M	BootROM

The overlap means that when PCIe devices are added, depending on their
memory window needs, they might or might not be mapped into the
physical address space. Indeed, they will not be mapped if the area
allocated in the PCIe memory aperture by the PCI core overlaps with
one of the Crypto SRAM. Typically, a Intel IGB PCIe NIC that needs 8MB
of PCIe memory will see its PCIe memory window allocated from
0xf80000000 for 8MB, which overlaps with the Crypto SRAM windows. Due
to this, the PCIe window is not created, and any attempt to access the
PCIe window makes the kernel explode:

[    3.302213] igb: Copyright (c) 2007-2014 Intel Corporation.
[    3.307841] pci 0000:00:09.0: enabling device (0140 -&gt; 0143)
[    3.313539] mvebu_mbus: cannot add window '4:f8', conflicts with another window
[    3.320870] mvebu-pcie soc:pcie-controller: Could not create MBus window at [mem 0xf8000000-0xf87fffff]: -22
[    3.330811] Unhandled fault: external abort on non-linefetch (0x1008) at 0xf08c0018

This problem does not occur on Armada 370 boards, because we use the
following memory mapping (for boards that have internal registers at
0xf1000000):

 - 0x00000000 -&gt; 0xf0000000	3.75G 	RAM
 - 0xf0000000 -&gt; 0xf1000000	16M	NOR flashes (AXP GP / AXP DB)
 - 0xf1000000 -&gt; 0xf1100000	1M	internal registers
 - 0xf1100000 -&gt; 0xf1110000	64KB	Crypto SRAM #0 =&gt; OK !
 - 0xf8000000 -&gt; 0xffe0000	126M	PCIe memory
 - 0xffe00000 -&gt; 0xfff00000	1M	PCIe I/O
 - 0xfff0000  -&gt; 0xffffffff	1M	BootROM

Obviously, the solution is to align the location of the Crypto SRAM
mappings of Armada XP to be similar with the ones on Armada 370, i.e
have them between the "internal registers" area and the beginning of
the PCIe aperture.

However, we have a special case with the OpenBlocks AX3-4 platform,
which has a 128 MB NOR flash. Currently, this NOR flash is mapped from
0xf0000000 to 0xf8000000. This is possible because on OpenBlocks
AX3-4, the internal registers are not at 0xf1000000. And this explains
why the Crypto SRAM mappings were not configured at the same place on
Armada XP.

Hence, the solution is two-fold:

 (1) Move the NOR flash mapping on Armada XP OpenBlocks AX3-4 from
     0xe8000000 to 0xf0000000. This frees the 0xf0000000 -&gt;
     0xf80000000 space.

 (2) Move the Crypto SRAM mappings on Armada XP to be similar to
     Armada 370 (except of course that Armada XP has two Crypto SRAM
     and not one).

After this patch, the memory mapping on Armada XP boards with
registers at 0xf1 is:

 - 0x00000000 -&gt; 0xf0000000	3.75G 	RAM
 - 0xf0000000 -&gt; 0xf1000000	16M	NOR flashes (AXP GP / AXP DB)
 - 0xf1000000 -&gt; 0xf1100000	1M	internal registers
 - 0xf1100000 -&gt; 0xf1110000	64KB	Crypto SRAM #0
 - 0xf1110000 -&gt; 0xf1120000	64KB	Crypto SRAM #1
 - 0xf8000000 -&gt; 0xffe0000	126M	PCIe memory
 - 0xffe00000 -&gt; 0xfff00000	1M	PCIe I/O
 - 0xfff0000  -&gt; 0xffffffff	1M	BootROM

And the memory mapping for the special case of the OpenBlocks AX3-4
(internal registers at 0xd0000000, NOR of 128 MB):

 - 0x00000000 -&gt; 0xc0000000	3G 	RAM
 - 0xd0000000 -&gt; 0xd1000000	1M	internal registers
 - 0xe800000  -&gt; 0xf0000000	128M	NOR flash
 - 0xf1100000 -&gt; 0xf1110000	64KB	Crypto SRAM #0
 - 0xf1110000 -&gt; 0xf1120000	64KB	Crypto SRAM #1
 - 0xf8000000 -&gt; 0xffe0000	126M	PCIe memory
 - 0xffe00000 -&gt; 0xfff00000	1M	PCIe I/O
 - 0xfff0000  -&gt; 0xffffffff	1M	BootROM

Fixes: c466d997bb16 ("ARM: mvebu: define crypto SRAM ranges for all armada-xp boards")
Reported-by: Phil Sutter &lt;phil@nwl.cc&gt;
Cc: Phil Sutter &lt;phil@nwl.cc&gt;
Cc: &lt;stable@vger.kernel.org&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Acked-by: Gregory CLEMENT &lt;gregory.clement@free-electrons.com&gt;
Signed-off-by: Olof Johansson &lt;olof@lixom.net&gt;
</content>
</entry>
<entry>
<title>ARM: mvebu: define crypto SRAM ranges for all armada-xp boards</title>
<updated>2015-09-29T14:16:11+00:00</updated>
<author>
<name>Boris Brezillon</name>
<email>boris.brezillon@free-electrons.com</email>
</author>
<published>2015-08-18T08:08:53+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=c466d997bb160f7c3527f8bb204b1919cbb25259'/>
<id>urn:sha1:c466d997bb160f7c3527f8bb204b1919cbb25259</id>
<content type='text'>
Define the crypto SRAM ranges so that the resources referenced by the
sa-sram node can be properly extracted from the DT.

Signed-off-by: Boris Brezillon &lt;boris.brezillon@free-electrons.com&gt;
Signed-off-by: Gregory CLEMENT &lt;gregory.clement@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>ARM: mvebu: armada-xp-openblocks-ax3-4: Disable internal RTC</title>
<updated>2015-04-27T07:27:18+00:00</updated>
<author>
<name>Gregory CLEMENT</name>
<email>gregory.clement@free-electrons.com</email>
</author>
<published>2015-04-14T09:50:13+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=750e30d4076ae5e02ad13a376e96c95a2627742c'/>
<id>urn:sha1:750e30d4076ae5e02ad13a376e96c95a2627742c</id>
<content type='text'>
There is no crystal connected to the internal RTC on the Open Block
AX3. So let's disable it in order to prevent the kernel probing the
driver uselessly. Eventually this patches removes the following
warning message from the boot log:
"rtc-mv d0010300.rtc: internal RTC not ticking"

Acked-by: Andrew Lunn &lt;andrew@lunn.ch&gt;
Signed-off-by: Gregory CLEMENT &lt;gregory.clement@free-electrons.com&gt;
Cc: &lt;stable@vger.kernel.org&gt; # v3.8 +
</content>
</entry>
<entry>
<title>ARM: mvebu: use stdout-path in all armada-*.dts</title>
<updated>2015-03-04T14:02:28+00:00</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@free-electrons.com</email>
</author>
<published>2015-03-03T14:41:02+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=9552203cb08b9802e17f19bd5c786d6a2281a04a'/>
<id>urn:sha1:9552203cb08b9802e17f19bd5c786d6a2281a04a</id>
<content type='text'>
This commit adds the stdout-path property in /chosen for all Armada
boards that were not yet carrying this property, and gets rid of
/chosen/bootargs which becomes unneeded: earlyprintk should not be
used by default, and the console= parameter is replaced by the
/chosen/stdout-path property.

Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Signed-off-by: Gregory CLEMENT &lt;gregory.clement@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>ARM: mvebu: armada-xp-openblocks-ax3-4: Relicense the device tree under GPLv2+/X11</title>
<updated>2015-01-27T01:28:13+00:00</updated>
<author>
<name>Gregory CLEMENT</name>
<email>gregory.clement@free-electrons.com</email>
</author>
<published>2015-01-26T14:16:10+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=faeb8e208723c82b6ee3a50ee472cce2b73bbef5'/>
<id>urn:sha1:faeb8e208723c82b6ee3a50ee472cce2b73bbef5</id>
<content type='text'>
The current GPL only licensing on the device tree makes it very
impractical for other software components licensed under another
license.

In order to make it easier for them to reuse our device trees,
relicense our device trees under a GPL/X11 dual-license.

Signed-off-by: Gregory CLEMENT &lt;gregory.clement@free-electrons.com&gt;
Acked-by: Ezequiel Garcia &lt;ezequiel.garcia@free-electrons.com&gt;
Acked-by: Jason Cooper &lt;jason@lakedaemon.net&gt;
Acked-by: Nobuhiro Iwamatsu &lt;iwamatsu@nigauri.org&gt;
Acked-by: Nobuhiro Iwamatsu &lt;nobuhiro.iwamatsu.yj@renesas.com&gt;
Acked-by: Sebastian Hesselbarth &lt;sebastian.hesselbarth@gmail.com&gt;
Acked-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>ARM: mvebu: armada-xp: Use pinctrl node alias</title>
<updated>2014-11-02T18:57:16+00:00</updated>
<author>
<name>Sebastian Hesselbarth</name>
<email>sebastian.hesselbarth@gmail.com</email>
</author>
<published>2014-09-19T19:20:09+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=01c434225ee67388711e78166cfe9b159e34fc9d'/>
<id>urn:sha1:01c434225ee67388711e78166cfe9b159e34fc9d</id>
<content type='text'>
Armada XP pinctrl node gained an alias, make use of it.

Signed-off-by: Sebastian Hesselbarth &lt;sebastian.hesselbarth@gmail.com&gt;
Acked-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Tested-By: Benoit Masson &lt;yahoo@perenite.com&gt;
Signed-off-by: Jason Cooper &lt;jason@lakedaemon.net&gt;
</content>
</entry>
<entry>
<title>ARM: mvebu: armada-xp: Add node alias to pinctrl and add base address</title>
<updated>2014-11-02T18:52:06+00:00</updated>
<author>
<name>Sebastian Hesselbarth</name>
<email>sebastian.hesselbarth@gmail.com</email>
</author>
<published>2014-09-19T19:12:00+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=264a05e19bf50f93f1a377e16497a626ae9f931e'/>
<id>urn:sha1:264a05e19bf50f93f1a377e16497a626ae9f931e</id>
<content type='text'>
In other MVEBU SoCs, the pin controller node is called pin-ctrl with
its base address added. Also, we have a node alias to access the pinctrl
node easily. Fix this for Armada XP pinctrl nodes to be consistent with
other SoCs.

Signed-off-by: Sebastian Hesselbarth &lt;sebastian.hesselbarth@gmail.com&gt;
Acked-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
Tested-By: Benoit Masson &lt;yahoo@perenite.com&gt;
Signed-off-by: Jason Cooper &lt;jason@lakedaemon.net&gt;
</content>
</entry>
<entry>
<title>ARM: mvebu: DT: fix OpenBlocks AX3-4 RAM size</title>
<updated>2014-06-17T15:09:37+00:00</updated>
<author>
<name>Jason Cooper</name>
<email>jason@lakedaemon.net</email>
</author>
<published>2014-06-04T13:41:20+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=e47043aea3853a74a9aa5726a1faa916d7462ab7'/>
<id>urn:sha1:e47043aea3853a74a9aa5726a1faa916d7462ab7</id>
<content type='text'>
The OpenBlocks AX3-4 has a non-DT bootloader.  It also comes with 1GB of
soldered on RAM, and a DIMM slot for expansion.

Unfortunately, atags_to_fdt() doesn't work in big-endian mode, so we see
the following failure when attempting to boot a big-endian kernel:

  686 slab pages
  17 pages shared
  0 pages swap cached
  [ pid ]   uid  tgid total_vm      rss nr_ptes swapents oom_score_adj name
  Kernel panic - not syncing: Out of memory and no killable processes...

  CPU: 1 PID: 351 Comm: kworker/u4:0 Not tainted 3.15.0-rc8-next-20140603 #1
  [&lt;c0215a54&gt;] (unwind_backtrace) from [&lt;c021160c&gt;] (show_stack+0x10/0x14)
  [&lt;c021160c&gt;] (show_stack) from [&lt;c0802500&gt;] (dump_stack+0x78/0x94)
  [&lt;c0802500&gt;] (dump_stack) from [&lt;c0800068&gt;] (panic+0x90/0x21c)
  [&lt;c0800068&gt;] (panic) from [&lt;c02b5704&gt;] (out_of_memory+0x320/0x340)
  [&lt;c02b5704&gt;] (out_of_memory) from [&lt;c02b93a0&gt;] (__alloc_pages_nodemask+0x874/0x930)
  [&lt;c02b93a0&gt;] (__alloc_pages_nodemask) from [&lt;c02d446c&gt;] (handle_mm_fault+0x744/0x96c)
  [&lt;c02d446c&gt;] (handle_mm_fault) from [&lt;c02cf250&gt;] (__get_user_pages+0xd0/0x4c0)
  [&lt;c02cf250&gt;] (__get_user_pages) from [&lt;c02f3598&gt;] (get_arg_page+0x54/0xbc)
  [&lt;c02f3598&gt;] (get_arg_page) from [&lt;c02f3878&gt;] (copy_strings+0x278/0x29c)
  [&lt;c02f3878&gt;] (copy_strings) from [&lt;c02f38bc&gt;] (copy_strings_kernel+0x20/0x28)
  [&lt;c02f38bc&gt;] (copy_strings_kernel) from [&lt;c02f4f1c&gt;] (do_execve+0x3a8/0x4c8)
  [&lt;c02f4f1c&gt;] (do_execve) from [&lt;c025ac10&gt;] (____call_usermodehelper+0x15c/0x194)
  [&lt;c025ac10&gt;] (____call_usermodehelper) from [&lt;c020e9b8&gt;] (ret_from_fork+0x14/0x3c)
  CPU0: stopping
  CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.15.0-rc8-next-20140603 #1
  [&lt;c0215a54&gt;] (unwind_backtrace) from [&lt;c021160c&gt;] (show_stack+0x10/0x14)
  [&lt;c021160c&gt;] (show_stack) from [&lt;c0802500&gt;] (dump_stack+0x78/0x94)
  [&lt;c0802500&gt;] (dump_stack) from [&lt;c021429c&gt;] (handle_IPI+0x138/0x174)
  [&lt;c021429c&gt;] (handle_IPI) from [&lt;c02087f0&gt;] (armada_370_xp_handle_irq+0xb0/0xcc)
  [&lt;c02087f0&gt;] (armada_370_xp_handle_irq) from [&lt;c0212100&gt;] (__irq_svc+0x40/0x50)
  Exception stack(0xc0b6bf68 to 0xc0b6bfb0)
  bf60:                   e9fad598 00000000 00f509a3 00000000 c0b6a000 c0b724c4
  bf80: c0b72458 c0b6a000 00000000 00000000 c0b66da0 c0b6a000 00000000 c0b6bfb0
  bfa0: c027bb94 c027bb24 60000313 ffffffff
  [&lt;c0212100&gt;] (__irq_svc) from [&lt;c027bb24&gt;] (cpu_startup_entry+0x54/0x214)
  [&lt;c027bb24&gt;] (cpu_startup_entry) from [&lt;c0ac5b30&gt;] (start_kernel+0x318/0x37c)
  [&lt;c0ac5b30&gt;] (start_kernel) from [&lt;00208078&gt;] (0x208078)
  ---[ end Kernel panic - not syncing: Out of memory and no killable processes...

A similar failure will also occur if ARM_ATAG_DTB_COMPAT isn't selected.

Fix this by setting a sane default (1 GB) in the dts file.

Signed-off-by: Jason Cooper &lt;jason@lakedaemon.net&gt;
Tested-by: Kevin Hilman &lt;khilman@linaro.org&gt;
Cc: &lt;stable@vger.kernel.org&gt; #v3.13+
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
</content>
</entry>
</feed>
