Commit graph

798,688 commits

Author SHA1 Message Date
YueHaibing
470b9254d4 qed: Remove set but not used variable 'p_archipelago'
Fixes gcc '-Wunused-but-set-variable' warning:

drivers/net/ethernet/qlogic/qed/qed_ooo.c: In function 'qed_ooo_delete_isles':
drivers/net/ethernet/qlogic/qed/qed_ooo.c:354:30: warning:
 variable 'p_archipelago' set but not used [-Wunused-but-set-variable]

drivers/net/ethernet/qlogic/qed/qed_ooo.c: In function 'qed_ooo_join_isles':
drivers/net/ethernet/qlogic/qed/qed_ooo.c:463:30: warning:
 variable 'p_archipelago' set but not used [-Wunused-but-set-variable]

Since commit 1eec2437d1 ("qed: Make OOO archipelagos into an array"),
'p_archipelago' is no longer in use.

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-09-28 10:25:11 -07:00
YueHaibing
eddf11e18d net: ovs: fix return type of ndo_start_xmit function
The method ndo_start_xmit() is defined as returning an 'netdev_tx_t',
which is a typedef for an enum type, so make sure the implementation in
this driver has returns 'netdev_tx_t' value, and change the function
return type to netdev_tx_t.

Found by coccinelle.

Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-09-28 10:25:11 -07:00
David S. Miller
31df0cffa9 Merge branch 'netlink-nested-policy-validation'
Johannes Berg says:

====================
netlink: nested policy validation

This adds nested policy validation, which lets you specify the
nested attribute type, e.g. NLA_NESTED with sub-policy, or the
new NLA_NESTED_ARRAY with sub-sub-policy.

Changes in v2:
 * move setting the bad attr pointer/message into validate_nla()
 * remove the recursion patch since that's no longer needed
 * simply skip the generic bad attr pointer/message setting in
   case of nested nla_validate() failing since that could fail
   only due to validate_nla() failing inside, which already sets
   the extack information

Changes in v3:
 * fix NLA_REJECT to have an error message if none is in policy
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
2018-09-28 10:24:48 -07:00
Johannes Berg
1501d13596 netlink: add nested array policy validation
Sometimes nested netlink attributes are just used as arrays, with
the nla_type() of each not being used; we have this in nl80211 and
e.g. NFTA_SET_ELEM_LIST_ELEMENTS.

Add the ability to validate this type of message directly in the
policy, by adding the type NLA_NESTED_ARRAY which does exactly
this: require a first level of nesting but ignore the attribute
type, and then inside each require a second level of nested and
validate those attributes against a given policy (if present).

Note that some nested array types actually require that all of
the entries have the same index, this is possible to express in
a nested policy already, apart from the validation that only the
one allowed type is used.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-09-28 10:24:39 -07:00
Johannes Berg
9a659a35ba netlink: allow NLA_NESTED to specify nested policy to validate
Now that we have a validation_data pointer, and the len field in
the policy is unused for NLA_NESTED, we can allow using them both
to have nested validation. This can be nice in code, although we
still have to use nla_parse_nested() or similar which would also
take a policy; however, it also serves as documentation in the
policy without requiring a look at the code.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-09-28 10:24:39 -07:00
Johannes Berg
c29f1845b2 netlink: move extack setting into validate_nla()
This unifies the code between nla_parse() which sets the bad
attribute pointer and an error message, and nla_validate()
which only sets the bad attribute pointer.

It also cleans up the code for NLA_REJECT and paves the way
for nested policy validation, as it will allow us to easily
skip setting the "generic" message without any extra args
like the **error_msg now, just passing the extack through is
now enough.

While at it, remove the unnecessary label in nla_parse().

Suggested-by: David Ahern <dsahern@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-09-28 10:24:39 -07:00
Johannes Berg
48fde90a78 netlink: make validation_data const
The validation data is only used within the policy that
should usually already be const, and isn't changed in any
code that uses it. Therefore, make the validation_data
pointer const.

While at it, remove the duplicate variable in the bitfield
validation that I'd otherwise have to change to const.

Reviewed-by: David Ahern <dsahern@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-09-28 10:24:39 -07:00
Johannes Berg
fe3b30ddb9 netlink: remove NLA_NESTED_COMPAT
This isn't used anywhere, so we might as well get rid of it.

Reviewed-by: David Ahern <dsahern@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-09-28 10:24:39 -07:00
Alexandre Belloni
2f0b649b3b
MIPS: stop using _PTRS_PER_PGD
gcc 3.3 has been retired for a while, use PTRS_PER_PGD and remove the
asm-offsets.h inclusion.

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Paul Burton <paul.burton@mips.com>
Patchwork: https://patchwork.linux-mips.org/patch/20814/
Cc: James Hogan <jhogan@kernel.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
2018-09-28 10:09:34 -07:00
Dengcheng Zhu
82689ac663
MIPS: kdump: Mark cpu back online before rebooting
The crash utility initializes cpu state by reading the system kernel
memory, which is copied into vmcore.

It is also natural to preserve the online state for CPUs at crash.

Failing to do so could make the analysis tool present info for only 1 CPU
by default, and unable to find panic task.

Signed-off-by: Dengcheng Zhu <dzhu@wavecomp.com>
Signed-off-by: Paul Burton <paul.burton@mips.com>
Patchwork: https://patchwork.linux-mips.org/patch/20809/
Cc: Paul Burton <pburton@wavecomp.com>
Cc: "ralf@linux-mips.org" <ralf@linux-mips.org>
Cc: "linux-mips@linux-mips.org" <linux-mips@linux-mips.org>
Cc: "rachel.mozes@intel.com" <rachel.mozes@intel.com>
2018-09-28 10:09:03 -07:00
Greg Kroah-Hartman
f151f57bfd amd, etnaviv, mali_dp, syncobj and panel fixes
-----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJbrW4cAAoJEAx081l5xIa+A1EP/j7KbLBhzxOQ0zxtOH4dRJNn
 Gq1d0sddYKrk9Os7lj4EUr4xm6BebqfYM5Fz93sE2021A8Q8G9F+gOSVysWGGKVV
 HRvjDmAXf5JRpapwe509xoMJ5eSzXSbFtgN5BoNBiIwUctqwMTsR9WvChF+OuQLX
 pIOEopa2bkJVDIVxobsYK6oeiZcUM3lrAx7Gl8zLd8w+OyhTjjFCiuwnpysxKBZd
 +9Pn1FNzVfumx0l25HMqTcDYt5d9dJIkT/e268ZNRNpihDrvwQfh62L63sNTU2ji
 Yp6ZbWmZl8Ws7mk4y6FlLNpHf7O4O2WvqVaAmzgGeHWnFMiSsMSeaYUCVQsYD4EH
 2gw3LjJN4FCfYr8yPsvV5ufRgmNosLSEwUZSyZ/70s8isv4giJoo64GKPf/EWGCw
 MMVJ4HxX1GpZqfyf0zz/guz1mWmsOhVeeTbAla+gIzjJcVhZyq4BBQsq9voUMWK7
 ocaMeRJXloZDvxTiTXIpRc1ALRJ1pyQBX20vUrbm+HqrUyt/dW40STt7gbcVIvOp
 EFEG5b7kS9KuNErW3k0q4psA0KyUNt6XEcrsZEvrJP6ZYFQMGhBcN+ZNNqQPo5BK
 k5TOm1UGjtG9rVYQsHMMQCAJ6MNedDE0k+1AoD5PH8qNCkjHEDdaA6rydq6FdCEu
 cJJCrm0zpZl8/xh3UwPU
 =DT6k
 -----END PGP SIGNATURE-----

