Commit graph

691,473 commits

Author SHA1 Message Date
Arnd Bergmann
8be31869ee ARM: DTS: Add new bindings for K2G and the K2G evm
K2G SoC family is the newest version of the Keystone family of processors.
 
 The technical reference manual for K2G can be found here:
 http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIbBAABAgAGBQJWzzpUAAoJEHJsHOdBp5c/R6UP9AwtZO3ylEPWdJ2AvWwPO9R1
 r7y73jGvKSwPZSVaF1VcyMgcdiNicczjrNH2WY7rLpbP+SlnsksUMEJLmt0TzEfj
 I/hgh0WDOWGIwXZbg2RKa3MQC4BW0KolKXfFqKnq7cOk9sYTMsLYN69aienZAjCm
 1L44wIIieytlUg01I9O/8M+URA5rqELBBudHNgnR/Qd3rlG0sPfP+mGJjfyxYIt0
 JMpQNc2vVaiOAL7JBILZCwj0Cjd6rPkKd6tpm4v1XFXNC/XmT3wHbB8op1dXrE5t
 IKDHl/87hLEZgz3Qvho2p7g0VlQ9m+nq6eUcnehdjlUv/6iqC+yEz7pYKp/to0Sg
 y33PPvS+MRHZtp2o+TSrWBSZo9uL1d4JyOq83VLFKCwrOoxY5lvEU3/EuF1ove18
 tKvM0ZIlt3mRNxG8ONLuz8xF5Dl8HSLgvMGaEM1VHBetsMsfXJDVsAaKrD2DT9lR
 DfOg11yGot4JQXW3ecTHDkaZlaJ1vLDspYCCaHpE8S3ghAjvo6N94jHXiEU0GQlN
 Ry+qBHvn1ImvxUBt+4kMi/GDUY6zAVktbSzi0IeEx8dRTWmRI1/8MbS/i7URX8ch
 pOJlrbS/5FYx1WT8IqsYfqs3tkuPQHqn8MSZWmKHPPIgIzV3sAAjW2I4c/46pHt3
 G3KjqahwjupWQclxQqg=
 =DF9n
 -----END PGP SIGNATURE-----

Merge tag 'keystone_dts_for_4.6_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt

Merge "ARM: Keystone DTS for 4.6" from Santosh Shilimkar:

ARM: DTS: Add new bindings for K2G and the K2G evm

K2G SoC family is the newest version of the Keystone family of processors.

The technical reference manual for K2G can be found here:
http://www.ti.com/lit/ug/spruhy8/spruhy8.pdf

* tag 'keystone_dts_for_4.6_v2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone:
  ARM: dts: keystone: Add minimum support for K2G evm
  ARM: dts: keystone: Add Initial DT support for TI K2G SoC family
  ARM: keystone: Create new binding for K2G SoC
2016-02-26 22:46:39 +01:00
Jan Luebbe
bd3d4f5385 ARM: multi_v5_defconfig: Enable initramfs support
This makes it possible to automatically boot-test this defconfig with
kernelci.org.

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-02-26 22:44:52 +01:00
Jan Luebbe
c0ea07f402 ARM: multi_v5_defconfig: Cleanup multi_v5_defconfig
Regenerate multi_v5_defconfig by running:
make multi_v5_defconfig
make savedefconfig
mv defconfig arch/arm/configs/multi_v5_defconfig

Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-02-26 22:44:45 +01:00
Arnd Bergmann
8bba98a8c1 Pass dma_slave_map data to EDMA driver. This will help
migration to new DMA engine API for requesting
 slave channels dma_request_chan().
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.10 (GNU/Linux)
 
 iQIcBAABAgAGBQJWzCkLAAoJEGFBu2jqvgRN0foP/RHPIoLbwmQKXguh2j/vxLSP
 GANjOsJTn9AzINSH0emDZF9MpJMqdSf2OTAvt6FuGtToxmZUpmM575Ye9wWZ2V22
 7cXb3S/VUga4mczkaYvFsJYxcp9VFEphKD+jZ9MCNhhgPs/xSi++XQc4D+RnN5VX
 95Z6AhwFWyITkllfVh+J3b6Rqnb/JBka43KQWQDsYSSw0w7QvOOFW8L7n4oFEy30
 mVarxDk6cFd2oXDm42N+CDO6143QJWlt1sy8xoSNKJGjjVbJ5Pu5kofzVWEtezrZ
 r5Sg3+8ZobKman8jlL/ZyjgXOhP24dXD7eUXsbYZXaSEwG2LmXzZvo3yxlXoiUfP
 CgRvmlRqJKNO0/OtNp5qBIKpPJrp9lrSHtAtYdETMkrTel91rEq4AXB5XeIA/HNZ
 kWakX7WEhj9KP85n5DdA23ygDr1uRG8jZmzp6ChJtUv8POzN5LnjGq4eS3Tl+VHs
 K0LGD7PXe+w1dD1Sc9W0whDuJ0UihlMVyqHqOV6dQiX5VrDB/4pPJvPaWfvffKeM
 uHJAf5W46tU8eiqMZe1PdnXkKipqpg0iUR++u8TRixzfAWULrDH19p0xCevWyfo3
 mXjMG1/9/O3eqIreR6xkHPEg0vreEmCuuManA2zN+W7hBBK/n2dEHNeSfkh9FvF1
 cY6vVpTN+J407/zzX1bT
 =p7iU
 -----END PGP SIGNATURE-----

Merge tag 'davinci-for-v4.6/edma' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/soc

Merge "DaVinci EDMA enhancements for v4.6" from Sekhar Nori:

Pass dma_slave_map data to EDMA driver. This will help
migration to new DMA engine API for requesting
slave channels dma_request_chan().

* tag 'davinci-for-v4.6/edma' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci:
  ARM: davinci: dm646x: Add dma_slave_map to edma
  ARM: davinci: dm644x: Add dma_slave_map to edma
  ARM: davinci: dm365: Add dma_slave_map to edma
  ARM: davinci: dm355: Add dma_slave_map to edma
  ARM: davinci: devices-da8xx: Add dma_slave_map to edma
2016-02-26 22:42:05 +01:00
Arnd Bergmann
ac838df7f8 Renesas ARM Based SoC Updates for v4.6
* Enable PM and PM_GENERIC_DOMAINS for SoCs with PM Domains
 * Move emev2_smp_ops to emev2
 * Remove legacy map_io callbacks on r8a7740 and emev2 SoCs
 * Migrate to generic l2c OF initialization on r8a7740
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWzQCsAAoJENfPZGlqN0++BH8P/ij8vWOl5wLU3ZWBcC+2nnbR
 bQxYt9RFSDHGLkl812V2w3hefPFVVGp8CIJHGT7uFbcENahBDSbbn+hx0aWZyKzg
 jK0B7nkfY75iqhpbHKgUaOY678qYwnDRCUVZxmUqQC2xhldz6nlPcd6zgJxr5UF8
 V+Yj4FV4zjoJ5WUKW7fZKN/f3yAR/5T7QPfxpuM8MDrpxaCM4tMn9Ns7R3MQm1Wc
 BVHmA/1lygAkcHhMedCABAiHzeq/8fKxgHnUvuXQlSOt9BCnnrr6NQPYUJUqxXba
 yXjrQ79BMv+aF3uL/y+pKZ+y44z8iSv1k5jh7CJRlBvGSM0bIED+nDOiKw5VCZ/K
 4J4qQ0dqyvyYKQq0RbnZcRGy9SQAUwptyNhJuRG+myzmjlJzdG8LbW4nJ/+QdjHU
 NxkgDa00nN5sb/EI2U5ZwRG/IeeHyTrRXK7oSOO//9gmjmaX6lkJRosF4yEAlwgZ
 gE3S4/FExg3qjlQt+gpcrlifl60YomXt4bOUU+iRZ26HDmzPpVTA9m8m3S5Dh94d
 931T5HDSi5+gJCoKI2LJyNLzyTavzlYZH9SSRRtsY+A+7tTKv9AOGtd+XuIjXnsk
 MgAr97u7RpwkNe+YGtf8NXzv5phdoIrI9VlOvJKp53X84i4q+z2vc4u5MAMC/MOV
 MQn5n+e9ChcFibuWUoXb
 =tw8Z
 -----END PGP SIGNATURE-----

Merge tag 'renesas-soc-for-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc

Merge "Renesas ARM Based SoC Updates for v4.6" from Simon Horman:

* Enable PM and PM_GENERIC_DOMAINS for SoCs with PM Domains
* Move emev2_smp_ops to emev2
* Remove legacy map_io callbacks on r8a7740 and emev2 SoCs
* Migrate to generic l2c OF initialization on r8a7740

* tag 'renesas-soc-for-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Enable PM and PM_GENERIC_DOMAINS for SoCs with PM Domains
  ARM: shmobile: emev2: Move declaration of emev2_smp_ops to emev2.h
  ARM: shmobile: emev2: Remove legacy machine_desc.map_io() callback
  ARM: shmobile: r8a7740: Remove legacy machine_desc.map_io() callback
  ARM: shmobile: r8a7740: Remove mapping of L2 cache controller registers
  ARM: shmobile: r8a7740: Migrate to generic l2c OF initialization
2016-02-26 22:39:45 +01:00
Arnd Bergmann
b8d56b61af Second Round of Renesas ARM Based SoC Cleanup for v4.6
* Remove stale comment from Kconfig
 * Consolidate SCU mapping code
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIbBAABAgAGBQJWzQH2AAoJENfPZGlqN0++//kP91uA0cVhvdjTHF6P4EFGFRoe
 vYEQlzNOVkqeNPd/Vx1VdD6sAXlhQ11rxAzkAtaD1mX6zQlV3cLS+ouxjufuqGg/
 Gw0Abjhi7+yIstg0MYb0Q/WZ4yfuscyXf2VKEudiX1p/YSpYKAXA1PRzitO4Vh/V
 RSo1e0P70WpKlkqwXlOx4USrM50zXsJCX73x4JRQjw82rLuTMNaUXsA4Vl7hI091
 FT1tumiQ0TgzO7DLFfMqbSf8YwlzbZeiBrTyp7pmpdWEO7L2vDuk5rGnzpY14eHu
 TEK2aT+bAK41mFme7rtYic1OG3L4H4zSOBSGpuJNanp+Dw0r4PO9Ro5hgorNBweV
 2NY/qv9i5FZQ+5XEdN+vsALDIZXxa0T+c/LMbv8NUsuSXCIxYeJ7EHAaGF809tkh
 BNxww1aEPc0ak+ClY3NOXgtD7OycVOOIjsUT3Xhj0Pk+aNZSz48qUACBo03NzJR2
 6aTIWGvuN/saz4soeYtwMD8Z5SzLiJaLF2ud8msTlVFvP0HCeGztdrdwNQwBzaaS
 eTS0cMLvjdkEI8mH+5cZ+5g3R/O3XiaPOD7OjwLwAlQNjAdK9IIf0NqNBgqHSVi2
 jYU+xAaHrYpd6rSDe8gbS9F86i59++/AmtmdkFy4e3P+5qD58+hVYYCClONm3zAN
 Z4i09eAjsd3wHCnZPdo=
 =vtm3
 -----END PGP SIGNATURE-----

Merge tag 'renesas-cleanup2-for-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup

Merge "Second Round of Renesas ARM Based SoC Cleanup for v4.6" from Simon Horman:

* Remove stale comment from Kconfig
* Consolidate SCU mapping code

* tag 'renesas-cleanup2-for-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: Kconfig: Get rid of old comment
  ARM: shmobile: Consolidate SCU mapping code
2016-02-26 22:37:32 +01:00
Namhyung Kim
cb1fab9172 perf report: Left align dynamic entries in hierarchy
The dynamic entries are right-aligned unlike other entries since it
usually has numeric value.  But for the hierarchy mode, left alignment
is more appropriate IMHO.  Also trim spaces on the left so that we can
easily identify the hierarchy.

Before:

  $ perf report --hierarchy -i perf.data.kmem -s gfp_flags,ptr,bytes_req --stdio -g none
  ...
  #
  #       Overhead                                        gfp_flags /                ptr /          bytes_req
  # ..............  .................................................................................................
  #
      91.67%                   GFP_ATOMIC|GFP_NOWARN|GFP_NOMEMALLOC
         37.50%        0xffff8803f7669400
            37.50%                       448
          8.33%        0xffff8803f766be00
             8.33%                        96
          4.17%        0xffff8800d156dc00
             4.17%                       704

After:

  #       Overhead  gfp_flags / ptr / bytes_req
  # ..............  ....................................
  #
      91.67%        GFP_ATOMIC|GFP_NOWARN|GFP_NOMEMALLOC
         37.50%        0xffff8803f7669400
            37.50%        448
          8.33%        0xffff8803f766be00
             8.33%        96
          4.17%        0xffff8800d156dc00
             4.17%        704

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1456512767-1164-3-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2016-02-26 18:37:06 -03:00
Namhyung Kim
d3a72fd818 perf report: Fix indentation of dynamic entries in hierarchy
When dynamic entries are used in the hierarchy mode with multiple
events, the output might not be aligned properly.  In the hierarchy
mode, the each sort column is indented using total number of sort keys.
So it keeps track of number of sort keys when adding them.  However
a dynamic sort key can be added more than once when multiple events have
same field names.  This results in unnecessarily long indentation in the
output.

For example perf kmem records following events:

  $ perf evlist --trace-fields -i perf.data.kmem
  kmem:kmalloc: trace_fields: call_site,ptr,bytes_req,bytes_alloc,gfp_flags
  kmem:kmalloc_node: trace_fields: call_site,ptr,bytes_req,bytes_alloc,gfp_flags,node
  kmem:kfree: trace_fields: call_site,ptr
  kmem:kmem_cache_alloc: trace_fields: call_site,ptr,bytes_req,bytes_alloc,gfp_flags
  kmem:kmem_cache_alloc_node: trace_fields: call_site,ptr,bytes_req,bytes_alloc,gfp_flags,node
  kmem:kmem_cache_free: trace_fields: call_site,ptr
  kmem:mm_page_alloc: trace_fields: page,order,gfp_flags,migratetype
  kmem:mm_page_free: trace_fields: page,order

As you can see, many field names shared between kmem events.  So adding
'ptr' dynamic sort key alone will set nr_sort_keys to 6.  And this adds
many unnecessary spaces between columns.