Merge tag 'drm-fixes-2018-09-28' of git://anongit.freedesktop.org/drm/drm

Dave writes:
  "drm fixes for 4.19-rc6

   Looks like a pretty normal week for graphics,

   core: syncobj fix, panel link regression revert
   amd: suspend/resume fixes, EDID emulation fix
   mali-dp: NV12 writeback and vblank reset fixes
   etnaviv: DMA setup fix"

* tag 'drm-fixes-2018-09-28' of git://anongit.freedesktop.org/drm/drm:
  drm/amd/display: Fix Edid emulation for linux
  drm/amd/display: Fix Vega10 lightup on S3 resume
  drm/amdgpu: Fix vce work queue was not cancelled when suspend
  Revert "drm/panel: Add device_link from panel device to DRM device"
  drm/syncobj: Don't leak fences when WAIT_FOR_SUBMIT is set
  drm/malidp: Fix writeback in NV12
  drm: mali-dp: Call drm_crtc_vblank_reset on device init
  drm/etnaviv: add DMA configuration for etnaviv platform device
2018-09-28 18:55:17 +02:00
Greg Kroah-Hartman
ed1b3f4c4f A Single RISC-V Update for 4.19-rc6
The Debian guys have been pushing on our port and found some unversioned
 symbols leaking into modules.  This PR contains a single fix for that
 issue.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEAM520YNJYN/OiG3470yhUCzLq0EFAlupTMATHHBhbG1lckBk
 YWJiZWx0LmNvbQAKCRDvTKFQLMurQQTzEACGsu73N/9tHxoPiHUTAco96l8A/N+x
 XzESIxHc+C0IoRwEb4DitEz7PQ7jf5zmEn+XxQR2tlJJJe+CBxi7zfNJf2ZwOGYY
 b2v34rseuqM66S5C28sYQb/SuLXufNpIqPzY5rEJXW6hlFdefeMN41Mlup3fFM1O
 aRwuYos5Gemrn3Y86+f8PWZZahgutP8dT8UHLnzSVBuVfNLgNN1HfIlHVLLtO7Xa
 hAD2qBUKKqbRuwwz5+bXt3ByzfygnoKvNQ65MkgbE8uKJCE9XDakHo+E61aXuHgc
 rw+hrP7N2wLQZI3CF0Q5q56xP+1HtB8ht+o8XV/SW/RilEkLiPV21pwzKWYFcFkW
 t6gbzI7ks/nVLz3oX6QRNNdTC7rFTCVA1QeamIpTCAdnWP9H4hMmz4Q1UukYbu4x
 8Z4vng64L8L2WmguRjVUt1RYgf71LK3fuqKE3eWJz5e3APsnZLkGOF6ebvYheGwQ
 M9xqoNC/Lb+GP4dn+zrcQTHXvUzhCftq40PF3lHCZufFQPwQZhlu7IIjtTz6WtvF
 CXnnXalj9f9MGkIULYiH1zfbxURkmd7udBo8yrm6fI9zQFgR4ge0h2YsMUCAcS2I
 /nRvtJnapgtWDc5RCqLM+7QwIv9/LHGDAvOV/X1ggdd7+0VSs7ZQaa+ytpKs8Z4n
 CdeKcm8WFGvEfA==
 =W3ec
 -----END PGP SIGNATURE-----

Merge tag 'riscv-for-linus-4.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux

Palmer writes:
  "A Single RISC-V Update for 4.19-rc6

   The Debian guys have been pushing on our port and found some
   unversioned symbols leaking into modules.  This PR contains a single
   fix for that issue."

* tag 'riscv-for-linus-4.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/palmer/riscv-linux:
  RISC-V: include linux/ftrace.h in asm-prototypes.h
2018-09-28 18:53:22 +02:00
David Howells
2ecefa0a15 keys: Fix the use of the C++ keyword "private" in uapi/linux/keyctl.h
The keyctl_dh_params struct in uapi/linux/keyctl.h contains the symbol
"private" which means that the header file will cause compilation failure
if #included in to a C++ program.  Further, the patch that added the same
struct to the keyutils package named the symbol "priv", not "private".

The previous attempt to fix this (commit 8a2336e549) did so by simply
renaming the kernel's copy of the field to dh_private, but this then breaks
existing userspace and as such has been reverted (commit 8c0f9f5b30).

[And note, to those who think that wrapping the struct in extern "C" {}
 will work: it won't; that only changes how symbol names are presented to
 the assembler and linker.].

Instead, insert an anonymous union around the "private" member and add a
second member in there with the name "priv" to match the one in the
keyutils package.  The "private" member is then wrapped in !__cplusplus
cpp-conditionals to hide it from C++.

Fixes: ddbb411487 ("KEYS: Add KEYCTL_DH_COMPUTE command")
Fixes: 8a2336e549 ("uapi/linux/keyctl.h: don't use C++ reserved keyword as a struct member name")
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Randy Dunlap <rdunlap@infradead.org>
cc: Lubomir Rintel <lkundrak@v3.sk>
cc: James Morris <jmorris@namei.org>
cc: Mat Martineau <mathew.j.martineau@linux.intel.com>
cc: Stephan Mueller <smueller@chronox.de>
cc: Andrew Morton <akpm@linux-foundation.org>
cc: Linus Torvalds <torvalds@linux-foundation.org>
cc: stable@vger.kernel.org
Signed-off-by: James Morris <james.morris@microsoft.com>
2018-09-28 09:51:51 -07:00
Omar Sandoval
f0a0cdddb1 kyber: fix integer overflow of latency targets on 32-bit
NSEC_PER_SEC has type long, so 5 * NSEC_PER_SEC is calculated as a long.
However, 5 seconds is 5,000,000,000 nanoseconds, which overflows a
32-bit long. Make sure all of the targets are calculated as 64-bit
values.

Fixes: 6e25cb01ea ("kyber: implement improved heuristics")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2018-09-28 10:49:39 -06:00
Greg Kroah-Hartman
278e59a007 pci-v4.19-fixes-2
-----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCgAyFiEEgMe7l+5h9hnxdsnuWYigwDrT+vwFAlutKuEUHGJoZWxnYWFz
 QGdvb2dsZS5jb20ACgkQWYigwDrT+vyNAA/9ETcZVnS/ONxX272qtgn2GT8Nyx+K
 YbAsNFHvd9hzLpG1X398OBPucWz/3bhySsJaTtiyqH0BWl2qsLRcRHvldR7wNXFt
 Wrh+8omGWkw7RwjQI3qavCYJeM3Eu0feX8X4/PknvJn2vybS1W6yPL0q7H7bJr+1
 YQTzSDaA4XtLTcph6+yyt6FH23jxHX4Umjo24AsVrAwyjwWRMZ6Dq/6Lky310W/M
 6GcYDrqQtmP5EnC1DaDomhtI3s8K+/l+NWIvDBHXlhVZhwHkZfZ1xJGQMslwJAVH
 HWe4uznsNweq1GClWgjS4SwT/lWApK+FspgDr29Z4mbNyUyyD/886+z4xXxo996n
 HgYDKctkLuZMdAcYBsjBlXGumBBHujO0qyc0rqoDDh1brI8cWLJsQNBaOLPLUcYU
 934byeGKzIXWd2muXjRDNhCAndGCrKgLLGPleoRbL4uEgg+LTG8oKYQgVMCWts0+
 9FxFblXg0Cxy8+pAj+7JM/hv9FZ4waTbwqirq2PhiM7K4EQApd5wVRpoNF92l1Wi
 287GW9jks1D1S2cjZcv6nTPs8NUc4bk+kcLNk2qbXqB9wUaQjsVdRsxMPUC8rGHJ
 ffhmPrNwOuAPvECMIOiYK5U5XWGvh870YjhEDMRPuapMdg9SQNeepJTceWzhFLgL
 y+OVSSln1PKsDH4=
 =oWFa
 -----END PGP SIGNATURE-----