Before:

  $ perf report -i perf.data.kmem --hierarchy -s ptr -g none --stdio
  ...
  #                Overhead                 ptr
  # .......................  ...................................
  #
      99.89%                 0xffff8803ffb79720
       0.06%                 0xffff8803d228a000
       0.03%                 0xffff8803f7678f00
       0.00%                 0xffff880401dc5280
       0.00%                 0xffff880406172380
       0.00%                 0xffff8803ffac3a00
       0.00%                 0xffff8803ffac1600

After:

  # Overhead                 ptr
  # ........  ....................
  #
      99.89%  0xffff8803ffb79720
       0.06%  0xffff8803d228a000
       0.03%  0xffff8803f7678f00
       0.00%  0xffff880401dc5280
       0.00%  0xffff880406172380
       0.00%  0xffff8803ffac3a00
       0.00%  0xffff8803ffac1600

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1456512767-1164-2-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2016-02-26 18:36:11 -03:00
Namhyung Kim
84b6ee8ea3 perf hists: Fix comparing of dynamic entries
When hist_entry__cmp() and hist_entry__collapse() are called, they
should check if the dynamic entry is comparing matching hists only.

Otherwise it might access different hists resulting in incorrect output.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1456512767-1164-1-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2016-02-26 18:35:57 -03:00
Arnd Bergmann
0314df7752 Device tree changes for omaps for v4.6 merge window. Mostly just
adding board specific devices and few new boards:
 
 - N900 improvments for adp1653 and gpio keys
 
 - Add missing bandgap data for omap3
 
 - Add more devices for compulab cm-t335
 
 - Add n950 WLAN support, enable modem, add pinctrl for SSI
 
 - Correct dm814x and dra62x auxclk rate, add support for GPMC and NAND
 
 - Add syscon node for PHY's on dra7
 
 - Add support more devices on logicpd torpedo
 
 - Add USB host support for igep and specify boot console
 
 - Fix audio clock for am335x-sl50 and specify boot console
 
 - Remove deprecated tx-fifo-resize for dwc3 that was only used on
   omap5 es1.0
 
 - Add dra7 thermal data
 
 - Update am43x-epos-evm compatible string to am438
 
 - Add support for logicpd dm3730 som-lv
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJWy4IvAAoJEBvUPslcq6VzltUQANe4c57XO4HeECaagmPmz5b7
 lU80Yv5NLuTcJaTcsDxTrwip/Nh8XEFFmvR4nUYSZF/fzATBW4LtVfiS58RZZ0to
 njv8SD6C7TlfcgHNJ+oWIDH6TRkgoNEzo5N225itTUoxbzTxnhVDLkeLddl8Q14g
 oFVhrMClXA+l/zyNOq7uJWaU+EQ0drhJcsd8/QLeILLG1PQ4XANg8dXxF0DsW9t0
 gdBEDRlC7/eRmC5ZhFRHIor9CwidsdA2OKyNsG9oG6qIt4tCbVlP4UNmDXPhmFn/
 b5onsjBm5ggys3cb361LSiqffyHYlllr6hhAydPyutwpm/q46mnsuDv0+j0bC2YS
 2H9qMP3BVTVvBquaqdpYHqlDeiAnyrdCqcb6TrwlV4ztafgSXfoA51X4TMMcw6YS
 /naxdjy3YV2peMFwVd4cs8aLBVWPxGNMse5FeXeRPra23N2QHOLicNSlmBrEJJ01
 PSRI9nJSfkEiWrJpkPrGvjPAZM9A6B5IA2Rwo2SXjGhCxTm5a1u2vgS8KQ41TgAV
 8vaPrEdPowLCw85bQ/OJ2mad2iszN5A9+EbpVRoTN+ygvTH7ujTI7MvF8swPmol/
 pjkI5kptaI/SLIrH4yWZdPIvqRRH+rVX/crVJqmkiQHnuMjDCPFOXG0P5NLDPELc
 IDZxmDn15ahPpSPJdke5
 =pqea
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.6/dt-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt

Device tree changes for omaps for v4.6 merge window. Mostly just
adding board specific devices and few new boards:

- N900 improvments for adp1653 and gpio keys

- Add missing bandgap data for omap3

- Add more devices for compulab cm-t335

- Add n950 WLAN support, enable modem, add pinctrl for SSI

- Correct dm814x and dra62x auxclk rate, add support for GPMC and NAND

- Add syscon node for PHY's on dra7

- Add support more devices on logicpd torpedo

- Add USB host support for igep and specify boot console

- Fix audio clock for am335x-sl50 and specify boot console

- Remove deprecated tx-fifo-resize for dwc3 that was only used on
  omap5 es1.0

- Add dra7 thermal data

- Update am43x-epos-evm compatible string to am438

- Add support for logicpd dm3730 som-lv

* tag 'omap-for-v4.6/dt-pt1' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (38 commits)
  ARM: dts: am57xx-beagle-x15: Add eeprom information
  ARM: dts: Add HSUSB2 EHCI Support to Logic PD DM37xx SOM-LV
  ARM: dts: n900: Use linux input defines instead hardcoded constants
  ARM: DTS: Add minimal Support for Logic PD DM3730 SOM-LV
  ARM: dts: omap3logic: Add PWM-Backlight
  ARM: dts: omap3-n900: Allow gpio keys to be disabled
  ARM: dts: am43x-epos-evm: Add the am438 compatible string
  ARM: dts: DRA7: Add missing IVA and DSPEVE thermal domain data
  ARM: dts: DRA7: Add IVA thermal data
  ARM: dts: DRA7: Add DSPEVE thermal data
  ARM: dts: remove deprecated property dwc3
  ARM: dts: OMAP3-N950-N9: Add ssi idle pinctrl state
  ARM: dts: am335x-sl50: Fix audio codec setup.
  ARM: dts: am335x-sl50: Specify the device to be used for boot console output.
  ARM: dts: omap3-igep0030-common: Add USB Host support
  ARM: dts: igep00x0: Specify the device to be used for boot console output.
  ARM: dts: LogicPD Torpedo: Set HSUSB0 Pin Mux
  ARM: dts: OMAP3-N950-N9: Enable modem
  ARM: dts: OMAP3-N950-N9: Enable SSI module
  ARM: dts: LogicPD Torpedo: Add SPI EEPROM
  ...
2016-02-26 22:33:52 +01:00
Arnd Bergmann
f6c7017c60 Add nor-flash to mt8173 SoC.
Add efuse device to mt1873 SoC.
 Fix power-domain issue mt8173-evb which uses older chip revision.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJWyuyIAAoJELQ5Ylss8dNDTCwP/0zxGGAFsulImbY/NBs1Ho8W
 uukfro+mAMDvJbzV8qgNU4knBLMryPWMp/RGXVwNb2EPCazf8vxGQOy9+hNh19mF
 01CLqs0T3HVb3F1G1ZmpCz/BJy2D6pdLXBMF6fzdglxhUt4aiO5OxLpUFpcB45l5
 vBjPxGEA1/192s7+2aHQKBANd+qYfkQB+Xt7nXIrhuV6cEkzKX4aPehIy1vvGMEm
 NC7+zZpQKaYvlbu6GL94/ZFtBHzF9TmYgQSb305ML35zZSk+zfb3CeH/i4L9RUBC
 DB8Of6Oy6oku+m6Pk+OzjH+vfN6EOyDfxJt010J5zqZXjJv4BhZv8gMawuKjKUek
 HuELW0lY4ArxBOoQ8rftzXIXzKAwK79Ir0tMIY7hXzRr/4i/iTuY4IcNE/TjiHV8
 KsTsMmHAdCzkLrTqasad743NBHOEARA+HEiM0pne/us/oaPznJ2cC5LC2t+UBqnY
 G481YhG/nVlk2dSthMjwsct8Zt6agfSH+YBDurYwep31G2gIwjqT9GEoiVrmGRVw
 NlMIhbA3GFNiUP+EGALDvVTbb0Q86Y4oI+dh+iLdHQXtw66rUoqyJDLJWHkZoOL6
 V3dUMSV+PuB1z7z6a59ihnVIKlHzk4hPYgUBLvd0mHTBI/ZQp7/RZze0osTHIY56
 i+RSMpxi4ZU2m7PGvZfe
 =fziL
 -----END PGP SIGNATURE-----

Merge tag 'v4.5-next-dts64' of https://github.com/mbgg/linux-mediatek into next/dt64

Merge "ARM: mediatek: dts updates for v4.6" from Matthias Brugger:

Add nor-flash to mt8173 SoC.
Add efuse device to mt8173 SoC.
Fix power-domain issue mt8173-evb which uses older chip revision.

* tag 'v4.5-next-dts64' of https://github.com/mbgg/linux-mediatek:
  ARM64: dts: Mediatek: mt8173-evb: fix access MMC fail issue
  dts: arm64: Add EFUSE device node
  arm64: dts: mt8173: Add nor flash node
2016-02-26 22:29:42 +01:00
Arnd Bergmann
b43aa5c01b Fix state machine implemenation of PMIC wrapper.
Add SMP support for mt7623.
 Disable watchdog of STAUPD in PMIC wrapper for mt8173.
 Add SMP support for mt2701.
 Use builtin_platform_driver for scpsys. Driver can't be build as module.
 Fix regulator enablement in scpsys.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJWyvK1AAoJELQ5Ylss8dNDjYsQAKRE7ufUWSFTv+3B2YZkaek8
 rIR1te+Fs7IjQq1/paijrTWtYWINCsnjR55v49hq57Z/4fZIfjaj+3nrSHv0d/nk
 TWJAM0uhdWox4UKVl3jfliNjGHLjaKlmTgHIFeOY2uBE1Is2kV4uKWeVi+VKLiog
 Vh8okCQ+ih046x/rZ2BU4Y2JOE9JGYqYSOtr01IcrE4DYERHjRasmRKLzhfMYJew
 AXCXzl9AhC1QGEOKRtZJXHVhWEnuiGEscnetXfOJUJdJmfDBFyKegOgEqE6j4+zW
 wsB4aIBjJ7Jq638RI84WTveLdDJlvYE1qlskgciC/6B6t7r7Cjkwv4dA9OKjVI7m
 L6f2bpvnJpYr4fMxwSe1G1eLeGd1RuXdpx609jG5zGXDNtU2ZTgzOcPiMiDO8UCu
 SuzjIlVZXb4LxR3WruR1Yu65jfqH9+HqOgwnxiuNcx8LzUGJ7nOLe0BPynARA3O0
 QrAmsFjRCQBI/fH++FKo1TG0xZCipQXPBDjCWW2ffHITIhW/Svx40+V42RiG4UOb
 COnxJ/N1J8NBq/tgwi6iXUdXL2g6+j0BNgjPglzCMEukStYc+nTKpMtFqpqdTpoN
 Jj8f8+iRG0RIPhHHKjGJStiCqq8mwz+ECmLnIboVcIbZkWRMebcJECEFubtp09sY
 meabfM/GPWzewy7oG8cS
 =S4wN
 -----END PGP SIGNATURE-----

Merge tag 'v4.5-next-soc' of https://github.com/mbgg/linux-mediatek into next/soc

Merge "ARM: mediatek: soc updates for v4.6" from Matthias Brugger:

Fix state machine implemenation of PMIC wrapper.
Add SMP support for mt7623.
Disable watchdog of STAUPD in PMIC wrapper for mt8173.
Add SMP support for mt2701.
Use builtin_platform_driver for scpsys. Driver can't be build as module.
Fix regulator enablement in scpsys.

* tag 'v4.5-next-soc' of https://github.com/mbgg/linux-mediatek:
  soc: mediatek: SCPSYS: Fix double enabling of regulators
  soc: mediatek: SCPSYS: use builtin_platform_driver
  ARM: mediatek: add mt2701 smp bringup code
  soc: mediatek: PMIC wrap: clear the STAUPD_TRIG bit of WDT_SRC_EN
  ARM: mediatek: add MT7623 smp bringup code
  soc: mediatek: PMIC wrap: Clear the vldclr if state machine stay on FSM_VLDCLR state.
2016-02-26 22:27:22 +01:00
Arnd Bergmann
1df1e5bf87 Add support for mt7623 SoC.
Enable SMP support for mt7623.
 Enable SMP support for mt2701
 Add pinctrl for mt2701
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJWyu0GAAoJELQ5Ylss8dNDjb8QAJ6PJW+sntG8KnCXEorbrFUV
 ArOqQ8JTXtbRNG3n7kfJF+JTrseUggSilBsmS1VOaJq1tu6B3vJcLh+X08+QqMDd
 WE+2rkk1cd0xgcsZSHr/n2d8SHuvTpPIEgkIH477WdCj3DZSZ79OyAiQ22gN7qrb
 e4gD33HpJNpwTWxPnWLSSDwnEuU/jMCjURR8xw3G56RIgJzm9yGKplVP3ixjnFTO
 TH7i2f/zNpMj+q2s3p0Wadbxc8/hoV4zOsGaiSPGjy5EeNUCXHHoZ3YZAh4WxrTo
 b1tMdbAygh9p/WDReRmZpYZsnKj32ZeyDZXaXpKSENlVE9w4eY+sJ8wkuY3OIuFC
 cR/1Hlo4skjeNGJV7iKZ3842dIHD1Bd/6b5SNfR2+Is1dV84hg56ORMaJ3UFGIM5
 ioQ7TufezLQACfzLdRUrSLu4E2IpIGBaclSk9rYYJBBHQThrbp8XUMHmCkbWSujb
 1zkZD9mRCwXNSjR9wt5WA9+Z5z2Rd2faow8z0fF8/po5ecgZm9056vbJHJsrX22/
 2gntYacO8aqQt6A1LCCkdDWxIw0/vqTpbFjCHG359dHaFtVN4vpaapvx+Ldhbagc
 ObGjtQu9loMfG0lAkSYX5SsVY9Uc3omIHjLdTfI9laemoMoFtwAICC+EdHapoj0S
 YT8m6/fzg01KgPGAfO2V
 =JHE5
 -----END PGP SIGNATURE-----

Merge tag 'v4.5-next-dts' of https://github.com/mbgg/linux-mediatek into next/dt

Merge "ARM: mediatek: dts updates for v4.6" from Matthias Brugger:

Add support for mt7623 SoC.
Enable SMP support for mt7623.
Enable SMP support for mt2701
Add pinctrl for mt2701