Merge tag 'pci-v4.19-fixes-2' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/helgaas/pci

Bjorn writes:
  "PCI fixes:

  - Fix ACPI hotplug issue that causes black screen crash at boot (Mika
    Westerberg)

  - Fix DesignWare "scheduling while atomic" issues (Jisheng Zhang)

  - Add PPC contacts to MAINTAINERS for PCI core error handling (Bjorn
    Helgaas)

  - Sort Mobiveil MAINTAINERS entry (Lorenzo Pieralisi)"

* tag 'pci-v4.19-fixes-2' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
  ACPI / hotplug / PCI: Don't scan for non-hotplug bridges if slot is not bridge
  PCI: dwc: Fix scheduling while atomic issues
  MAINTAINERS: Move mobiveil PCI driver entry where it belongs
  MAINTAINERS: Update PPC contacts for PCI core error handling
2018-09-28 18:20:41 +02:00
Arnd Bergmann
25cee71a23 Renesas ARM Based SoC Defconfig Updates for v4.20
* shmobile and multi_v7 defconfigs:
   - Enable recently upstreamed r8a7744 SoC
   - Enable FDP1 (Fine Display processor) present on R-Car Gen2 and RZ/G1 SoCs
 * shmobile defconfig (only):
   - Refresh for v4.19-rc1
   - Remove soon to be deprecated SOC_CAMERA
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4nzZofWswv9L/nKF189kaWo3T74FAlut4yIACgkQ189kaWo3
 T76Nnw//bxLIxGMvSviQz1VhQgZvzsA178gr7QhSJXseTHNBfyBUU7v4ggIN4pDT
 zF2gzNMKertqi0x4kiV3HZxvddB3T7IgJGkB0XTQ4VLRGVwTWtC7yALRA/MGL/s3
 NDG1FIPFpCLveRmxXucToeYY9OaErTYQx1jyg3ycrAGfLQdpB5BfhPYfy9jrFbau
 F28bHOApoq2tfDQu7BdYzjjAbF58MacwnAAkhM09BzwpWCQVCjOkN3a0TnQSRBZE
 ndCQ3J92cnNmfjpLC51Wc1o2h9rKL9gnA2gPNoNPCwBpXXKZYDCKio+DjF40Zz/j
 LsrnhrfpiQ7/u5GAK3q6nza4qFXIWqy/dC1OfLd3vzHvrpEoYlfYzJm16gqLmITn
 76LTz7493V8te/1xjDxW4Ck8rsV5vxU4qV7e+21hjjqv6gNolt1BhTG8arWdBoNO
 ZMPeVkXFZvRj/HP3ZwqCtRtKgNJkS07wDaap/DJp4T5MVyxlHfOnWXBfTEn0QV95
 idurWcfrYT/M6WcLlDvjxKZSTA5ordOxtu9yB7ahyDyVyA51Wo7Tq3lQ9u68BY2F
 Dbr6rp0JQep5Vv6B7e0cChk0LMFbrOl3WDXrqlTIuuvMEtHne0rTGuR0EA8ejxzw
 yOXJBnq16o3s6NXrDIQOOD24RoP2Q0lhMB0rRLYF1pBg1JuqT8g=
 =eacQ
 -----END PGP SIGNATURE-----

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

Renesas ARM Based SoC Defconfig Updates for v4.20

* shmobile and multi_v7 defconfigs:
  - Enable recently upstreamed r8a7744 SoC
  - Enable FDP1 (Fine Display processor) present on R-Car Gen2 and RZ/G1 SoCs
* shmobile defconfig (only):
  - Refresh for v4.19-rc1
  - Remove soon to be deprecated SOC_CAMERA

* tag 'renesas-arm-defconfig-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: defconfig: Enable r8a7744 SoC
  ARM: multi_v7_defconfig: Enable r8a7744 SoC
  ARM: multi_v7_defconfig: Enable VIDEO_RENESAS_FDP1
  ARM: shmobile: defconfig: Enable VIDEO_RENESAS_FDP1
  ARM: shmobile: defconfig: Refresh shmobile_defconfig for v4.19-rc1
  ARM: shmobile: defconfig: Remove SOC_CAMERA

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28 18:03:24 +02:00
Arnd Bergmann
d314e6e26d Renesas ARM64 Based SoC Defconfig Updates for v4.20
* Enable recently upstreamed RZ/G2E (r8a774c0) and RZ/G2M (r8a774a1) SoCs
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4nzZofWswv9L/nKF189kaWo3T74FAlut6ZwACgkQ189kaWo3
 T76tqA/+LEuFpTOW5U02ZzNFjHSTKWMWupfF2Nd1b9/FsrRh5FuSJNnrg97bePqJ
 76ylJMy9S5K86LyAB+thJdsHIvhZA+bSZIbjjmUzKWEbblk9sv35ey4i8SWCG7eQ
 59gMkQW///IqJreRgQ2z1N6R9cnElp58jSS1KX6H0vYwBZ4pcXFiwGrOUWH8Hq8o
 2maZ2LEjrRiWWVwFVVD36klKhvsclRsNh+snyMjYRtG4K/ujmVC2sgVbLgSbfSEi
 posvMffiCB2A3wTmiBeuVhZNtX3+UK5G6DzAKNv2dtHLROUhMMGW4DhcWlul0+x7
 SdbJ6yuI2fheIctXL9ZtI9FqHlF8e7RSNb3+sPq0AXNNjAautPt1loYwGNwO6iR8
 ScaDIYs9xVOLVC7385zYEiYFU8YSzhy31Asyp9+5s1xf02DQL5tItgW3fKstX7rl
 pjjzR0Uy1+Ik6Ggx9je9tf27zftaW2fUMVa/Ad21CZL3W337oUJ0PjFZLI+m2u6X
 UKqGbDFbE4NlckUdxLTarJD2FYRxhqrqqdPyrWNr7Poz0wVO+muNxjx5Fb029naZ
 VbA5LFsHjxt5Vqy3QQJqRHmicTNp3OFF+hhRNNq4xQF6dLJizwUD4uGuHkhyuzZ5
 XBfD4KH8IhPcb/kslf98PQ4ibkaFJCfeaDmdQp3ukIZ8moANDNA=
 =oPv4
 -----END PGP SIGNATURE-----

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

Renesas ARM64 Based SoC Defconfig Updates for v4.20

* Enable recently upstreamed RZ/G2E (r8a774c0) and RZ/G2M (r8a774a1) SoCs

* tag 'renesas-arm64-defconfig-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  arm64: defconfig: enable R8A774C0 SoC
  arm64: defconfig: enable R8A774A1 SoC

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28 18:02:53 +02:00
Linus Walleij
7f08c966f7 ARM: Assume maintainership of ARM reference designs
With this I assume maintainership of the Integrator, Versatile
and RealView ARM reference machines.

It's no big secret that I've been maintaining them for years,
but might as well make it official so I get the mails and
don't miss anything.

I have also included some drivers that are closely associated
with the ARM reference designs and yet orphaned in the
MAINTAINERS file. I can surely maintain them too, or route
the question to the right people so it doesn't fall on the
floor of upward to the subsystem maintainers who have too much
to do already as it is.