* tag 'v4.5-next-dts' of https://github.com/mbgg/linux-mediatek:
  arm: dts: Add pinctrl/GPIO/EINT node for mt2701
  ARM: dts: mt2701: enable basic SMP bringup for mt2701
  ARM: dts: mt7623: enable SMP bringup
  ARM: dts: mediatek: add MT7623 basic support
  Document: DT: Add bindings for mediatek MT7623 SoC Platform
2016-02-26 22:25:34 +01:00
Shilpasri G Bhat
c5e29ea7ac cpufreq: powernv: Fix bugs in powernv_cpufreq_{init/exit}
Unregister the notifiers if cpufreq_driver_register() fails in
powernv_cpufreq_init(). Re-arrange the unregistration and cleanup routines
in powernv_cpufreq_exit() to free all the resources after the driver
has unregistered.

Signed-off-by: Shilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-02-26 22:18:19 +01:00
Srinivas Pandruvada
f05c966585 cpufreq: intel_pstate: disable HWP notifications
Disable HWP Interrupt notification before enabling HWP. Since we don't
have HWP interrupt handling for possible performance interrupts, there
is not much use of enabling HWP interrupts.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-02-26 22:15:38 +01:00
Srinivas Pandruvada
7791e4aa59 cpufreq: intel_pstate: Enable HWP by default
If the processor supports HWP, enable it by default without checking
for the cpu model. This will allow to enable HWP in all supported
processors without driver change.

Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2016-02-26 22:15:38 +01:00
Colin Ian King
9bf148cb08 x86/mpx: Fix off-by-one comparison with nr_registers
In the unlikely event that regno == nr_registers then we get an array
overrun on regoff because the invalid register check is currently
off-by-one. Fix this with a check that regno is >= nr_registers instead.

Detected with static analysis using CoverityScan.

Fixes: fcc7ffd679 "x86, mpx: Decode MPX instruction to get bound violation information"
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: "Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>
Cc: stable@vger.kernel.org
Link: http://lkml.kernel.org/r/1456512931-3388-1-git-send-email-colin.king@canonical.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2016-02-26 22:12:47 +01:00
Rafael J. Wysocki
34b0870515 cpufreq: Simplify the cpufreq_for_each_valid_entry()
That macro uses an internal static inline function that is first
totally unnecessary and second hard to read, so simplify it and
get rid of that monster.

No functional changes.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
2016-02-26 22:11:56 +01:00
Rafael J. Wysocki
9a909a142f cpufreq: acpi-cpufreq: Drop pointless label from acpi_cpufreq_target()
The "out" label at the final return statement in acpi_cpufreq_target()
is totally pointless, so drop them and modify the code to return the
right values immediately instead of jumping to it.

No functional changes.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
2016-02-26 22:11:55 +01:00
Rafael J. Wysocki
6019d23a73 cpufreq: Rearrange __cpufreq_driver_target()
Drop a pointless label at a return statement from
__cpufreq_driver_target() and rearrange that function
to reduce the indentation level.

No intentional functional changes.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
2016-02-26 22:11:55 +01:00
MINOURA Makoto / 箕浦 真
472681d57a net: ndo_fdb_dump should report -EMSGSIZE to rtnl_fdb_dump.
When the send skbuff reaches the end, nlmsg_put and friends returns
-EMSGSIZE but it is silently thrown away in ndo_fdb_dump. It is called
within a for_each_netdev loop and the first fdb entry of a following
netdev could fit in the remaining skbuff.  This breaks the mechanism
of cb->args[0] and idx to keep track of the entries that are already
dumped, which results missing entries in bridge fdb show command.

Signed-off-by: Minoura Makoto <minoura@valinux.co.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-02-26 15:04:02 -05:00
David S. Miller
e1bae75d85 Merge branch '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue
Jeff Kirsher says:

====================
1GbE Intel Wired LAN Driver Updates 2016-02-24

This series contains updates to e1000e, igb and igbvf.

Raanan provides updates for e1000e, first increases the ULP timer since it
now takes longer for the ULP exit to complete on Skylake.  Fixes the
configuration of the internal hardware PHY clock gating mechanism, which was
causing packet loss due to mis configuring.  Fixed additional ULP
configuration settings which were not being properly cleared after cable
connect in V-Pro capable systems.  Added support for more i219 devices.

Takuma Ueba provides a fix for I210 where IPv6 autoconf test sometimes
fails due to DAD NS for link-local is not transmitted.  To avoid this
issue, we need to wait until 1000BASE-T status register "Remote receiver
status OK".

Todd provides a patch to override EEPROM WoL settings for specific OEM
devices. Then renamed igb defines to be more generic, since the define
E1000_MRQC_ENABLE_RSS_4Q enables 4 and 8 queues depending on the part.

Roland Hii fixes an issue where only the half cycle time of less than or
equal to 70 millisecond uses the I210 clock output function.  His patch
adds additional conditions when half cycle time is equal to 125 or 250 or
500 millisecond to use the clock output function.

Alex Duyck adds support for generic transmit checksums for igb and igbvf.

Jon Maxwell fixes an issues where customer applications are registering
and un-registering multicast addresses every few seconds which is leading
to many "Link is up" messages in the logs as a result of the
netif_carrier_off(netdev) in igbvf_msix_other().  So remove the
link is up message when registering multicast addresses.

Corinna Vinschen provides a fix for when switching off VLAN offloading on
i350, the VLAN interface becomes unusable.

Stefan Assmann updates the driver to use ndo_stop() instead of
dev_close() when running ethtool offline self test.  Since dev_close()
causes IFF_UP to be cleared which will remove the interfaces routes
and some addresses.

v2: Dropped patches 6-10 in the original series.  Patch 6-7 added support
    for character device for AVB and based on community feedback, we do not
    want to do this.  Patches 8-10 provided fixes to the problematic code
    added in patches 6 & 7.  So all of them must go!
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2016-02-26 14:57:37 -05:00
Chao Yu
19c7377b56 f2fs: fix to avoid deadlock when merging inline data
When testing with fsstress, kworker and user threads were both blocked:

INFO: task kworker/u16:1:16580 blocked for more than 120 seconds.
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
kworker/u16:1   D ffff8803f2595390     0 16580      2 0x00000000
Workqueue: writeback bdi_writeback_workfn (flush-251:0)
 ffff8802730e5760 0000000000000046 ffff880274729fc0 0000000000012440
 ffff8802730e5fd8 ffff8802730e4010 0000000000012440 0000000000012440
 ffff8802730e5fd8 0000000000012440 ffff880274729fc0 ffff88026eb50000
Call Trace:
 [<ffffffff816fe9d9>] schedule+0x29/0x70
 [<ffffffff816ff895>] rwsem_down_read_failed+0xa5/0xf9
 [<ffffffff81378584>] call_rwsem_down_read_failed+0x14/0x30
 [<ffffffffa0694feb>] f2fs_write_data_page+0x31b/0x420 [f2fs]
 [<ffffffffa0690f1a>] __f2fs_writepage+0x1a/0x50 [f2fs]
 [<ffffffffa06922a0>] f2fs_write_data_pages+0xe0/0x290 [f2fs]
 [<ffffffff811473b3>] do_writepages+0x23/0x40
 [<ffffffff811cc3ee>] __writeback_single_inode+0x4e/0x250
 [<ffffffff811cd4f1>] writeback_sb_inodes+0x2c1/0x470
 [<ffffffff811cd73e>] __writeback_inodes_wb+0x9e/0xd0
 [<ffffffff811cda0b>] wb_writeback+0x1fb/0x2d0
 [<ffffffff811cdb7c>] wb_do_writeback+0x9c/0x220
 [<ffffffff811ce232>] bdi_writeback_workfn+0x72/0x1c0
 [<ffffffff8106b74e>] process_one_work+0x1de/0x5b0
 [<ffffffff8106e78f>] worker_thread+0x11f/0x3e0
 [<ffffffff810750ce>] kthread+0xde/0xf0
 [<ffffffff817093f8>] ret_from_fork+0x58/0x90

fsstress thread stack:
 [<ffffffff81139f0e>] sleep_on_page+0xe/0x20
 [<ffffffff81139ef7>] __lock_page+0x67/0x70
 [<ffffffff8113b100>] find_lock_page+0x50/0x80
 [<ffffffff8113b24f>] find_or_create_page+0x3f/0xb0
 [<ffffffffa06983a9>] sync_node_pages+0x259/0x810 [f2fs]
 [<ffffffffa068d874>] write_checkpoint+0x1a4/0xce0 [f2fs]
 [<ffffffffa0686b0c>] f2fs_sync_fs+0x7c/0xd0 [f2fs]
 [<ffffffffa067c813>] f2fs_sync_file+0x143/0x5f0 [f2fs]
 [<ffffffff811d301b>] vfs_fsync_range+0x2b/0x40
 [<ffffffff811d304c>] vfs_fsync+0x1c/0x20
 [<ffffffff811d3291>] do_fsync+0x41/0x70
 [<ffffffff811d32d3>] SyS_fdatasync+0x13/0x20
 [<ffffffff817094a2>] system_call_fastpath+0x16/0x1b
 [<ffffffffffffffff>] 0xffffffffffffffff

The reason of this issue is:
CPU0:					CPU1:
 - f2fs_write_data_pages
					 - f2fs_sync_fs
					  - write_checkpoint
					   - block_operations
					    - f2fs_lock_all
					     - down_write(sbi->cp_rwsem)
  - lock_page(page)
  - f2fs_write_data_page
					    - sync_node_pages
					     - flush_inline_data
					      - pagecache_get_page(page, GFP_LOCK)
   - f2fs_lock_op
    - down_read(sbi->cp_rwsem)

This patch alters to use trylock_page in flush_inline_data to fix this ABBA
deadlock issue.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2016-02-26 11:52:03 -08:00
Chao Yu
406657dd18 f2fs: introduce f2fs_flush_merged_bios for cleanup
Add a new helper f2fs_flush_merged_bios to clean up redundant codes.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2016-02-26 11:52:02 -08:00
Chao Yu
f28b3434af f2fs: introduce f2fs_update_data_blkaddr for cleanup
Add a new help f2fs_update_data_blkaddr to clean up redundant codes.

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2016-02-26 11:52:01 -08:00
Chao Yu
4356e48e64 f2fs crypto: fix incorrect positioning for GCing encrypted data page
For now, flow of GCing an encrypted data page:
1) try to grab meta page in meta inode's mapping with index of old block
address of that data page
2) load data of ciphertext into meta page
3) allocate new block address
4) write the meta page into new block address
5) update block address pointer in direct node page.

Other reader/writer will use f2fs_wait_on_encrypted_page_writeback to
check and wait on GCed encrypted data cached in meta page writebacked
in order to avoid inconsistence among data page cache, meta page cache
and data on-disk when updating.

However, we will use new block address updated in step 5) as an index to
lookup meta page in inner bio buffer. That would be wrong, and we will
never find the GCing meta page, since we use the old block address as
index of that page in step 1).

This patch fixes the issue by adjust the order of step 1) and step 3),
and in step 1) grab page with index generated in step 3).

Signed-off-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2016-02-26 11:51:58 -08:00
Mike Marshall
9f08cfe944 Orangefs: update orangefs.txt
Al Viro has cleaned up the way ops are processed and waited for,
now orangefs.txt has an overview of how it works. Several recent
related commits have added to the comments in the code as well.

Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2016-02-26 14:39:08 -05:00
Krzysztof Adamski
d250d17d4f ARM: dts: sun8i: Add leds and switch on Orangepi Plus boards
OrangePi Plus board has dwo leds - green ("pwr") and red ("status")
and a switch ("sw4"). This patch describes them in a devicetree.

Signed-off-by: Krzysztof Adamski <k@japko.eu>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2016-02-26 11:37:15 -08:00
Takashi Iwai
d61b04f801 Merge branch 'for-linus' into for-next 2016-02-26 20:26:09 +01:00
Alexander Duyck
2246387662 GSO: Provide software checksum of tunneled UDP fragmentation offload
On reviewing the code I realized that GRE and UDP tunnels could cause a
kernel panic if we used GSO to segment a large UDP frame that was sent
through the tunnel with an outer checksum and hardware offloads were not
available.

In order to correct this we need to update the feature flags that are
passed to the skb_segment function so that in the event of UDP
fragmentation being requested for the inner header the segmentation
function will correctly generate the checksum for the payload if we cannot
segment the outer header.

Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-02-26 14:23:35 -05:00
David S. Miller
c3f463baae Merge branch 'vrf-saddr-selection'
David Ahern says:

====================
net: l3mdev: Fix source address for unnumbered deployments

David Lamparter noted a use case where the source address selection fails
to pick an address from a VRF interface - unnumbered interfaces. The use
case has the VRF device as the VRF local loopback with addresses and
interfaces enslaved without an address themselves. e.g,

    ip addr add 9.9.9.9/32 dev lo
    ip link set lo up

    ip link add name vrf0 type vrf table 101
    ip rule add oif vrf0 table 101
    ip rule add iif vrf0 table 101
    ip link set vrf0 up
    ip addr add 10.0.0.3/32 dev vrf0

    ip link add name dummy2 type dummy
    ip link set dummy2 master vrf0 up

    --> note dummy2 has no address - unnumbered device

    ip route add 10.2.2.2/32 dev dummy2 table 101
    ip neigh add 10.2.2.2 dev dummy2 lladdr 02:00:00:00:00:02

ping to the 10.2.2.2 through the L3 domain:

    $ ping -I vrf0 -c1 10.2.2.2
    ping: Warning: source address might be selected on device other than vrf0.
    PING 10.2.2.2 (10.2.2.2) from 9.9.9.9 vrf0: 56(84) bytes of data.

picks up the wrong address -- the one from 'lo' not vrf0. And from tcpdump:
    12:57:29.449128 IP 9.9.9.9 > 10.2.2.2: ICMP echo request, id 2491, seq 1, length 64

This patch series changes address selection to only consider devices in
the same L3 domain and to use the VRF device as the L3 domains loopback.

    $ ping -I vrf0 -c1 10.2.2.2
    PING 10.2.2.2 (10.2.2.2) from 10.0.0.3 vrf0: 56(84) bytes of data.

From tcpdump:
    12:59:25.096426 IP 10.0.0.3 > 10.2.2.2: ICMP echo request, id 2113, seq 1, length 64