Cc: Russell King <linux@armlinux.org.uk>
Cc: Rob Herring <robh@kernel.org>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Stephen Boyd <sboyd@kernel.org>
Cc: Mark Brown <broonie@kernel.org>
Cc: Brian Norris <computersforpeace@gmail.com>
Acked-by: Wolfram Sang <wsa@the-dreams.de>
Acked-by: Olof Johansson <olof@lixom.net>
Acked-by: Michael Turquette <mturquette@baylibre.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28 18:00:09 +02:00
Arnd Bergmann
e6ff514e27 A series of omap1 gpio changes for ams-delta
Janusz Krzysztofik has cleaned up ams-delta gpio usage along with
 generic gpio framework improvments. This series contains the omap1
 specific clean-up for ams-delta modem and unused gpios.
 
 Note that this conflicts with the gpio-omap changes queued into
 an immutable gpio branch ib-omap for the gpio-omap.h header file.
 The merge resolution is to drop the IS_BUILTIN(CONFIG_GPIO_OMAP)
 section and keep the #endif tagged for __ASSEMBLER__.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAlurwEcRHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXPk7xAA1BimwbriIuYK5h9j7o74h8nuv7GsFnkH
 rvntMWlK/XJ3ickOt1upLUyaITjTcb+FP6rKx7kASFaltzemStBU+E/GoQObQqXT
 rCYGcECIn4ffrVYGdvkBzUfTMvCE+OVRh6frenyBEFUxadHeive5h6eENQTuGDvi
 yu631PKMuxILNfT05HyZYTJq+hmkmkQjqYWV9rmAFg1DucAcUVsR5V+eYku3ZdC7
 SKXJMfigrnvjykLIhNqvLu+BbeZ20yrljcNOFET0t/T+ReFCR3phfL24FEf4NPza
 M3FASN+9xezsGfPSTYm6JxdY/oiFzLJ16kp5qqiqgVr4rESMhpGLkie1I7KDUPx8
 tnWz9hfH9RYzNjBjj/A4kC4ZA3uEWFKsbtJTj5EXo8um+rkiKOHSP+N/yjQMKglB
 odWde4WENqwsr7/N39vRRkVIJGwzK7eA3tQmLoLZJwBPn/gC+MB04CqIAhf+VIIK
 ZWyHGU0rQo7WD36GALna6ImvbzBwduzAlbsW3DFzqOH2L9K3d+VgSQjmk7Tk/8Da
 Ds4aih/AXq72yPQxvD/e0JSC0VVZn263tWxTl9yzutrSWyYEKdo0DRsaRVrs+9MJ
 2YHh5tcdRl5bSzdNLXZ8zM2Q5SdsulzEIph6RALtzJcYjA3uz3mz+G+W7HmjaFAj
 hUoMMLJ7Bm0=
 =fnSx
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.20/omap1-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

A series of omap1 gpio changes for ams-delta

Janusz Krzysztofik has cleaned up ams-delta gpio usage along with
generic gpio framework improvments. This series contains the omap1
specific clean-up for ams-delta modem and unused gpios.

Note that this conflicts with the gpio-omap changes queued into
an immutable gpio branch ib-omap for the gpio-omap.h header file.
The merge resolution is to drop the IS_BUILTIN(CONFIG_GPIO_OMAP)
section and keep the #endif tagged for __ASSEMBLER__.

* tag 'omap-for-v4.20/omap1-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP1: ams-delta: Don't request unused GPIOs
  ARM: OMAP1: ams-delta-fiq: Use <linux/platform_data/gpio-omap.h>
  ARM: OMAP1: ams-delta: register MODEM device earlier
  ARM: OMAP1: ams-delta: initialize latch2 pins to safe values
  ARM: OMAP1: ams-delta: assign MODEM IRQ from GPIO descriptor

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28 17:59:19 +02:00
Arnd Bergmann
3a60f1182b SoC changes for omap variants
These changes improve support for clkctrl clocks to deal with
 split memory ranges for clkctrl providers. And to use %pOFn
 instead of device_node.name.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAlurwRQRHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXPtWA//QM4iN9xfn28xvczHk1BgUWnrWEI+1JTb
 L5968fKdoFqQ2Dbf0PLkj1z3HX3PYjtpUKM6r4admvZXAxQMwLB/7xO9AR+t7iPV
 uu66ccWrJDX+TTlqN/O84R49hAKbRH30Y84TF1FR+z8Q1ywFVEqLkLb4NWXog2EP
 eJaT8Ze+6CI92tJnmEJpvjNg6BGIvKVD/TwuKj5X+ii4ErVN5czzmnFmct2yPFD/
 N/2Pe+3YxRkPRG0DgDBjkq5OXk5tL8Qy59oscEO0CM1kKbxfjmNWQsX327YUMAwB
 cU+KyvrGtVAMAZ0ad79oTpEtNpMgnqNTLfDWYtsl6dnw9iqukC7c36FprD5bV8av
 DTL/qj/lwKGsa5aAE/Uk4DJkC4OngKQ2MwMCp/zndN2rj2zNQd3p+Dc0uQOeX1wy
 oPu3VvOVtJbmr09rnPfRVV0VYJCe6n3n6rcBNyWPP1sKmTOn32+j8y6kdfbbxwz6
 DczLPh2jOelMbyGfuIds+4CMC+k9Q8PiZ5O5/QmK0wByQNaY401nl6EEnT533g1x
 mUSchTuqGJz71iQcXJ8UCZ9defL1fklFZssIffCEu7u+Ls0G5EOEU1mMczTPMfZX
 bFyR9fO0Am//PFkG4r1CLtrx/OLt7xc+QVNbs0E6WaQlSjW8ygWTZFx/0cRbdjzF
 SOsZzVHBA2s=
 =M1tU
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v4.20/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc

SoC changes for omap variants

These changes improve support for clkctrl clocks to deal with
split memory ranges for clkctrl providers. And to use %pOFn
instead of device_node.name.

* tag 'omap-for-v4.20/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP2+: Convert to using %pOFn instead of device_node.name
  ARM: OMAP2+: hwmod_core: improve the support for clkctrl clocks

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28 17:57:58 +02:00
Israel Rukshin
65f07f5a09 IB/iser: Fix possible NULL deref at iser_inv_desc()
In case target remote invalidates bogus rkey and signature is not used,
pi_ctx is NULL deref.

The commit also fails the connection on bogus remote invalidation.