Now the source address comes from vrf0.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2016-02-26 14:22:27 -05:00
David Lamparter
17b693cdd8 net: l3mdev: prefer VRF master for source address selection
When selecting an address in context of a VRF, the vrf master should be
preferred for address selection.  If it isn't, the user has a hard time
getting the system to select to their preference - the code will pick
the address off the first in-VRF interface it can find, which on a
router could well be a non-routable address.

Signed-off-by: David Lamparter <equinox@diac24.net>
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
[dsa: Fixed comment style and removed extra blank link ]
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-02-26 14:22:26 -05:00
David Ahern
3f2fb9a834 net: l3mdev: address selection should only consider devices in L3 domain
David Lamparter noted a use case where the source address selection fails
to pick an address from a VRF interface - unnumbered interfaces.

Relevant commands from his script:
    ip addr add 9.9.9.9/32 dev lo
    ip link set lo up

    ip link add name vrf0 type vrf table 101
    ip rule add oif vrf0 table 101
    ip rule add iif vrf0 table 101
    ip link set vrf0 up
    ip addr add 10.0.0.3/32 dev vrf0

    ip link add name dummy2 type dummy
    ip link set dummy2 master vrf0 up

    --> note dummy2 has no address - unnumbered device

    ip route add 10.2.2.2/32 dev dummy2 table 101
    ip neigh add 10.2.2.2 dev dummy2 lladdr 02:00:00:00:00:02

    tcpdump -ni dummy2 &

And using ping instead of his socat example:
    $ ping -I vrf0 -c1 10.2.2.2
    ping: Warning: source address might be selected on device other than vrf0.
    PING 10.2.2.2 (10.2.2.2) from 9.9.9.9 vrf0: 56(84) bytes of data.

>From tcpdump:
    12:57:29.449128 IP 9.9.9.9 > 10.2.2.2: ICMP echo request, id 2491, seq 1, length 64

Note the source address is from lo and is not a VRF local address. With
this patch:

    $ ping -I vrf0 -c1 10.2.2.2
    PING 10.2.2.2 (10.2.2.2) from 10.0.0.3 vrf0: 56(84) bytes of data.

>From tcpdump:
    12:59:25.096426 IP 10.0.0.3 > 10.2.2.2: ICMP echo request, id 2113, seq 1, length 64

Now the source address comes from vrf0.

The ipv4 function for selecting source address takes a const argument.
Removing the const requires touching a lot of places, so instead
l3mdev_master_ifindex_rcu is changed to take a const argument and then
do the typecast to non-const as required by netdev_master_upper_dev_get_rcu.
This is similar to what l3mdev_fib_table_rcu does.

IPv6 for unnumbered interfaces appears to be selecting the addresses
properly.

Cc: David Lamparter <david@opensourcerouting.org>
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-02-26 14:22:26 -05:00
Ville Syrjälä
30ff5957c3 ALSA: hda - Autosuspend controller after probe even if codecs are already suspended
azx_probe_continue() uses pm_runtime_put_noidle() to drop the rpm
usage_count, which means that if it's the last reference the
autosuspend of the controller won't actually happen. So if the codecs
autosuspend before the azx_probe_continue() drops the last
reference we'll fail to autosuspend the controller. This does happen
in practice, but not every time. As can be seen in [1] the controller
autosuspend attempt fails due to the usage_count when suspending the
codecs. A bit later we see the the contoller usage_count dropping to
zero without further attempts at autosuspend.

Fix the problem by using pm_runtime_put_autosuspend() instead, which
will kick off the autosuspend of the controller even if the codecs
are already asleep. As can be seen in [2] the controller autosuspend
still fails while suspending the codecs, but later on we see another
autosuspend attempt after dropping the usage_count to 0.

I was also a bit worried that there might still be a race between the
controller autosuspend and the rest of the code in azx_probe_continue().
So I also tried replacing the the put_noidle() with put_sync_suspend().
No explosions occurred, so I'm somewhat satisfied that there are no
serious problems in this area.

[1]
 kworker/1:2-122   [001] ....    63.661310: __pm_runtime_suspend: hdaudioC0D0 usage_count 0
 kworker/1:2-122   [001] d..2    63.661316: rpm_suspend: hdaudioC0D0 flags-d cnt-0  dep-0  auto-1 p-0 irq-0 child-0
 kworker/1:2-122   [001] d..1    63.661317: rpm_check_suspend_allowed: hdaudioC0D0 retval 0
 kworker/1:2-122   [001] d..2    63.661332: rpm_return_int: rpm_suspend+0x406/0x5e8:hdaudioC0D0 ret=0
 kworker/1:1-72    [001] d..2    63.661543: rpm_suspend: hdaudioC0D0 flags-a cnt-0  dep-0  auto-1 p-0 irq-0 child-0
 kworker/1:1-72    [001] d..1    63.661544: rpm_check_suspend_allowed: hdaudioC0D0 retval 0
 kworker/1:1-72    [001] ....    63.661545: hda_codec_runtime_suspend: hdaudioC0D0 suspend
 kworker/1:1-72    [001] d..2    63.661614: rpm_idle: 0000:00:03.0 flags-1 cnt-1  dep-0  auto-1 p-0 irq-0 child-0
 kworker/1:1-72    [001] d..1    63.661615: rpm_check_suspend_allowed: 0000:00:03.0 usage_count 1
 kworker/1:1-72    [001] d..1    63.661615: rpm_check_suspend_allowed: 0000:00:03.0 retval -11
 kworker/1:1-72    [001] d..2    63.661616: rpm_return_int: rpm_idle+0x249/0x487:0000:00:03.0 ret=-11
 kworker/1:1-72    [001] d..2    63.661616: rpm_return_int: rpm_suspend+0x406/0x5e8:hdaudioC0D0 ret=0
 kworker/1:2-122   [001] d..2    63.664834: rpm_idle: hdaudioC0D0 flags-8 cnt-0  dep-0  auto-1 p-0 irq-0 child-0
 kworker/1:2-122   [001] d..1    63.664835: rpm_check_suspend_allowed: hdaudioC0D0 retval 1
 kworker/1:2-122   [001] d..2    63.664836: rpm_return_int: rpm_idle+0x249/0x487:hdaudioC0D0 ret=-11
 kworker/1:2-122   [001] d..2    63.664841: rpm_idle: hdaudioC0D0 flags-8 cnt-0  dep-0  auto-1 p-0 irq-0 child-0
 kworker/1:2-122   [001] d..1    63.664841: rpm_check_suspend_allowed: hdaudioC0D0 retval 1
 kworker/1:2-122   [001] d..2    63.664841: rpm_return_int: rpm_idle+0x249/0x487:hdaudioC0D0 ret=-11
 kworker/1:2-122   [001] ....    63.664842: azx_probe_continue: 0000:00:03.0 usage_count=0

[2]
 kworker/0:0-4     [000] ....    50.354567: __pm_runtime_suspend: hdaudioC0D0 usage_count 0
 kworker/0:0-4     [000] d..2    50.354574: rpm_suspend: hdaudioC0D0 flags-d cnt-0  dep-0  auto-1 p-0 irq-0 child-0
 kworker/0:0-4     [000] d..1    50.354575: rpm_check_suspend_allowed: hdaudioC0D0 retval 0
 kworker/0:0-4     [000] d..2    50.354589: rpm_return_int: rpm_suspend+0x406/0x5e8:hdaudioC0D0 ret=0
 kworker/0:2-135   [000] d..2    50.354809: rpm_suspend: hdaudioC0D0 flags-a cnt-0  dep-0  auto-1 p-0 irq-0 child-0
 kworker/0:2-135   [000] d..1    50.354810: rpm_check_suspend_allowed: hdaudioC0D0 retval 0
 kworker/0:2-135   [000] ....    50.354816: hda_codec_runtime_suspend: hdaudioC0D0 suspend
 kworker/0:2-135   [000] d..2    50.354908: rpm_idle: 0000:00:03.0 flags-1 cnt-1  dep-0  auto-1 p-0 irq-0 child-0
 kworker/0:2-135   [000] d..1    50.354909: rpm_check_suspend_allowed: 0000:00:03.0 usage_count 1
 kworker/0:2-135   [000] d..1    50.354909: rpm_check_suspend_allowed: 0000:00:03.0 retval -11
 kworker/0:2-135   [000] d..2    50.354909: rpm_return_int: rpm_idle+0x249/0x487:0000:00:03.0 ret=-11
 kworker/0:2-135   [000] d..2    50.354910: rpm_return_int: rpm_suspend+0x406/0x5e8:hdaudioC0D0 ret=0
 kworker/0:0-4     [000] d..2    50.373791: rpm_idle: hdaudioC0D0 flags-8 cnt-0  dep-0  auto-1 p-0 irq-0 child-0
 kworker/0:0-4     [000] d..1    50.373792: rpm_check_suspend_allowed: hdaudioC0D0 retval 1
 kworker/0:0-4     [000] d..2    50.373793: rpm_return_int: rpm_idle+0x249/0x487:hdaudioC0D0 ret=-11
 kworker/0:0-4     [000] d..2    50.373797: rpm_idle: hdaudioC0D0 flags-8 cnt-0  dep-0  auto-1 p-0 irq-0 child-0
 kworker/0:0-4     [000] d..1    50.373798: rpm_check_suspend_allowed: hdaudioC0D0 retval 1
 kworker/0:0-4     [000] d..2    50.373798: rpm_return_int: rpm_idle+0x249/0x487:hdaudioC0D0 ret=-11
 kworker/0:0-4     [000] ....    50.373799: __pm_runtime_suspend: 0000:00:03.0 usage_count 0
 kworker/0:0-4     [000] d..2    50.373800: rpm_suspend: 0000:00:03.0 flags-d cnt-0  dep-0  auto-1 p-0 irq-0 child-0
 kworker/0:0-4     [000] d..1    50.373800: rpm_check_suspend_allowed: 0000:00:03.0 retval 0
 kworker/0:0-4     [000] d..2    50.373803: rpm_return_int: rpm_suspend+0x406/0x5e8:0000:00:03.0 ret=0
 kworker/0:0-4     [000] d..2    50.385164: rpm_suspend: 0000:00:03.0 flags-a cnt-0  dep-0  auto-1 p-0 irq-0 child-0
 kworker/0:0-4     [000] d..1    50.385165: rpm_check_suspend_allowed: 0000:00:03.0 retval 0
 kworker/0:0-4     [000] ....    50.385174: azx_runtime_suspend: 0000:00:03.0 azx suspend releaseing power well
 kworker/0:0-4     [000] ....    50.385179: azx_runtime_suspend: 0000:00:03.0 azx suspend
 kworker/0:0-4     [000] d..2    50.386872: rpm_return_int: rpm_suspend+0x406/0x5e8:0000:00:03.0 ret=0

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2016-02-26 20:18:48 +01:00
Alex Deucher
ce22c4bfdf drm/amdgpu: update radeon acpi header
Add some new defs for ATPX.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2016-02-26 14:17:04 -05:00
Alex Deucher
18aee16d7d drm/radeon: update radeon acpi header
Add some new defs for ATPX.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2016-02-26 14:16:58 -05:00
Srinivas Kandagatla
90bd6e8fea ARM: dts: ifc6410: add correct aliases to the i2c and spi bus
This patch adds correct aliases to spi and i2c buses so that they get
correct matching bus numbers.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:49 -06:00
Srinivas Kandagatla
806334ed8e ARM: dts: apq8064: add i2c6 device node.
This patch adds i2c6 device node and pinctrls required for IFC6410 on
MIPI-CSI connector.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:49 -06:00
Srinivas Kandagatla
10e0c16167 ARM: dts: ifc6410: enable cam i2c device
This patch enables i2c bus for camera via mipi-csi connector on ifc6410.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:49 -06:00
Srinivas Kandagatla
2a5cbc1532 ARM: dts: apq8064: add gsbi4 with i2c node.
This patch adds gsbi4 and i2c node.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:49 -06:00
Srinivas Kandagatla
7788d439ae ARM: dts: apq8064: add missing i2c2 pinctrl info
This patch adds missing i2c2 pinctrl information in i2c2 node.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:49 -06:00
Srinivas Kandagatla
492731cbd0 ARM: dts: ifc6410: enable spi device on expansion
This patch enables spi device on the 30 pin expansion connector.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:49 -06:00
Srinivas Kandagatla
b2dc04c5b0 ARM: dts: apq8064: add spi5 device node.
This patch adds spi5 device node, spi5 is used on ifc6410 on the
expansion connector.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:48 -06:00
Srinivas Kandagatla
64b22b2594 ARM: dts: apq8064: add i2c sleep pinctrl states.
This patch adds missing i2c pinctrl sleep states.
Also add 16mA drive strength to the pins so that we can detect wide
range of i2c devices on the other side of level shifters.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:48 -06:00
Srinivas Kandagatla
9d0801a09c ARM: dts: apq8064: add pci support in CM QS600
This patch adds PCIE support to APQ8064, tested with Ethernet on
Compulab QS600 board.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:48 -06:00
Srinivas Kandagatla
a30e78bd40 ARM: dts: apq8064: move pinctrls to dedicated dtsi
As there are more pinctrls to come, moving these to dedicated dtsi makes
more sense.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:48 -06:00
Srinivas Kandagatla
e07214db07 ARM: dts: qcom: fix i2c lables to be inline with others
This patch fixes i2c lables to be inline with serial labels.
The reason to do this is that it would look odd if we add aliases in the
board file along with serial.

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Signed-off-by: Andy Gross <andy.gross@linaro.org>
2016-02-26 13:15:48 -06:00
Adam Ford
44f95b12e7 ARM: dts: dm3730-torpedo-devkit: Add "Wireless" to model
LogicPD has two main Torpedo styles, a version with wireless and a version
without wireless.  This version has Bluetooth and WiFi, but there really
isn't an easy way to identify them automatically.  This simply adds
"Wireless" to the model to distinguish it from the 'base' model that will
come soon.

Signed-off-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 11:05:11 -08:00
Tony Lindgren
4f5395f0d1 ARM: OMAP2+: Fix hwmod clock for l4_ls
Looks like we have few cases with wrong clock, and some
entries with missing clock. It should always be sysclk6
for the l4_ls instance.

Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 11:03:07 -08:00
Tony Lindgren
c580324607 ARM: OMAP2+: Add rtc hwmod configuration for ti81xx
This allows RTC to work properly with the related DTS
changes.

Cc: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-02-26 11:02:00 -08:00