Fixes: 59caaed7a7 ("IB/iser: Support the remote invalidation exception")
Signed-off-by: Israel Rukshin <israelr@mellanox.com>
Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2018-09-28 09:53:49 -06:00
Jason A. Donenfeld
8e2649d00a ARM: support big-endian for the virt architecture
This architecture, used for running in QEMU, runs just fine when
compiled in big-endian mode. So enable it. This is enabled in exactly
the same way that it is for other platforms (such as vexpress) that also
support big-endian mode in QEMU successfully.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28 17:46:11 +02:00
Arnd Bergmann
83d52cd0dc Renesas ARM Based SoC DT Bindings Updates for v4.20
* Document bindings for:
   - RZ/G2E (r8a774c0), RZ/G2M (r8a774a1) and RZ/A2 (r7s9210) SoCs
   - R-Car M3-N (r8a77965) SoC based ULCB board
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4nzZofWswv9L/nKF189kaWo3T74FAlut/ZQACgkQ189kaWo3
 T74TLQ/6A4qZth4AK5+C425vIj3mdypRbiNMif0tt2SAEUXG/pKTHiGHFJOHwTqg
 l1rHKYkWXF6FZmAvLLkI3VqRcMTa6jACXsUeODMHXuCC53vnOY4BgLT+pieZjTyg
 JqTIFisoczaQsVGvA8C2YnsYtbAvYlP1MUr6NxbWCEdXfGT5pD8eUldER8T1T56j
 C+p3IDvWQCTZpj0ZefyGo0Blt9XdZ+SdwyeC0m+h+aH84odXS3JAhLo7BoD725WM
 k4Sni886rxloplXSHKizU+wBeebBhfwmiClFUqELLc/nXxklGzia4OK/Cs17LHMG
 sMEUdnV7JM8oq+1MkjOPuyJnwoXzMk+X5kTqWGhT2NHHWZCVHX+CajPQMxFmjIRl
 tRe2kREooYdbU49YorOx6hMnolqO9D/52759yfAbkSL+gDBnIcdxEVQgpwiYtivy
 WGH6CvM1yhtlYON8GbbC+V9RqffGfLrzeMzAka9MyKQ2NnQrySmbw+DtJ4BtKOqP
 iGyR3P+ulQhQPGFO1xbP7fh4Zpx/NtVRyrD/G7p95vUoc5vj0s+hdkk3QZ4Cy9ve
 yjhD7t36QSk/J8/EoO50HMkR245U9BVFFyRJJXanwB02+Rmy+H+aAkLB9LH0VQ4r
 01YweUYFnDw8mneZ7k4Trp8ZRfrCZI9Hnvlc+RgAjDT0WRHtWx4=
 =vffX
 -----END PGP SIGNATURE-----

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

Renesas ARM Based SoC DT Bindings Updates for v4.20

* Document bindings for:
  - RZ/G2E (r8a774c0), RZ/G2M (r8a774a1) and RZ/A2 (r7s9210) SoCs
  - R-Car M3-N (r8a77965) SoC based ULCB board

* tag 'renesas-dt-bindings-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  dt-bindings: arm: Document RZ/G2E SoC DT bindings
  dt-bindings: arm: Document Renesas R-Car M3-N-based ULCB board
  dt-bindings: arm: Document RZ/A2 SoC DT bindings
  dt-bindings: arm: Document RZ/G2M SoC DT bindings

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28 17:44:56 +02:00
Marek Szyprowski
1b09d9c232 mmc: slot-gpio: Fix debounce time to use miliseconds again
The debounce value passed to mmc_gpiod_request_cd() function is in
microseconds, but msecs_to_jiffies() requires the value to be in
miliseconds to properly calculate the delay, so adjust the value stored
in cd_debounce_delay_ms context entry.

Fixes: 1d71926bbd ("mmc: core: Fix debounce time to use microseconds")
Fixes: bfd694d5e2 ("mmc: core: Add tunable delay before detecting card
after card is inserted")
Cc: stable@vger.kernel.org # v4.18+
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2018-09-28 17:43:48 +02:00
Arnd Bergmann
5280508e01 Second Round of Renesas ARM Based SoC DT Updates for v4.20
* RZ/G1M (r8a7743) based iWave G20D-Q7 board and camera daughter board
   - Move PCIe node out of common dtsi to allow reuse of the common dtsi
     on the iWave RZ/G1N board
 * RZ/G1C (r8a77470) SoC: Add I2C4, SDHI2 and SMP support
 * R-Car Gen1 based boards and R-Car Gen2 SoCs:
   - Enhance top-of-file comments to include SoC name
 * RZ/N1D (r9a06g032) SoC:
   - Correct UART0 description and add all other UARTs
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4nzZofWswv9L/nKF189kaWo3T74FAlut51oACgkQ189kaWo3
 T77BKg//fhxvkarcATUM+l5hImWpPqAs2J6/+ymR2tsmY6ei8mWlKKdqHP5TCQUe
 nYev93hjOP+MUmMv5Wlgz3Ql6BPyci0nzNGGp53EgADB8ku8olFDXPxykhi3InXc
 MYndvUK/hTMdxP20B0Z+ALbfCWccBO7CnT2La+hHS2IkMGHwiOmYj+rXYneX29yA
 vUgDY7tzg4qHHUjzWpaCtZxo7P3sD1HPFF5dxel6k8ua2gmYIhZ2NEUQTCBofMSl
 186C6KN6x8YnAR3goWf4a1JgzPBlX5U8NZXBOiPgxl8kbxJniXLWtGFs323BK8Sz
 09ilSM4w//HWxDK8n9LxIxzMyrMiXblQA4JPdp1q913f6xePryEEYbV2/tPI0XMM
 iCnZNfkjqUE5ykADcQmNiWrZTbwxFvpT2L8YW1xspQK8yOEgy9yN/Y12Y7yWQ7jy
 dbEVIcxsEm4ccTOed8v5u5SILxujMLhpwUgSvUBIVIPrxAbiO/b/AckykloXX4ej
 TbNHig0TnurnDx0XBMDYcOrVnIEtNycEOiU/Dxp+uk5TxjXnTdcEMh7oCNemjm0r
 ybU56U0XrMNzjVcEwLR44wCp8TPOqL4lvEXuOAgrN0biyaUWInq5NrSlHKJT667R
 7zNtd/TVONUKVZm/xF7p6JGRSlazb9lDkVl9iCO8MBCvPZhGd9Q=
 =xv5S
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-dt2-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt

Second Round of Renesas ARM Based SoC DT Updates for v4.20

* RZ/G1M (r8a7743) based iWave G20D-Q7 board and camera daughter board
  - Move PCIe node out of common dtsi to allow reuse of the common dtsi
    on the iWave RZ/G1N board
* RZ/G1C (r8a77470) SoC: Add I2C4, SDHI2 and SMP support
* R-Car Gen1 based boards and R-Car Gen2 SoCs:
  - Enhance top-of-file comments to include SoC name
* RZ/N1D (r9a06g032) SoC:
  - Correct UART0 description and add all other UARTs

* tag 'renesas-arm-dt2-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: dts: iwg20d-q7-common: Move pciec node out of common dtsi
  ARM: dts: r8a77470: Add I2C4 support
  ARM: dts: r8a77470: Add SDHI2 support
  ARM: dts: r8a77470: Add SMP support
  ARM: dts: R-Car Gen1 board comment update
  ARM: dts: Include R-Car Gen2 product name in DTSI files
  ARM: dts: r9a06g032: Correct UART and add all other UARTs

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28 17:43:21 +02:00
Arnd Bergmann
0526b92e3a Second Round of Renesas ARM64 Based SoC DT Updates for v4.20
* Remove unneeded status from thermal nodes
 
 * R-Car Gen 3 SoCs:
   - Use 400kHz for I2C DVFS bus
   - Revise USB2.0 properties
 * R-Car Gen 3 SoC based ULCB boards: Add default bootargs
 * R-Car M3-N (r8a77965) SoC based boards: Enable audio with DMA
 
 * R-Car V3M (r8a77970 and V3H (r8a77980) SoCs:
   - Add compare match timer (CMT) support
   - Add timer pulse unit (TPU) support
 * R-Car V3H (r8a77980) and E3 (r8a77990) SoCs:
   - Attach the SYS-DMAC to the IPMMU
 * E3 (r8a77990) SoC: Add display output support
 * R-Car E3 (r8a77990) based Ebisu board:
   - Enable HDMI and CVBS input, and VGA and HDMI display output
 
 * R-Car D3 (r8a77995) SoC: Add LVDS support
 * R-Car D3 (r8a77995) based Draak board: Enable HDMI display output
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4nzZofWswv9L/nKF189kaWo3T74FAlut7W8ACgkQ189kaWo3
 T74zRA//a6osGbI8tUgygPvuLm1gTySaZWroRZxLdSQ0h41moC3AnHqUnzkzUMoa
 jlSKA+1yjloIRgP3XTUBWIMZST15eFjGW3KkLNbdzvRi0WMzANmbkGD67X4QOZ1T
 pVXWeS9RCHoFihThY5uKSMoOGJPFhHnjXB955gJ2UIfo+Rk+oBNttVfgUgnD6Nn9
 Ye1nWhPzh2+LeOfPzR7KNtg5blLhhlaPuSveadiM92MCahXKipbWNr7uoudBcUiL
 Mgq6NaiPOgdPPgPSNlJHFpxopIwSmrMsZ1WYOq4HSXjxcvRBp83fTSA2xSvWlO4P
 YcICzHtgjmwiNcChIUdaRTCpe3YcDzA10XlJGrTiBAHMRYc7YMUgI1pnPedlkVt5
 tF9tfXY7cKXSucmT0rAR6pmulJvPfXMTcuhCbVBzZj2vaJ2Eg2xXVjJUAe9F7LXT
 UOdc5Y+S66HpF3yQSVG7uZ8V0w1NjjEO0QIwyokhD13hKL6kYNims0vqRoBcHSzK
 +gpi8XXHT7E9nW0J+qFFaO9SUgxbK9+xSYl3BNeNPrnBK9iHA0WNVJCRcde8OB9D
 klD2w4FpEfG8cmvTelSYmoQ8itthU0XwU8qCGxZ2HITuFMaf4Gu9JepQB8Y/O0zl
 hZlZdY4kn3dP9mfxZUVANGP5DrFYFXa3ppI+N+pfumhTXwDVZsQ=
 =QtD1
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm64-dt2-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt

Second Round of Renesas ARM64 Based SoC DT Updates for v4.20

* Remove unneeded status from thermal nodes

* R-Car Gen 3 SoCs:
  - Use 400kHz for I2C DVFS bus
  - Revise USB2.0 properties
* R-Car Gen 3 SoC based ULCB boards: Add default bootargs
* R-Car M3-N (r8a77965) SoC based boards: Enable audio with DMA

* R-Car V3M (r8a77970 and V3H (r8a77980) SoCs:
  - Add compare match timer (CMT) support
  - Add timer pulse unit (TPU) support
* R-Car V3H (r8a77980) and E3 (r8a77990) SoCs:
  - Attach the SYS-DMAC to the IPMMU
* E3 (r8a77990) SoC: Add display output support
* R-Car E3 (r8a77990) based Ebisu board:
  - Enable HDMI and CVBS input, and VGA and HDMI display output

* R-Car D3 (r8a77995) SoC: Add LVDS support
* R-Car D3 (r8a77995) based Draak board: Enable HDMI display output

* tag 'renesas-arm64-dt2-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  arm64: dts: renesas: r8a77965: Add Sound and Audio DMAC device nodes
  arm64: dts: renesas: r8a77995: draak: Enable HDMI display output
  arm64: dts: renesas: r8a77990: ebisu: Enable VGA and HDMI outputs
  arm64: dts: renesas: r8a77995: Add LVDS support
  arm64: dts: renesas: r8a77990: Add display output support
  arm64: dts: renesas: r8a779{7|8}0: add TPU support
  arm64: dts: renesas: revise properties for R-Car Gen3 SoCs' usb 2.0
  arm64: dts: renesas: ulcb: add default bootargs
  arm64: dts: renesas: r8a779{7|8}0: add CMT support
  arm64: dts: renesas: gen3: use 400kHz for I2C DVFS bus
  arm64: dts: renesas: r8a77980: Attach the SYS-DMAC to the IPMMU
  arm64: dts: renesas: r8a77990: Attach the SYS-DMAC to the IPMMU
  arm64: dts: renesas: ebisu: Add HDMI and CVBS input
  arm64: dts: renesas: Remove unneeded status from thermal nodes

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28 17:42:26 +02:00
Jens Axboe
133424a207 Merge branch 'nvme-4.19' of git://git.infradead.org/nvme into for-linus
Pull NVMe fix from Christoph.

* 'nvme-4.19' of git://git.infradead.org/nvme:
  nvme: properly propagate errors in nvme_mpath_init
2018-09-28 09:41:40 -06:00
Arnd Bergmann
f62309c873 arm64: tegra: Device tree changes for v4.20-rc1
This contains mostly device tree changes to support faster SDHCI modes
 on Tegra210 and Tegra186.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlutRCATHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoaEeD/9u+1Pv4ygX1eGlBCYoYDLNnzo+Eckn
 KiZzrBnK5Wxl6X/SagxQBOK8QmzTJrIAWo0oRBcUknBWKKlP7xdM4DKHnWhWHvZZ
 d7ulULfWDEaqcLXnlf5LH8XzrkG3UON/AA9IkAkx9jXwv7ipZVzDBN7kiLNBpZbU
 BPra4HRWAw2H7umDC0STSnfQoyvJ0zidk86xEWHNRTkjaQvPjuz7GmKWcgsM6cFv
 mh7ZdCqNYrW09D8CJwaCiSHx5DIVUyfoK9+BWxYyiYe2hOxZJHybVdOWZbjvg2K3
 nD+tsV2/Ej9JUrBuxTz12IQ4Wpz/PQqkXTs3RBfzvh08+4tu20dWyt/Rj9LY5hWE
 R0P4RD3LOMGlycAFiSm30cRQPieYqScHsYsW6FKlE42W/4gyABgItv+nfrIVtBUd
 jg1XlDINhLcVTobKQAztssaPKm0iUbABrfCqccIdBSfSGIUSpxUsSlggmBYs11U+
 +Yj20ObJgKvgY/1/t3VoIOYiSZ3foUq1ykqib1nVS84JJRPYVSMPy6cMu62tLT17
 lyGP9SV/k5KuSrVyGyxtYiDrvWbXb+y4+4+5G3VepFkAo6CCf7GPYl92ZfAFMdGH
 h4IV7nZb3SLxgp7J1KtGXwblegOtt/nEWn4WqtKZiLYukKd1kdZ4wZDQx1lpb40s
 PCZzQrYnEKS/0w==
 =DHnl
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-4.20-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt

arm64: tegra: Device tree changes for v4.20-rc1

This contains mostly device tree changes to support faster SDHCI modes
on Tegra210 and Tegra186.

* tag 'tegra-for-4.20-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: I2C on Tegra194 is not compatible with Tegra114
  arm64: dts: tegra186: Enable HS400
  arm64: dts: tegra210: Enable HS400
  arm64: dts: tegra186: Add SDMMC4 DQS trim value
  arm64: dts: tegra210: Add SDMMC4 DQS trim value
  arm64: dts: tegra186: Assign clocks for sdmmc1 and sdmmc4
  arm64: dts: tegra210: Assign clocks for sdmmc1 and sdmmc4
  arm64: dts: tegra186: Add SDHCI tap and trim values
  arm64: dts: tegra210: Add SDHCI tap and trim values
  arm64: dts: tegra186: Add sdmmc pad auto calibration offsets
  arm64: dts: tegra210: Add sdmmc pad auto calibration offsets
  arm64: dts: tegra210-p2597: Remove no-1-8-v from sdmmc1
  arm64: dts: tegra210-p2180: Correct sdmmc4 vqmmc-supply
  arm64: dts: tegra210-p2180: Allow ldo2 to go down to 1.8 V
  arm64: dts: Add Tegra186 sdmmc pinctrl voltage states
  arm64: dts: Add Tegra210 sdmmc pinctrl voltage states

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28 17:41:26 +02:00
Juergen Gross
6c76786740 xen/blkfront: correct purging of persistent grants
Commit a46b53672b ("xen/blkfront: cleanup
stale persistent grants") introduced a regression as purged persistent
grants were not pu into the list of free grants again. Correct that.

Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2018-09-28 09:40:39 -06:00
Jens Axboe
15c2068876 Revert "xen/blkfront: When purging persistent grants, keep them in the buffer"
Fix didn't work for all cases, reverting to add a (hopefully)
better fix.

This reverts commit f151ba989d.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
2018-09-28 09:40:17 -06:00
Arnd Bergmann
d4db2b19eb ARM: tegra: Device tree changes for v4.20-rc1
This contains a massive amount of changes from Marcel Ziswiler for
 various boards by Toradex.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlutQ+UTHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoap9EACWCtuZX1sqPHrU3qNIlqgb2GTFq9IR
 DOt+J0kxbVHddvgnaxnHdXq25nQ7fSCIx+k06C1Gs4/PmhMm4wLkJhaE7l80Ru5i
 5hKMlp/4mf4GN+aEqsLje6QndbUMUhVWTEk7U/OIybE4DeVq50ApKBP5lbuurAa/
 T/EeMUWzfsgbH64AXgLMrgQ8i9sM+FuGWGvIBPIwvOXJiyEcOwoO5/c7BkQngQkZ
 eglydbt9TWlWkdB4C9OM4/TGCHbnC8gO9XqBMniMI5mCTVpihPQ/O3RPfp8iWy83
 hfpxzyWK2w0LY2nyn4UdUhlc4YKD/piu290BHlx0HBEv0ovJrktlAYghhvQWbgIz
 7LHn8BV4jid23vn8tPhbmaWRZfXEwCviUqVVroKNuz6cJzNktXuXJQYI2QcSYCvf
 BQmynXWrcdMH8zFzXDSKUAIbgnj17kWSk0BACqdutj21GPhBJA7NbFhYpNUVngYU
 0JfVV14plzvZff4FIZCExH46zaHz5hlszrlNVI+wqRIGnpOvE9FZBTNbnZlm+e6x
 KHhUqyGA8dlMidgtb/kSKAfKsqWKwC5CsXkmFJeaVrfUcaBftY5zmVmkv4KCVL8u
 c7j3N8PjeSJR+Pf9yE7YwzZJttegiljw5VwFjVR5Z7nEtTYD2U9WGtHu1OgqgKm+
 8wJFaLJ/psinfw==
 =XdYT
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-4.20-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt

ARM: tegra: Device tree changes for v4.20-rc1

This contains a massive amount of changes from Marcel Ziswiler for
various boards by Toradex.

* tag 'tegra-for-4.20-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: (129 commits)
  ARM: dts: paz00: fix wakeup gpio keycode
  ARM: tegra: tegra20: Fix mixed tabs-spaces indentation
  ARM: tegra: colibri_t20: add eval board device tree
  ARM: tegra: colibri_t20: rename ac97 label to tegra_ac97
  ARM: tegra: colibri_t20: get rid of fake clocks simple bus
  ARM: tegra: colibri_t20: rename tps6586x@34 and drop unused pmic label
  ARM: tegra: colibri_t20: iris: drop unused i2c_ddc label
  ARM: tegra: colibri_t20: rename i2c_ddc to hdmi_ddc
  ARM: tegra: colibri_t20: drop module level model and compatible
  ARM: tegra: colibri_t20: iris: add colibri ssp support
  ARM: tegra: colibri_t20: iris: simplify model and compatible properties
  ARM: tegra: colibri_t20: simplify model and compatible properties
  ARM: tegra: colibri_t20: add compatibility comment
  ARM: tegra: colibri_t20: annotate/move sd card detect
  ARM: tegra: colibri_t20: add gpio hogs for gmi_wr_n buffers
  ARM: tegra: colibri_t20: add gpio hog to unreset usb ethernet chip
  ARM: tegra: colibri_t20: add i2c-thermtrip
  ARM: tegra: colibri_t20: annotate/rename lm95245 temperature sensor
  ARM: tegra: colibri_t20: iris: add dr_mode property
  ARM: tegra: colibri_t20: iris: add gpio wakeup key
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28 17:39:58 +02:00
Arnd Bergmann
fb5c84ce00 dt-bindings: Changes for v4.20-rc1
This contains the PMC pad configuration bindings which are used to
 control the voltage of various pads found on Tegra chips. Among other
 things this is required to enable faster modes on SDHCI.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlutQxsTHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoX4/D/9Hb45d7/gRWerRZPni9pMwsFChcVpT
 FuNGahIawSCeSXMb5ffjjzQmkM11QTSDmFdTPk2F2Wv1soiR/P52FxwNQEXRbhZN
 GFwsG3Bhqf9H3S1W5cW6O0wjZkuYqgk3dVGk24/f4h7oumCAcF4p7mc81/A978o5
 Tl/beFabianYPPKCU1lwIwlMgIi8vwSoccIKoLSFtRKppwocfW34jqaG0O7LFaWE
 OpBH5Xyl7Z+s7PDs04Rgg7bgl60ucscO51OVTIEc7eievEiYKo4eDjMc83wg1Dp1
 A0ABt/qE0iJqnYf2InXa1+nU8m1cxqQMFVrlH7B9LN5o7r7smNtZd0jV+bQLQLIO
 G4upR7Gff8lwhb9GknsjRhh+1I5MsT9iUCPvxHfx+PHi3VnnUGKHi8Tuc0eZg91c
 uP+51efGrVHDU0TDwl3WXoYH+n+bGMsK0gnUEKjDWThmaR9p7ofWgJw8TTtLppm4
 wkUKZV7IGCJoO084X53SZypE2DMaOjVMlMPNt8emO2I/UZXFB824oiI06VV6HPti
 lanZZbtupSUFLZx4zooq5UmgIrP87K8oYzSjIc1O58PJ7u0i4o3czkJl5Z06IukJ
 XVsPG58T0aje9uHGjFwsC2FMZMG+h7n3cnSFeco6UEv1qnbMVXcTtPQfmPh5Ic8R
 5Dj5/+Vw1MTf1w==
 =yepn
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-4.20-dt-bindings' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt

dt-bindings: Changes for v4.20-rc1

This contains the PMC pad configuration bindings which are used to
control the voltage of various pads found on Tegra chips. Among other
things this is required to enable faster modes on SDHCI.

* tag 'tegra-for-4.20-dt-bindings' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  dt-bindings: Add Tegra PMC pad configuration bindings

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-09-28 17:31:46 +02:00
Alan Douglas
aa77e55d48 PCI: cadence: Correct probe behaviour when failing to get PHY
Test the correct value to see whether the PHY get failed.

Use devm_phy_get() instead of devm_phy_optional_get(), since it is
only called if phy name is given in devicetree and so should exist.
If failure when getting or linking PHY, put any PHYs which were
already got and unlink them.

Fixes: dfb8053469 ("PCI: cadence: Add generic PHY support to host and EP drivers")
Reported-by: Colin King <colin.king@canonical.com>
Signed-off-by: Alan Douglas <adouglas@cadence.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
2018-09-28 16:08:56 +01:00
Miklos Szeredi
18172b10b6 fuse: extract fuse_emit() helper
Prepare for cache filling by introducing a helper for emitting a single
directory entry.

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2018-09-28 16:43:23 +02:00
Miklos Szeredi
6433b8998a fuse: add FOPEN_CACHE_DIR
Add flag returned by OPENDIR request to allow kernel to cache directory
contents in page cache.  The effect of FOPEN_CACHE_DIR is twofold:

 a) if not already cached, it writes entries into the cache

 b) if already cached, it allows reading entries from the cache

The FOPEN_KEEP_CACHE has the same effect as on regular files: unless this
flag is given the cache is cleared upon completion of open.

So FOPEN_KEEP_CACHE and FOPEN_KEEP_CACHE flags should be used together to
make use of the directory caching facility introduced in the following
patches.

The FUSE_AUTO_INVAL_DATA flag returned in INIT reply also has the same
affect on the directory cache as it has on data cache for regular files.

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2018-09-28 16:43:23 +02:00
Miklos Szeredi
d123d8e183 fuse: split out readdir.c
Directory reading code is about to grow larger, so split it out from dir.c
into a new source file.

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2018-09-28 16:43:23 +02:00
Kirill Tkhai
be2ff42c5d fuse: Use hash table to link processing request
We noticed the performance bottleneck in FUSE running our Virtuozzo storage
over rdma. On some types of workload we observe 20% of times spent in
request_find() in profiler.  This function is iterating over long requests
list, and it scales bad.

The patch introduces hash table to reduce the number of iterations, we do
in this function. Hash generating algorithm is taken from hash_add()
function, while 256 lines table is used to store pending requests.  This
fixes problem and improves the performance.

Reported-by: Alexey Kuznetsov <kuznet@virtuozzo.com>
Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2018-09-28 16:43:23 +02:00
Kirill Tkhai
3a5358d1a1 fuse: kill req->intr_unique
This field is not needed after the previous patch, since we can easily
convert request ID to interrupt request ID and vice versa.

Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2018-09-28 16:43:23 +02:00
Kirill Tkhai
c59fd85e4f fuse: change interrupt requests allocation algorithm
Using of two unconnected IDs req->in.h.unique and req->intr_unique does not
allow to link requests to a hash table. We need can't use none of them as a
key to calculate hash.

This patch changes the algorithm of allocation of IDs for a request. Plain
requests obtain even ID, while interrupt requests are encoded in the low
bit. So, in next patches we will be able to use the rest of ID bits to
calculate hash, and the hash will be the same for plain and interrupt
requests.

Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2018-09-28 16:43:23 +02:00
Kirill Tkhai
63825b4e1d fuse: do not take fc->lock in fuse_request_send_background()
Currently, we take fc->lock there only to check for fc->connected.
But this flag is changed only on connection abort, which is very
rare operation.

So allow checking fc->connected under just fc->bg_lock and use this lock
(as well as fc->lock) when resetting fc->connected.

Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2018-09-28 16:43:23 +02:00
Kirill Tkhai
ae2dffa394 fuse: introduce fc->bg_lock
To reduce contention of fc->lock, this patch introduces bg_lock for
protection of fields related to background queue. These are:
max_background, congestion_threshold, num_background, active_background,
bg_queue and blocked.

This allows next patch to make async reads not requiring fc->lock, so async
reads and writes will have better performance executed in parallel.

Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2018-09-28 16:43:22 +02:00
Kirill Tkhai
2b30a53314 fuse: add locking to max_background and congestion_threshold changes
Functions sequences like request_end()->flush_bg_queue() require that
max_background and congestion_threshold are constant during their
execution. Otherwise, checks like

	if (fc->num_background == fc->max_background)

made in different time may behave not like expected.

Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2018-09-28 16:43:22 +02:00
Kirill Tkhai
2a23f2b8ad fuse: use READ_ONCE on congestion_threshold and max_background
Since they are of unsigned int type, it's allowed to read them
unlocked during reporting to userspace. Let's underline this fact
with READ_ONCE() macroses.

Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2018-09-28 16:43:22 +02:00
Kirill Tkhai
e287179afe fuse: use list_first_entry() in flush_bg_queue()
This cleanup patch makes the function to use the primitive
instead of direct dereferencing.

Also, move fiq dereferencing out of cycle, since it's
always constant.

Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2018-09-28 16:43:22 +02:00
Niels de Vos
88bc7d5097 fuse: add support for copy_file_range()
There are several FUSE filesystems that can implement server-side copy
or other efficient copy/duplication/clone methods. The copy_file_range()
syscall is the standard interface that users have access to while not
depending on external libraries that bypass FUSE.

Signed-off-by: Niels de Vos <ndevos@redhat.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
2018-09-28 16:43:22 +02:00
Miklos Szeredi
908a572b80 fuse: fix blocked_waitq wakeup
Using waitqueue_active() is racy.  Make sure we issue a wake_up()
unconditionally after storing into fc->blocked.  After that it's okay to
optimize with waitqueue_active() since the first wake up provides the
necessary barrier for all waiters, not the just the woken one.

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Fixes: 3c18ef8117 ("fuse: optimize wake_up")
Cc: <stable@vger.kernel.org> # v3.10
2018-09-28 16:43:22 +02:00
Miklos Szeredi
4c316f2f3f fuse: set FR_SENT while locked
Otherwise fuse_dev_do_write() could come in and finish off the request, and
the set_bit(FR_SENT, ...) could trigger the WARN_ON(test_bit(FR_SENT, ...))
in request_end().

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Reported-by: syzbot+ef054c4d3f64cd7f7cec@syzkaller.appspotmai
Fixes: 46c34a348b ("fuse: no fc->lock for pqueue parts")
Cc: <stable@vger.kernel.org> # v4.2
2018-09-28 16:43:22 +02:00
Kirill Tkhai
d2d2d4fb1f fuse: Fix use-after-free in fuse_dev_do_write()
After we found req in request_find() and released the lock,
everything may happen with the req in parallel:

cpu0                              cpu1
fuse_dev_do_write()               fuse_dev_do_write()
  req = request_find(fpq, ...)    ...
  spin_unlock(&fpq->lock)         ...
  ...                             req = request_find(fpq, oh.unique)
  ...                             spin_unlock(&fpq->lock)
  queue_interrupt(&fc->iq, req);   ...
  ...                              ...
  ...                              ...
  request_end(fc, req);
    fuse_put_request(fc, req);
  ...                              queue_interrupt(&fc->iq, req);


Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Fixes: 46c34a348b ("fuse: no fc->lock for pqueue parts")
Cc: <stable@vger.kernel.org> # v4.2
2018-09-28 16:43:21 +02:00
Kirill Tkhai
bc78abbd55 fuse: Fix use-after-free in fuse_dev_do_read()
We may pick freed req in this way:

[cpu0]                                  [cpu1]
fuse_dev_do_read()                      fuse_dev_do_write()
   list_move_tail(&req->list, ...);     ...
   spin_unlock(&fpq->lock);             ...
   ...                                  request_end(fc, req);
   ...                                    fuse_put_request(fc, req);
   if (test_bit(FR_INTERRUPTED, ...))
         queue_interrupt(fiq, req);

Fix that by keeping req alive until we finish all manipulations.

Reported-by: syzbot+4e975615ca01f2277bdd@syzkaller.appspotmail.com
Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Fixes: 46c34a348b ("fuse: no fc->lock for pqueue parts")
Cc: <stable@vger.kernel.org> # v4.2
2018-09-28 16:43:21 +02:00
Hannes Reinecke
e982c4d0a2 virtio-blk: modernize sysfs attribute creation
Use new-style DEVICE_ATTR_RO/DEVICE_ATTR_RW to create the sysfs attributes
and register the disk with default sysfs attribute groups.

Signed-off-by: Hannes Reinecke <hare@suse.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Bart Van Assche <bart.vanassche@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2018-09-28 08:30:33 -06:00