Commit graph

824682 commits

Author SHA1 Message Date
Arnd Bergmann
bf86784276 Renesas ARM64 Based SoC Defconfig Updates for v5.1
Enable:
 * PCM3168A support which is required for audio on Kingfisher daughterboards
 * R-Car thermal support
 * Gen3 PCIe PHY support
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4nzZofWswv9L/nKF189kaWo3T74FAlxdXgkACgkQ189kaWo3
 T77HRw//YxTxVtb9NR3o+z5+XtCg1FtCOuoFcS0kDm1frR8pmZAFYZWuwMoki6Q8
 lESlWlCXPL5yJ505jlICqiano24Q/WnTs0aZj7TvbvtsWHqalG3C5dQRWVVq/7DP
 Qvnr4p/EGEWjgKx1UHCNGLS7xHaYVePTCT4Opq+53vnx4ZQGf5wlnbJtuhZZYaEp
 JCPbLCftVVSAgNh0E9P559Ww9eZ1B7Xs1ZdM4CXPr22j7HMAj2cvUv87rZ3B57to
 DdOOWbAD6JOSdBQ338grppPJX9DlyVb8oYeJtmYcCRw7jK0zz0nlCTs/gsCu75ej
 FKdfAEchkD6ZYQ9h8j+7LTuGwkkSOmVYH+OubwY9eoykgoBkaIWIw7q4PTIu2LNG
 wAAqm7X0iPYpaT+z/52E1dTZY044+GyYqf0hNjK/3v3fj6nrTCoWZnuqj+waQR8c
 HeeDtawg1/oolhYZKgdi7d6CkFvzBM87Yuta075E/25G2QWkWwP79juUWOUgC7FZ
 NdVtRyUdaANjdDBpXGLE/q/E/WyXrzo7eDTEY74RnfLLOcNvc7bC9HP3hd5DES57
 W9Oss9msOpMhl9l3539/kHA9HetjiqpAFtJEKKB53MrzZW9BqLjmKAUshOOndsUz
 0WisNZo1jmq/uFRMzcSHcsye/IeeIH7m4TRIe2tqqeUrlgSAHy4=
 =gf/c
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm64-defconfig-for-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into arm/defconfig

Renesas ARM64 Based SoC Defconfig Updates for v5.1

Enable:
* PCM3168A support which is required for audio on Kingfisher daughterboards
* R-Car thermal support
* Gen3 PCIe PHY support

* tag 'renesas-arm64-defconfig-for-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  arm64: defconfig: select Kingfisher Sound related configs
  arm64: defconfig: Enable R-Car thermal driver
  arm64: defconfig: Enable CONFIG_PHY_RCAR_GEN3_PCIE

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:50:41 +01:00
Arnd Bergmann
758cf939df Renesas ARM Based SoC Defconfig Updates for v5.1
shmobile and multi_v7 defconfig
 * Enable support for recently upstreamed RZ/A2 (r7s9210) SoC
 * Enable NXP pcf85363 RTC which is used on RZ/G1C (r8a77470) based iWave SBC
 
 shmobile defconfig
 * Refresh for changes present in v5.0-rc1
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4nzZofWswv9L/nKF189kaWo3T74FAlxdV5wACgkQ189kaWo3
 T75X1Q/7BMrKJisvrPEcCcfWFJd3ce6ojtaSa7kVAAgoaOpgylZGtC9inWW/XbPS
 aYitIE2aT3rRO1+xOV31SsMW0RFELyQkIvJTzYyVjC5AdeBqIt5fHqJqXq+k0jF9
 MbvxHtfxxTpKp0vIvhBnONIqMlj4N4BRHyhMtLaDKoePGE3NdYX9y0122QsFOhpY
 3txSuKx1ZX6awJEz1XXTxJj4Kun37g77LBGsfE3aGjEsTKANYevRyCxOK4+EF9ks
 sSAo3bPTqne3KmUE+vPqMSUDXal9u1RYoqk1UL0ke4ceHv967xjyQzwZCz4FY/Vu
 SJmWs3dPxy+WU8PV5GLj9oBw9Yp5jYOFFMGJu74TinHcGw3xFEc6Dwp+H295u/Jm
 UizpNKWXKqRq4cIs1y4kb425lvygTP3sfuYKKaKsnTF8vlj6s6rvvN5B97epDBrK
 SypENZloY8C+laAux1n/hgH96G/8PHpXxvRKBc5eUdqlb3f7+GqPwGJNsSAaOhsX
 3rw4wChWJF27z1WQyWPvlVHl68TibzqSWegAOfq4xLAiwtvkvn49nJq4OgMrJUkP
 uTWZHZQC4hJ6NPnGQ7myKcSJcSa3nd5nTIqzFUjHUrRDa1mzAVOW2cdpvXp1ROMv
 7fqNUgxjOkBPEctwu+DbTyu1sGoUD+IKJxBOeLMm0S6bAXQ9udI=
 =8/bA
 -----END PGP SIGNATURE-----

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

Renesas ARM Based SoC Defconfig Updates for v5.1

shmobile and multi_v7 defconfig
* Enable support for recently upstreamed RZ/A2 (r7s9210) SoC
* Enable NXP pcf85363 RTC which is used on RZ/G1C (r8a77470) based iWave SBC

shmobile defconfig
* Refresh for changes present in v5.0-rc1

* tag 'renesas-arm-defconfig-for-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: multi_v7_defconfig: Enable support for RZ/A2
  ARM: shmobile: defconfig: Enable support for RZ/A2
  ARM: shmobile: defconfig: Refresh for v5.0-rc1
  ARM: multi_v7_defconfig: Enable NXP pcf85363 rtc
  ARM: shmobile: Enable NXP pcf85363 rtc in shmobile_defconfig

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:49:47 +01:00
Arnd Bergmann
94e4d309ea arm64: tegra: Default configuration changes for v5.1-rc1
Enables the TCU driver to be built into the kernel, so that the TCU can
 be used as debug serial on Jetson Xavier. This also enables the MAX8973
 regulator driver that is required for CPU frequency scaling on Tegra210.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlxdmbgTHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoZgtD/wNXlW8b6EsETNmXRDbDuzn/+C7h8l+
 Vs+8FdIenjY5/ZaxcYJLjIy3/KV0phB8dS56KaiuXJJAogzi3vCSSQWhzRtw53J1
 F8bOweXCQT3vDAcwziL44pNjxXRtXENcywqAhhKBAxmNQ/84W9dtB+ZcBZLJWBDg
 pMSJ/kPJggnwOoSkMREP46z6EoleaD+K+nnfX5Lp14W+wOwl65YfFA+WdJRsiYlF
 2kPGotmWOXUTj2rIDMBGmDLgWOsBwOVhi3TS7psWNtFflrCFPuTwUchHWyL4cTO0
 h/4/4149ZrXIEcba1rkZKfH6uHaPZhMEKDFA0Nt4RKnxPHcbYMpWqxC1dmvWWHeJ
 eHjStTb1UFOEyBG7LgbIkdBGXa07zHw3amCyKao6CCVVpfCfzfQ/XqMd5CYWDHc2
 Gb+kFnLBiUkvDh5hLV5h6RpatJMWAlFneNUESFjURhVWRJZUfy/4hPEECaiZ/1h7
 x7Yu/nTY5sSPHMkZIikxatJZfhh0rYeojf4GPkMbhNzUL+HTgjYT2aVBfsj8eZOG
 4wWWFqxRugneOKpRAtu+CQSBjpX+ZxDJ91O4ov0oiWrict89Mlljp5hKGApZ2AJs
 luEWJbfNm1L7oxqjg+Znhw0sMfYa2F031PQZxSWhJjaTYLTAcArBGPVbc6ucwFln
 aBcs1xUAuigSEg==
 =Xuyn
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-5.1-arm64-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/defconfig

arm64: tegra: Default configuration changes for v5.1-rc1

Enables the TCU driver to be built into the kernel, so that the TCU can
be used as debug serial on Jetson Xavier. This also enables the MAX8973
regulator driver that is required for CPU frequency scaling on Tegra210.

* tag 'tegra-for-5.1-arm64-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: defconfig: Enable Tegra TCU
  arm64: defconfig: Enable MAX8973 regulator

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:48:42 +01:00
Arnd Bergmann
ae4dbf8ced i.MX defconfig updates for 5.1:
- Enable a number of i.MX SoC and driver options in arm64 defconfig.
    The built-in drivers include: clock, pinctrl, power domain, serial,
    MBox, SCU, Ethernet, MMC, regulator and watchdog, which are mostly
    essential for building an useful kernel image for i.MX8 platform,
    booting with rootfs on NFS or eMMC.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJcYqUwAAoJEFBXWFqHsHzOJnkH/2R0OT6zLykAAvG2grUjD73x
 5VTEbvlSnSrOur0vBXEZfTi6l3mvtuXj3L9wEpIB9dKgOAgGflAOqRlib0xrwFXW
 JRnzgckooeEpeMbj482gN2xUIbkAg7V8P15lhrkPIGKcGDwtc2o2uTfPRMyRKxRB
 szH3xl+OR38snzqtuaPEvxdguE2ZW1fMRm8CqDq3nKYD21wYW6WB6S9MLlaYfD6k
 RxtjEBCbUCV7OaN90HlXi/u7fkzwDgd9dN4M18DTgP59qWkZNmZ+HGj2Wf8a3Vgc
 7E/cBL+W1fbcGto+j5H2wNHYzT4C9O9EKbskKOs/HW2zojxVfNXsBrXOLMreWMk=
 =dPMN
 -----END PGP SIGNATURE-----

Merge tag 'imx-defconfig-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/defconfig

i.MX defconfig updates for 5.1:
 - Enable a number of i.MX SoC and driver options in arm64 defconfig.
   The built-in drivers include: clock, pinctrl, power domain, serial,
   MBox, SCU, Ethernet, MMC, regulator and watchdog, which are mostly
   essential for building an useful kernel image for i.MX8 platform,
   booting with rootfs on NFS or eMMC.

* tag 'imx-defconfig-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: defconfig: Add IMX2+ watchdog
  arm64: defconfig: Enable PFUZE100 regulator
  arm64: defconfig: enable NXP FlexSPI driver
  arm64: defconfig: Add i.MX8MQ boot necessary configs
  arm64: defconfig: add imx8qxp support
  arm64: defconfig: add i.MX system controller RTC support

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:47:27 +01:00
Arnd Bergmann
0e58c23b52 Defconfig changes for omaps
Drop PROVE_LOCKING as it should not be enabled in the defconfig. It
 causes quite a bit overhead as noted in the patch description.
 
 Then let's update omap2plus_defconfig for dropped options and moved
 options. That way makesavedefconfig can actually be used to generate
 patches against omap2plus_defconfig.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAlxlrd0RHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXOMQQ//dnvmQ0xiVFFB/I4hfgcI2kHxk4J3nIoO
 zPGPb2ygUN6CeFLVSVUv3vytOR4FkvKZU/Z6hyxJTv0cain1yxZ6IfTRjNwKdDxF
 UA35AvB992WwBqbu7UxUUSI80dAY9CAqY7Cq0niaFbpQ7giIbL+qQtWLoVHFJi76
 V3DQa45QXgNGURJ7bMYxjzb2/mH9cAx7UfOIuePNdACGhf9t/PHYIjJnPA9PLurq
 Umgv00FraiUbSQhVF0Pfdd5ljPrpV0pf3DWrsOAnPuPJo2wmLzrfyLi014JSoifH
 DGyi47uyq2XXwdHMtfPU0YiRGhP0O9md5nGcGIjKNiAeCISmYgqYtXsTsAah4wDY
 2RQajX0y6KKuQobrRewoK82QGgqcJcj3Xd61+luf7wh3w9nTpZ/HrS4pqVC/cvos
 S/5Wsj7yT/k+g4LOINzhaBaLVlKhW0KPQtiJpexSjgfLoTSQ32H1aCvpEUpwKcYQ
 nUZX/bgKhNmFLeH7V0MnTcnuR2cWcpyK1yO6HyjfxEA3cEbZkrpBVoGd9xOtqDik
 miUN54C4vDdidjq20Y+h7ZYvWchBwLbEVr98kaBZvDeBNQpL16+vdx1qLufW/j8F
 B7gSJJZNYJd4riRF8R7DSnx1eqDsmqedXVmjGGX14QdpP+5BI//DaGfmY3cQN0eE
 79Tc2xtnWmY=
 =Cia+
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v5.1/defconfig-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/defconfig

Defconfig changes for omaps

Drop PROVE_LOCKING as it should not be enabled in the defconfig. It
causes quite a bit overhead as noted in the patch description.

Then let's update omap2plus_defconfig for dropped options and moved
options. That way makesavedefconfig can actually be used to generate
patches against omap2plus_defconfig.

* tag 'omap-for-v5.1/defconfig-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: omap2plus_defconfig: Update for moved options
  ARM: omap2plus_defconfig: Update for dropped options
  ARM: omap2plus_defconfig: remove PROVE_LOCKING from defconfig

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:46:53 +01:00
Jens Axboe
6fb845f0e7 Linux 5.0-rc6
-----BEGIN PGP SIGNATURE-----
 
 iQFRBAABCAA8FiEEq68RxlopcLEwq+PEeb4+QwBBGIYFAlxgqNUeHHRvcnZhbGRz
 QGxpbnV4LWZvdW5kYXRpb24ub3JnAAoJEHm+PkMAQRiGwsoH+OVXu0NQofwTvVru
 8lgF3BSDG2mhf7mxbBBlBizGVy9jnjRNGCFMC+Jq8IwiFLwprja/G27kaDTkpuF1
 PHC3yfjKvjTeUP5aNdHlmxv6j1sSJfZl0y46DQal4UeTG/Giq8TFTi+Tbz7Wb/WV
 yCx4Lr8okAwTuNhnL8ojUCVIpd3c8QsyR9v6nEQ14Mj+MvEbokyTkMJV0bzOrM38
 JOB+/X1XY4JPZ6o3MoXrBca3bxbAJzMneq+9CWw1U5eiIG3msg4a+Ua3++RQMDNr
 8BP0yCZ6wo32S8uu0PI6HrZaBnLYi5g9Wh7Q7yc0mn1Uh1zWFykA6TtqK90agJeR
 A6Ktjw==
 =scY4
 -----END PGP SIGNATURE-----

Merge tag 'v5.0-rc6' into for-5.1/block

Pull in 5.0-rc6 to avoid a dumb merge conflict with fs/iomap.c.
This is needed since io_uring is now based on the block branch,
to avoid a conflict between the multi-page bvecs and the bits
of io_uring that touch the core block parts.

* tag 'v5.0-rc6': (525 commits)
  Linux 5.0-rc6
  x86/mm: Make set_pmd_at() paravirt aware
  MAINTAINERS: Update the ocores i2c bus driver maintainer, etc
  blk-mq: remove duplicated definition of blk_mq_freeze_queue
  Blk-iolatency: warn on negative inflight IO counter
  blk-iolatency: fix IO hang due to negative inflight counter
  MAINTAINERS: unify reference to xen-devel list
  x86/mm/cpa: Fix set_mce_nospec()
  futex: Handle early deadlock return correctly
  futex: Fix barrier comment
  net: dsa: b53: Fix for failure when irq is not defined in dt
  blktrace: Show requests without sector
  mips: cm: reprime error cause
  mips: loongson64: remove unreachable(), fix loongson_poweroff().
  sit: check if IPv6 enabled before calling ip6_err_gen_icmpv6_unreach()
  geneve: should not call rt6_lookup() when ipv6 was disabled
  KVM: nVMX: unconditionally cancel preemption timer in free_nested (CVE-2019-7221)
  KVM: x86: work around leak of uninitialized stack contents (CVE-2019-7222)
  kvm: fix kvm_ioctl_create_device() reference counting (CVE-2019-6974)
  signal: Better detection of synchronous signals
  ...
2019-02-15 08:43:59 -07:00
Ming Lei
56d18f62f5 block: kill BLK_MQ_F_SG_MERGE
QUEUE_FLAG_NO_SG_MERGE has been killed, so kill BLK_MQ_F_SG_MERGE too.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:12 -07:00
Ming Lei
2705c93742 block: kill QUEUE_FLAG_NO_SG_MERGE
Since bdced438ac ("block: setup bi_phys_segments after splitting"),
physical segment number is mainly figured out in blk_queue_split() for
fast path, and the flag of BIO_SEG_VALID is set there too.

Now only blk_recount_segments() and blk_recalc_rq_segments() use this
flag.

Basically blk_recount_segments() is bypassed in fast path given BIO_SEG_VALID
is set in blk_queue_split().

For another user of blk_recalc_rq_segments():

- run in partial completion branch of blk_update_request, which is an unusual case

- run in blk_cloned_rq_check_limits(), still not a big problem if the flag is killed
since dm-rq is the only user.

Multi-page bvec is enabled now, not doing S/G merging is rather pointless with the
current setup of the I/O path, as it isn't going to save you a significant amount
of cycles.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:12 -07:00
Ming Lei
ac4fa1d107 block: document usage of bio iterator helpers
Now multi-page bvec is supported, some helpers may return page by
page, meantime some may return segment by segment, this patch
documents the usage.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:12 -07:00
Ming Lei
6861428921 block: always define BIO_MAX_PAGES as 256
Now multi-page bvec can cover CONFIG_THP_SWAP, so we don't need to
increase BIO_MAX_PAGES for it.

CONFIG_THP_SWAP needs to split one THP into normal pages and adds
them all to one bio. With multipage-bvec, it just takes one bvec to
hold them all.

Reviewed-by: Omar Sandoval <osandov@fb.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:12 -07:00
Ming Lei
07173c3ec2 block: enable multipage bvecs
This patch pulls the trigger for multi-page bvecs.

Reviewed-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:12 -07:00
Ming Lei
6dc4f100c1 block: allow bio_for_each_segment_all() to iterate over multi-page bvec
This patch introduces one extra iterator variable to bio_for_each_segment_all(),
then we can allow bio_for_each_segment_all() to iterate over multi-page bvec.

Given it is just one mechannical & simple change on all bio_for_each_segment_all()
users, this patch does tree-wide change in one single patch, so that we can
avoid to use a temporary helper for this conversion.

Reviewed-by: Omar Sandoval <osandov@fb.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:11 -07:00
Ming Lei
2e1f4f4d24 bcache: avoid to use bio_for_each_segment_all() in bch_bio_alloc_pages()
bch_bio_alloc_pages() is always called on one new bio, so it is safe
to access the bvec table directly. Given it is the only kind of this
case, open code the bvec table access since bio_for_each_segment_all()
will be changed to support for iterating over multipage bvec.

Acked-by: Coly Li <colyli@suse.de>
Reviewed-by: Omar Sandoval <osandov@fb.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:11 -07:00
Ming Lei
86af5952a8 block: loop: pass multi-page bvec to iov_iter
iov_iter is implemented on bvec itererator helpers, so it is safe to pass
multi-page bvec to it, and this way is much more efficient than passing one
page in each bvec.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:11 -07:00
Ming Lei
c3a7ce7380 btrfs: use mp_bvec_last_segment to get bio's last page
Preparing for supporting multi-page bvec.

Reviewed-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:11 -07:00
Ming Lei
f70f446407 fs/buffer.c: use bvec iterator to truncate the bio
Once multi-page bvec is enabled, the last bvec may include more than one
page, this patch use mp_bvec_last_segment() to truncate the bio.

Reviewed-by: Omar Sandoval <osandov@fb.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:11 -07:00
Ming Lei
45a3fb9529 block: introduce mp_bvec_last_segment()
BTRFS and guard_bio_eod() need to get the last singlepage segment
from one multipage bvec, so introduce this helper to make them happy.

Reviewed-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:11 -07:00
Ming Lei
862e5a5e6f block: use bio_for_each_bvec() to map sg
It is more efficient to use bio_for_each_bvec() to map sg, meantime
we have to consider splitting multipage bvec as done in blk_bio_segment_split().

Reviewed-by: Omar Sandoval <osandov@fb.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:11 -07:00
Ming Lei
dcebd75592 block: use bio_for_each_bvec() to compute multi-page bvec count
First it is more efficient to use bio_for_each_bvec() in both
blk_bio_segment_split() and __blk_recalc_rq_segments() to compute how
many multi-page bvecs there are in the bio.

Secondly once bio_for_each_bvec() is used, the bvec may need to be
splitted because its length can be very longer than max segment size,
so we have to split the big bvec into several segments.

Thirdly when splitting multi-page bvec into segments, the max segment
limit may be reached, so the bio split need to be considered under
this situation too.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:11 -07:00
Ming Lei
d18d91740a block: introduce bio_for_each_bvec() and rq_for_each_bvec()
bio_for_each_bvec() is used for iterating over multi-page bvec for bio
split & merge code.

rq_for_each_bvec() can be used for drivers which may handle the
multi-page bvec directly, so far loop is one perfect use case.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:10 -07:00
Ming Lei
3d75ca0ade block: introduce multi-page bvec helpers
This patch introduces helpers of 'mp_bvec_iter_*' for multi-page bvec
support.

The introduced helpers treate one bvec as real multi-page segment,
which may include more than one pages.

The existed helpers of bvec_iter_* are interfaces for supporting current
bvec iterator which is thought as single-page by drivers, fs, dm and
etc. These introduced helpers will build single-page bvec in flight, so
this way won't break current bio/bvec users, which needn't any change.

Follows some multi-page bvec background:

- bvecs stored in bio->bi_io_vec is always multi-page style

- bvec(struct bio_vec) represents one physically contiguous I/O
  buffer, now the buffer may include more than one page after
  multi-page bvec is supported, and all these pages represented
  by one bvec is physically contiguous. Before multi-page bvec
  support, at most one page is included in one bvec, we call it
  single-page bvec.

- .bv_page of the bvec points to the 1st page in the multi-page bvec

- .bv_offset of the bvec is the offset of the buffer in the bvec

The effect on the current drivers/filesystem/dm/bcache/...:

- almost everyone supposes that one bvec only includes one single
  page, so we keep the sp interface not changed, for example,
  bio_for_each_segment() still returns single-page bvec

- bio_for_each_segment_all() will return single-page bvec too

- during iterating, iterator variable(struct bvec_iter) is always
  updated in multi-page bvec style, and bvec_iter_advance() is kept
  not changed

- returned(copied) single-page bvec is built in flight by bvec
  helpers from the stored multi-page bvec

Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Omar Sandoval <osandov@fb.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:10 -07:00
Ming Lei
19d62f6d00 block: remove bvec_iter_rewind()
Commit 7759eb23fd ("block: remove bio_rewind_iter()") removes
bio_rewind_iter(), then no one uses bvec_iter_rewind() any more,
so remove it.

Reviewed-by: Omar Sandoval <osandov@fb.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:10 -07:00
Ming Lei
1a67356e9a block: don't use bio->bi_vcnt to figure out segment number
It is wrong to use bio->bi_vcnt to figure out how many segments
there are in the bio even though CLONED flag isn't set on this bio,
because this bio may be splitted or advanced.

So always use bio_segments() in blk_recount_segments(), and it shouldn't
cause any performance loss now because the physical segment number is figured
out in blk_queue_split() and BIO_SEG_VALID is set meantime since
bdced438ac ("block: setup bi_phys_segments after splitting").

Reviewed-by: Omar Sandoval <osandov@fb.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Fixes: 76d8137a31 ("blk-merge: recaculate segment if it isn't less than max segments")
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:10 -07:00
Christoph Hellwig
8a2ee44a37 btrfs: look at bi_size for repair decisions
bio_readpage_error currently uses bi_vcnt to decide if it is worth
retrying an I/O.  But the vector count is mostly an implementation
artifact - it really should figure out if there is more than a
single sector worth retrying.  Use bi_size for that and shift by
PAGE_SHIFT.  This really should be blocks/sectors, but given that
btrfs doesn't support a sector size different from the PAGE_SIZE
using the page size keeps the changes to a minimum.

Reviewed-by: Omar Sandoval <osandov@fb.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-02-15 08:40:10 -07:00
Arnd Bergmann
a882bd15c2 More dts changes for omaps
We add support for Bosch Guardian am335x device, and configure more
 devices like GNSS and LCD backlight for omap3-gta04. And we replace
 the wlcore binding documentation URL with a local file that we have.
 -----BEGIN PGP SIGNATURE-----
 
 iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAlxlryMRHHRvbnlAYXRv
 bWlkZS5jb20ACgkQG9Q+yVyrpXOMDBAAw57p8QZSacuX1OLXcwCotq1p/LWs7423
 Y+Dm2UhEdmi89+DL5yDO6Wd46VJ2/mZ9T+WR2cUeUsSs/YPApTmBBB7cBs5Kk7GS
 07olRxqnbB+myESx5he5lSfxAwnXRF2is7PE0bf3gTTulPaVkz1/OUYZdwdL8j4q
 wabUZ3cyDkr1ZwSiTMpddDlP0o/kNWcGt7Lhu3+kvYygAKqjRaXgtwlFbWDgwQFl
 OBFO5lhupC07EItzPYqNxZMKKamf9Gegw86bfa1rFVy5Q5xCKnstKcoShF8i/h4K
 2sYq8siUU6r4KNVibIaT0zRdmXBVIcZYzR4dK5MJrzaS64hX+F12p7XDezcUGqfR
 /1guoQSHbZL8a/gGFtRdkxmv6UDfVlARY0f+oRRNX3SUAuvaOnmpqFyLNw1MUcsv
 OuuciW9O8WE7MZ01hhTokVEI9M0xZXx0xdyx7jr/pAN7vnxrR+mDRNbaxAAr4941
 YWjmg77k04qfV9hCKX5dMGMnT+fJWxO6kkfkTqS7OF6QNDHtV8Ym/T5riTxkzeAj
 fjB4E9TmQ8Zad2A+bDH2PTIJsjnU1Ofnr/SFCR/ztCw70I+t6yzAGs+mQX6Dve/g
 6tcnE0YgBM4x030DlykUixFFB/8OLCCsHP5qGAHtu9yp7Iwda8Yeyt7K4AeetF7l
 KYXTWZrxljU=
 =gumh
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v5.1/dt-pt2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/dt

More dts changes for omaps

We add support for Bosch Guardian am335x device, and configure more
devices like GNSS and LCD backlight for omap3-gta04. And we replace
the wlcore binding documentation URL with a local file that we have.

* tag 'omap-for-v5.1/dt-pt2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: dts: omap3-gta04: declare backlight in lcd node
  ARM: dts: am335x: Add support for Bosch Guardian
  ARM: dts: gta04: add gps support
  ARM: dts: gta04: add ldo 3v3 regulator
  ARM: dts: gta04: add pinctrl settings for wkup domain
  ARM: dts: omap3-gta04a5: Replace LXR reference with a local one

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:21:13 +01:00
Arnd Bergmann
87503c012a UniPhier ARM64 SoC DT updates for v5.1
- Add PCI Express controller nodes
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJcZgK+AAoJED2LAQed4NsGnkAP/3ky1bx1+vDYgJ8yQFlUP/A/
 RZZ1XixwzcPPNNhsIQBaxvXfjLdH0VdCFI01NAeOpi5EJKe7NhuRah3ILav5t80g
 Dq8LQNdUEaoDBnnN53UP2HjCQeaVDhKNCzMtcTrNy4mGX1uyzr+e7E/I4NIQ7IT8
 JXn8D93T32JX1gLEqXkr06yOkykjxMEYH3SjCceGjZrkNCJIzW/LDL9NcLQ5amXs
 cp3+0dIqFUjMX1GB+Q+KRsmS3NKFNJ1zRht73hRyj4Q7G3ZMh22Vr9sBjCNuPWDs
 LDiDAkQ+X2g6OzUjQ4Yo8fGAPSXswiDYet9TxHtZ1nmlLFU/VfaKYk47drrHUzp8
 Pbyv3ZRmulheh7zyMybtqPtrnN6ZFMZSoROXFeLYcWJdKWyWpoOxjf4+jcZd/+KY
 EslnzJ/asbDyUFbs85Mt94v3Zm3tABwjhUqCuUZYElNSV31I4RaNHPYVO5SNnYBP
 YZTU13edGWTjaQoL6zL75YMXAcv9F9M1gYGo6vB/LsXQf/rZU+S/rExID/Jddd0B
 6r1CyDYouiHILYPVwPeDhh0zW1QOW0Q9yxyuUPtOjGD7l2W3DXPimBriLuHfKmxc
 s4BFWXgFZUKGd3/YjNg9R3dZmFHUbfqU4fS2w8pzb8nmJ74hYNQYyiH5xs8VPgVH
 Q2YhCkU7tZizdKR/6sDq
 =bPrQ
 -----END PGP SIGNATURE-----

Merge tag 'uniphier-dt64-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into arm/dt

UniPhier ARM64 SoC DT updates for v5.1

- Add PCI Express controller nodes

* tag 'uniphier-dt64-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier:
  arm64: dts: uniphier: sort labels in the same order as in dtsi
  arm64: dts: uniphier: Add PCIe host controller and PHY nodes

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:20:03 +01:00
Arnd Bergmann
75ed0b2d2d AT91 DT for 5.1
- Enable QSPI NOR on sama5d2 SoM1
  - replace deprecated gpio-key,wakeup property
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEXx9Viay1+e7J/aM4AyWl4gNJNJIFAlxjHMkACgkQAyWl4gNJ
 NJLRDA//Y9ObFLwsaMkn5mNilO42hxTQq4A/bd/Vj9gskK/JBqK6d1sWPM7GrOyB
 DgjXnVtiFEithqs6ZVTxMt3rKA4Dc5/R3nN8kzzqeto26GHTSCsb/mGqZdAUWOJ7
 GCN5ycL4I8PMIC9/VhBey4esZIh3iAzienh28+Eq3KKGSveWPKjjWrS8Yj4Z0HcS
 mr5v7h2Uf+4xDp4gF8/Re66X2v9pBpLQWV/sI1RJVppNJPX4XK6owfrb/ZhU8jl4
 3UPoo77yULAfd4Sgcmx1xFE3TGVeIeiuHYYXkWmvkz2bZTsYf4bkuzVGN63pXAVI
 Wtg0mUtMmkAkAvuvVWxRPVIA9qQl6pxeGIyVtmp4XXOE5xVL5njWsTtNYu6yXmMe
 fcC+WKrzTCIJ0leevTiCmaLb5Ky9uivD82KK5TArjc0/gaEWgyUb3/W/R20N9bQU
 k4BEAURklOqp1cNEH1A93S9fnWZYx71zbY75TAJigRF+hOxYl+IaozhqsXK3g1XR
 hMXGGdmh5o54NLdraygzpNkxmCc3B0T4STpfclw26LCE3UU6aOvtZjHjK7KGBz6u
 xFEUnanxiqMTwKwZ83psm7MEqdv1267BIR3sBdTMo067eAqoEhnJ7lmYYP7JDgA7
 mvHEPxvWMIEOjR/+B1/kRRzkb3siLO90Q2NmZfuNxeY3Mti2jf0=
 =NzVr
 -----END PGP SIGNATURE-----

Merge tag 'at91-5.1-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/dt

AT91 DT for 5.1

 - Enable QSPI NOR on sama5d2 SoM1
 - replace deprecated gpio-key,wakeup property

* tag 'at91-5.1-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: at91: replace gpio-key,wakeup with wakeup-source property
  ARM: dts: at91: at91-sama5d27_som1_ek: enable qspi1 memory
  ARM: dts: at91: at91-sama5d27_som1: add QSPI1 + SPI NOR memory nodes

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:14:00 +01:00
Arnd Bergmann
e1a38b7504 ARM: dts: zynq: DT changes for v5.1
- Use new "wakeup-source" instead of "gpio-key,wakeup" in Z-Turn
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAlxiwoEACgkQykllyylKDCGAJQCbB4cK6W0fXAfw/Zi7mHBEo0yL
 lxEAn3/zTTTB2DFB+kimxZFZcHJaEY11
 =dMVs
 -----END PGP SIGNATURE-----

Merge tag 'zynq-dt-for-v5.1' of https://github.com/Xilinx/linux-xlnx into arm/dt

ARM: dts: zynq: DT changes for v5.1

- Use new "wakeup-source" instead of "gpio-key,wakeup" in Z-Turn

* tag 'zynq-dt-for-v5.1' of https://github.com/Xilinx/linux-xlnx:
  ARM: dts: zynq: replace gpio-key,wakeup with wakeup-source property

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:13:11 +01:00
Arnd Bergmann
69733808a4 arm64: dts: zynqmp: DT changes for v5.1
- Extend timeout for wifi to power up on Ultra96
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAlxiwJUACgkQykllyylKDCGTFQCgkxFLqTdsRVpcXbwdVZbI0TBL
 CukAn3kkFlyUv/OE8z3K1u32tHKTDqyK
 =2Qw6
 -----END PGP SIGNATURE-----

Merge tag 'zynqmp-dt-for-v5.1' of https://github.com/Xilinx/linux-xlnx into arm/dt

arm64: dts: zynqmp: DT changes for v5.1

- Extend timeout for wifi to power up on Ultra96

* tag 'zynqmp-dt-for-v5.1' of https://github.com/Xilinx/linux-xlnx:
  arm64: dts: zcu100-revC: Give wifi some time after power-on

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:11:55 +01:00
Arnd Bergmann
b217a721e9 i.MX arm64 device tree changes for 5.1:
- Add initial i.MX8QXP SoC and MEK board support.
  - Various device additions to i.MX8MQ SoC and EVK board support:
    RTC, QuadSPI, PMU, ECSPI, PWM, GPC power domain, USB etc.
  - Use generic node name for m25p80 flash on layerscape devices.
  - Add num-viewport property for layerscape PCIe devices, and
    incr-burst-type-adjustment for USB3 devices.
  - Add LS1012AX based Oxalis board support.
  - Add fsl-mc, FlexSPI device and dma-ranges property for LX2160A SoC.
  - Add SMMU device and missing dma-coherent property in fsl-mc for
    LS1088 SoC.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJcYp9oAAoJEFBXWFqHsHzOtIMIALOPv2znXL5iMfC3hYdcf8eJ
 6+1iXfMn2735bldUZn+mMVZ4/sCM1gyIGzOMPI2E26fzcGgd5Lw0sJ+Tqo7SuvEa
 NRhI0T+xeNAK3wTxSQ5kSot+8Ne85UwyjiXyN+pL1ifsHQtZ3h3J3KKIc+34X8Sx
 AkIofB2R+/Kv3nJfXOa6pep6sw+FR9hVlBtxj7OAU3eMBOAcO4RJkyDcsqt02fbo
 GIefiDDIaOOPMCBNdE+Sh4o7qifVMUcGlom4umm3oieXKKA31i0AwjeDOQidNfrW
 Dl10EO+bjxgHrcuXDq39Z8Rsl4iRXHyNcOWs+sqKG9u/6nKWukr590/fPJ9OUPA=
 =eglh
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt64-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt

i.MX arm64 device tree changes for 5.1:
 - Add initial i.MX8QXP SoC and MEK board support.
 - Various device additions to i.MX8MQ SoC and EVK board support:
   RTC, QuadSPI, PMU, ECSPI, PWM, GPC power domain, USB etc.
 - Use generic node name for m25p80 flash on layerscape devices.
 - Add num-viewport property for layerscape PCIe devices, and
   incr-burst-type-adjustment for USB3 devices.
 - Add LS1012AX based Oxalis board support.
 - Add fsl-mc, FlexSPI device and dma-ranges property for LX2160A SoC.
 - Add SMMU device and missing dma-coherent property in fsl-mc for
   LS1088 SoC.

* tag 'imx-dt64-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (30 commits)
  arm64: dts: imx8mq: specify dma-ranges
  arm64: dts: imx8mq: Add ARM PMU node
  arm64: dts: imx8mq: Add RTC support
  arm64: dts: imx8mq-evk: Enable the QuadSPI controller
  arm64: dts: imx8mq: Add QuadSPI controller
  arm64: dts: imx8mq: Add ECSPI support
  arm64: dts: imx8mq-evk: Add fsl,magic-packet property
  arm64: dts: imx8mq-evk: add missing MDIO / PHY nodes
  arm64: dts: imx8mq-evk: enable USB nodes for USB3 host
  arm64: dts: imx8mq: add USB nodes
  arm64: dts: imx8mq: properly describe IRQ hierarchy
  arm64: dts: lx2160a: update fspi node
  arm64: dts: freescale: Add devicetree for Oxalis
  arm64: dts: lx2160a: add FlexSPI node property
  arm64: dts: imx8qxp: Fix MU4_INT number
  arm64: dts: imx8mq: add GPC power domains
  arm64: dts: imx8mq: Add pwm device nodes
  arm64: dts: imx: add i.MX8QXP system controller RTC support
  arm64: dts: imx: add imx8qxp mek support
  arm64: dts: imx: add imx8qxp support
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:11:01 +01:00
Arnd Bergmann
42d614138e i.MX device tree changes for 5.1:
- New board support: Logic PD i.MX6QD EVM, ZII SSMB DTU, Phytec
    phyBOARD i.MX6UL Segin, Y Soft IOTA Draco, Hydra and Ursa boards.
  - Add regulator control for various sensors on imx6qdl-sabresd board.
  - Add DISPLAY power domain support for i.MX6SX SoC.
  - Add stmpe-adc device node for Toradex iMX6 module.
  - Switch to SPDX identifier for imx6q-tbs2910 board.
  - Add proper ksz9031 clock skew values for imx6qdl-phytec-pfla02 board.
  - Mark I2C recovery GPIOs as open drain and correct and WEIM range
    configuration for apalis/colibri boards.
  - Small and random updates to various devices.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJcYo+8AAoJEFBXWFqHsHzO+D0H/3RYArKxp1FJ2QVS2w4uE2O7
 eWycgtie8d4x84/hdMG72sU/x0hZm0v1kXUGO9Yt17dgX3Dg1Sfv7bECqZAHvG11
 6dMuG5u3lCLjQQLieAAUvxpWFCne3gSWVQnb0o/zWiHBeGNQJt42hacLNYaJSqTL
 Vao3wiiGTZvVih6B+ueFi4Im/VChEn5rnKmjCqkFTAlUIpVvzLZqY8Jy+vjVC3aP
 5tLq8WnStJqgFgxtRpVKDsdu2KjJKCozpw0KZyM3MYQ4blGCCbFpFfyGfBeNves5
 xCWrx//rt//ol09X5UXtz4T+/QKC5390styCA9m+XgSFcFSYKgjps+9iD+5a1tk=
 =OH8n
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt

i.MX device tree changes for 5.1:
 - New board support: Logic PD i.MX6QD EVM, ZII SSMB DTU, Phytec
   phyBOARD i.MX6UL Segin, Y Soft IOTA Draco, Hydra and Ursa boards.
 - Add regulator control for various sensors on imx6qdl-sabresd board.
 - Add DISPLAY power domain support for i.MX6SX SoC.
 - Add stmpe-adc device node for Toradex iMX6 module.
 - Switch to SPDX identifier for imx6q-tbs2910 board.
 - Add proper ksz9031 clock skew values for imx6qdl-phytec-pfla02 board.
 - Mark I2C recovery GPIOs as open drain and correct and WEIM range
   configuration for apalis/colibri boards.
 - Small and random updates to various devices.

* tag 'imx-dt-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (31 commits)
  ARM: dts: imx: Add support for Logic PD i.MX6QD EVM
  ARM: dts: imx6qdl-sabresd: remove reg_sensors' regulator-always-on
  ARM: dts: imx6qdl-sabresd: add regulators control for mma8451 sensor
  ARM: dts: imx6qdl-sabresd: add regulators control for mag3110 sensor
  ARM: dts: imx6qdl-sabresd: add regulator control for isl29023 sensor
  ARM: dts: vf610: Add ZII SSMB DTU board
  ARM: dts: pfla02: add ksz9031 clock skew values
  ARM: dts: imx6qdl-phytec-pfla02: add missing interrupt-controller property
  ARM: dts: Add stmpe-adc DT node to Toradex iMX6 modules
  ARM: dts: Add devicetree compatibles for LS1021A based boards
  ARM: dts: colibri: use valid range configuration for weim
  ARM: dts: imx6: Add support for Phytec phyBOARD i.MX6UL Segin
  ARM: dts: imx6*-apalis/-colibri: mark I2C recovery GPIOs as open drain
  ARM: dts: vf610-zii-ssmb-spu3: Pass "no-sdio"/"no-sd" properties
  ARM: dts: imx: Add Y Soft IOTA Draco, Hydra and Ursa boards
  ARM: dts: imx7ulp: add sim node
  ARM: dts: imx6ull: change to use new compatible "fsl,imx6ull-usdhc" for usdhc
  ARM: dts: imx6ull: Fix i.MX6ULL/ULZ ocotp compatible
  ARM: dts: imx6sx: Add DISPLAY power domain support
  ARM: dts: i.MX51: digi-connectcore-som: Add support for I2C bus recovery
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:09:32 +01:00
Arnd Bergmann
89081095a2 i.MX DT bindings update for 5.1:
- Convert the bindings of FSL SoCs and the boards built on FSL SoCs to
    json-schema.
  - Add bindings for boards: i.MX8QXP MEK, LS1012A based Oxalis, and
    i.MX6 based Y Soft IOTA Draco and Hydra.
  - Add vendor prefix for EBS-SYSTART GmbH and Catalyst Semiconductor.
  - Add bindings for imx8qm scu clock and imx7ulp system integration
    module.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJcYoByAAoJEFBXWFqHsHzOWPAH/1tuu0HPFXahqpVUJC4VEeGC
 0jFa9xnDxG+GFLJw+4gjBm3e7LkcK4MdARpHYVWsP9n6+QMi74Bhe7QKa/B/7+ll
 aUZaoJXc+A47niZvORc+intjDUkr7qjAZv0NzHJG1X5rXDFwCK+bjQyMSiYBn+p5
 KFedKd1FaF3EfubIsSNedimi9g+57qt0jTQ6FzRrYVIKbia2AznobQI0lputfNcV
 J1otgO5SaCdHxiAelPgRONp9aHsTmNWq559rjobfSJG0BcmGrsX9tb3oy0F58d0n
 Bm/UhDUna4LhIhECejf6sWpxnmkc2inB8/fBDHS7/3DEyJQGgH0GuTJyhgMAHOA=
 =Mi3B
 -----END PGP SIGNATURE-----

Merge tag 'imx-bindings-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt

i.MX DT bindings update for 5.1:
 - Convert the bindings of FSL SoCs and the boards built on FSL SoCs to
   json-schema.
 - Add bindings for boards: i.MX8QXP MEK, LS1012A based Oxalis, and
   i.MX6 based Y Soft IOTA Draco and Hydra.
 - Add vendor prefix for EBS-SYSTART GmbH and Catalyst Semiconductor.
 - Add bindings for imx8qm scu clock and imx7ulp system integration
   module.

* tag 'imx-bindings-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  dt-bindings: fsl: scu: add imx8qm scu clock support
  dt-bindings: fsl: scu: add fallback compatible string for clock
  dt-bindings: arm: fsl: Add devicetree binding for Oxalis
  dt-bindings: vendor-prefixes: Add EBS-SYSTART GmbH Vendor Prefix
  dt-bindings: arm: fsl: Fix bindings for LS1012A and LS1021A based boards
  dt-bindings: Add vendor prefix for Catalyst Semiconductor
  dt-bindings: arm: Add Y Soft IOTA Draco, Hydra and Ursa boards
  dt-bindings: fsl: add imx7ulp system integration module binding
  dt-bindings: arm: imx: add imx8qxp mek support
  dt-bindings: arm: Convert FSL board/soc bindings to json-schema

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:07:04 +01:00
Arnd Bergmann
f815bb4e97 ARM: dts: Amlogic updates for v5.1
- more features for Endless EC100 board
 - chip temperature sensor support
 - fix ethernet pins
 - add Mali-450 GPU
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAlxh4LQACgkQWTcYmtP7
 xmWu3w//bOc1aqMh325KmhP+WXUJEp0Z+7/r8TcqYYW2UMdjqGKvYNREaL+cDKu3
 6DOaWvTKrRHOJr1L4uSdg1NBEhH6Nzmb7r9bRLkj2xT5vT66pZIiMa4OETfvdvP2
 TQ86MPUY69M6IJ2JzeYA34stItYanExDhosbaHmPSJqwvDdh0V932eBg4OY/IpEn
 j4Hygf9HYSA5cSx7J2Ah1gUXzI66FcPlRBWrl+jeTS7qqU9GxYo8/8Hrgn6hyCTQ
 dpQHvgsCdeHvsf8fRpulxH/aUo5u2nuX1/R8UrOWUmCPd2r3RBu0U27Ja7FJiAeb
 s6OwLveAVeMS7Urrh3ylaFstbjg3CMtGvh1hnbWozF08yNzd6ihD5vsUED7vpxNr
 hT8m8oC8hujP1CiIxFqbkPZsz/hWoagPOG2AtRNMehs+gVxOfD+CTkw3Y+x3+NrA
 DwU9YzrKqFn4StSHJ6ccBE857gSH5QgOq0rLYiH1AlktHvXKh/hL/H82pFDJHZcW
 OFZ2nAI9VCPDlx8tCbuH16BIqD03piT5ew0wWozG5uc/JP26stmMXHQlQVDxRju4
 NsJiqGzAtgIK+jf2COVZJeYtOO9IYjPwrC0wJe2vWW7MTUBv0LSQDuBV2pTT/N87
 pSqeusg80DuPC3WZLGU3whitwO6yg3NiWeGB6cweu3gWeQsMSig=
 =PNC5
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into arm/dt

ARM: dts: Amlogic updates for v5.1
- more features for Endless EC100 board
- chip temperature sensor support
- fix ethernet pins
- add Mali-450 GPU

* tag 'amlogic-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  ARM: dts: meson8b: ec100: add the GPIO line names
  ARM: dts: meson8b: ec100: improve the description of the regulators
  ARM: dts: meson8b: ec100: enable the Ethernet PHY interrupt
  ARM: dts: meson8m2: mxiii-plus: add iio-hwmon for the chip temperature
  ARM: dts: meson8b: odroidc1: add iio-hwmon for the chip temperature
  ARM: dts: meson8b: ec100: add iio-hwmon for the chip temperature
  ARM: dts: meson8b: add the temperature calibration data for the SAR ADC
  ARM: dts: meson8: add the temperature calibration data for the SAR ADC
  ARM: dts: meson8m2: use the Meson8m2 specific SAR ADC compatible
  ARM: dts: meson: switch the clock controller to the HHI register area
  ARM: dts: meson8b: fix the Ethernet data line signals in eth_rgmii_pins
  ARM: dts: meson8b: add the Mali-450 MP2 GPU
  ARM: dts: meson8: add the Mali-450 MP6 GPU
  dt-bindings: gpu: mali-utgard: add Amlogic Meson8 and Meson8b compatible
  ARM: dts: meson8b: add the APB bus
  ARM: dts: meson8: add the APB bus
  ARM: dts: meson6: add the APB2 bus

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:05:07 +01:00
Arnd Bergmann
e7b984912d arm64: dts: Amlogic updates for v5.1
- new board: G12a-based x96 max
 - G12a: add peripheral clock controller and clock measure support
 - s400: fix SD/eMMC max rate issues
 - s400: audio: add sp/dif in support
 - GX: support simplefb
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAlxh3OEACgkQWTcYmtP7
 xmUzig/9H+BF3/sgQaa7Om4Bj58V0/F7Q+OFgWl8ZFmYRmtxb5COSnpjLIwp2OMf
 Hry6UqG3sr2/+34vDK//bctriO1JweXDZdvPGMm+J/nss2SzqO6MIbBUjhr2PJJS
 /xcApBX3V5Zju+1YFf0hYPWuRo+RLsdE0ENmu2Q41HTuuyrkEtcqx+MRYpz7I6Pw
 z3FF2SbZ1DRQcVNdhYlRmApSvBswNgagRXZOKDr9Je8vFr4+XYDrJ8rEPQNcj+HG
 RGOTH23yb8C/yD87wUSPBI/6HgvD9UNWQ8vTAJRL49hsWVlxydPUsVHq7qh0On+e
 Rugjie1P0taxiZkuHdQ08qNOMw0ZKYig+y8XvrFc34xbJLUy32F2D6xmEEGf7DiS
 oC0wgWV2UYpr25DU6cn8Iq6BKtao2FjuhsqunLFFmaiEkl9x0/bpBZ8wsU6tLfrd
 mViCsD5w5oQ+zpG0YT2pyNZST8cQKA+WQN9Cca8Z/2EpJbKR7Mc7hvZcvrNHSs/c
 Tt9L5CwOJswUgORdiPv4/Oc2ZhADIPRsxXE+rjPa9ffYWS+21QM7y2imRIAuhqKQ
 RsSk1m+TXhdzkTP6gk25b4dhPDGwT8Um8c5P3ZSpqJX2HIKmxM0K5vrlBd7MtGyu
 uLD4vRfe3WC5C9mSTFIdPFdz8QaTHXZH3w4DVPdMYGtYjG6DGxg=
 =gldI
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into arm/dt

arm64: dts: Amlogic updates for v5.1
- new board: G12a-based x96 max
- G12a: add peripheral clock controller and clock measure support
- s400: fix SD/eMMC max rate issues
- s400: audio: add sp/dif in support
- GX: support simplefb

* tag 'amlogic-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  arm64: dts: meson: add g12a x96 max board
  dt-bindings: arm: amlogic: add amediatech x96-max bindings
  arm64: dts: meson: g12a: add peripheral clock controller
  arm64: dts: meson: g12a: add clk measure support
  arm64: dts: meson: axg: add clk measure support
  arm64: dts: meson: fix g12a buses
  arm64: dts: meson-axg: add efuse device
  arm64: dts: meson: s400: fix emmc maximum rate
  arm64: dts: meson: s400: enable sdr104 on sdio
  arm64: dts: meson-gx: add support for simplefb
  dt-bindings: meson: add specific simplefb bindings
  arm64: dts: meson-gx: Add canvas provider node to the vpu
  arm64: dts: meson-axg: s400: add spdifin to the sound card
  arm64: dts: meson-axg: s400: add spdif-dir codec
  arm64: dts: meson-axg: add spdifin

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:04:21 +01:00
Arnd Bergmann
260bcbb319 mvebu dt for 5.1 (part 1)
- Cleanup marvell,dsa properties
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCXF3xrAAKCRALBhiOFHI7
 1X7aAJ997tv3TZ3qCcmKH2R37OEMHBxZ+ACfVWaxIkQ5UR5CrtgFCNhV/1AUiic=
 =H3if
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt-5.1-1' of git://git.infradead.org/linux-mvebu into arm/dt

mvebu dt for 5.1 (part 1)

 - Cleanup marvell,dsa properties

* tag 'mvebu-dt-5.1-1' of git://git.infradead.org/linux-mvebu:
  arch: arm: dts: Remove disabled marvell,dsa properties

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:01:32 +01:00
Arnd Bergmann
1c2950563a mvebu dt64 for 5.1 (part 1)
- Interrupt support to Armada 7K/8K thermal nodes
  - Armada 37xx related patches allowing to enable suspend to RAM
    (USB2, USB3, PCIe, SATA, DSA)
  - uDPU board support (Armada-3720 based):single-port FTTdp
     distribution point unit
  - Fixes for EspressoBin Ethernet support when using U-Boot mainline
  - cleanup for partitions under flashes nodes
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCXF3x1wAKCRALBhiOFHI7
 1ZtFAJ4pn8nIeHqWgYEUmWmCpQXnUoc4eQCgninj7JcAFV8KNLKhRCkKdlkeO38=
 =Wt6S
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-dt64-5.1-1' of git://git.infradead.org/linux-mvebu into arm/dt

mvebu dt64 for 5.1 (part 1)

 - Interrupt support to Armada 7K/8K thermal nodes
 - Armada 37xx related patches allowing to enable suspend to RAM
   (USB2, USB3, PCIe, SATA, DSA)
 - uDPU board support (Armada-3720 based):single-port FTTdp
    distribution point unit
 - Fixes for EspressoBin Ethernet support when using U-Boot mainline
 - cleanup for partitions under flashes nodes

* tag 'mvebu-dt64-5.1-1' of git://git.infradead.org/linux-mvebu:
  arm64: dts: marvell: armada-37xx: link USB hosts with their PHYs
  arm64: dts: marvell: armada-3720-espressobin: declare SATA PHY property
  arm64: dts: marvell: armada-3720-espressobin: declare PCIe PHY
  arm64: dts: marvell: armada-37xx: declare the COMPHY node
  arm64: dts: marvell: Remove unnecessary #address-cells/#size-cells under flashes
  arm64: dts: armada-3720-espressobin: Set mv88e6341 cpu port as RGMII-ID
  arm64: dts: armada-3720-espressobin: Configure RGMII and SMI pins
  arm64: dts: marvell: Add device tree for uDPU board
  arm64: dts: marvell: armada-3720-espressobin: declare PCIe warm reset pin
  arm64: dts: marvell: armada-37xx: declare PCIe reset pin
  arm64: dts: marvell: armada-37xx: declare USB2 UTMI PHYs
  arm64: dts: marvell: armada-37xx: fix USB2 memory region
  arm64: dts: marvell: armada-37xx: declare SATA clock
  arm64: dts: marvell: armada-37xx: fix SATA node scope
  arm64: dts: marvell: add interrupt support to cp110 thermal node
  arm64: dts: marvell: add interrupt support to ap806 thermal node

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:00:46 +01:00
Arnd Bergmann
1de741634b mt2712:
Add device nodes for usb3, iommu, smi, i2c, spi, pwm,
 mmc, NAND flash and PCIe
 
 mt6797:
 add pinctrl node
 enable uart pins on x20 board
 enable uart pins on EVB
 
 mt7622:
 Add all CPUs to the cooling maps
 
 mt7623a:
 Remove unused binding description
 
 mt7629:
 Add binding description for the SoC and the BananaPi
 based on this chip
 
 mt8173:
 Add all CPUs to the cooling maps
 
 mt8183:
 Add binding description for the SoC
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEiUuSfQSYnG8EMsBltDliWyzx00MFAlxd2gYXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQtDliWyzx00MXBg//VKQgMqIWshMhu7hrD0wkPXZw
 B0BJVlWhywTEisv3oduSL5HOVzKU6pQrWnF+X9PYokwNxz3VkNh3RixaLGsY3JOr
 mkGtx3zAi1qsKYoKH6PNBhJVNCdX8D9SFlBSNOGkK0P5s0kjuPqzk28QU3ehwzdo
 pFjbNadNDL9ySoybFtWGR8UwNkqq0w9acuiZbuRrqzdqkZLdxQ6zDry9P9s+97lA
 WxFQEm+yhGHkpOb1XG75Zw3JBG55L3KymZV+h60wqHvdVCszINZZ9C2c/PqsWGVd
 JzWMJPx2cghfLZdGlr5HQhKD5xM2Swmy2b5co4yRwsSmXdiK2RDkHkkli5CMpiIG
 bt/6v3YffIVV07p/pzWrcOhJex4tCs0w3w24T03FxfCWVNXwb2kIV0Sv8dSBhUku
 aESCBSrU0XAaKmhOPv49ys1oACpvPA9v/QyR+YyQPnK/4c4YezPidhCStvzhoxFG
 a64OID6B1cmhI8PBCecRG22fEmDxktTj/FJ/0nsdbUgwbMXubr2vr9RzJW3B/M+G
 z2ykW6q2K736EWWfKTpzXxfghVSaE90F1leQ3hjIv7h4AuribDw4IJ6ye+uI4Hb/
 jiVHy6TSk8C07jMsvjifs1dL7UF6GIisD+90psuaiYngjilQkaHeDkosybe4qA6n
 +r/pe4bCWvajl37DMXs=
 =xm9P
 -----END PGP SIGNATURE-----

Merge tag 'v5.0-next-dts64' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/dt

mt2712:
Add device nodes for usb3, iommu, smi, i2c, spi, pwm,
mmc, NAND flash and PCIe

mt6797:
add pinctrl node
enable uart pins on x20 board
enable uart pins on EVB

mt7622:
Add all CPUs to the cooling maps

mt7623a:
Remove unused binding description

mt7629:
Add binding description for the SoC and the BananaPi
based on this chip

mt8173:
Add all CPUs to the cooling maps

mt8183:
Add binding description for the SoC

* tag 'v5.0-next-dts64' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  dt-bindings: arm: mediatek: add support for MT7622 BPI-R64 and MT7629 RFB
  dt-bindings: arm: mediatek: remove unused "mediatek, mt7623a"
  dt-bindings: arm: Add bindings for Mediatek MT8183 SoC Platform
  arm64: dts: add pcie nodes for MT2712
  arm64: dts: add nand nodes for MT2712
  arm64: dts: add mmc nodes for MT2712
  arm64: dts: add pwm nodes for MT2712
  arm64: dts: add spi nodes for MT2712
  arm64: dts: add i2c nodes for MT2712
  arm64: dts: add iommu/smi nodes for MT2712
  arm64: dts: Add USB3 related nodes for MT2712
  ARM64: dts: mediatek: Add all CPUs in cooling maps
  arm64: dts: Add uart for mt6797 EVB
  arm64: dts: mediatek: x20: Add pinmux support for UART1
  arm64: dts: mediatek: mt6797: Add pinctrl support

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 15:59:45 +01:00
Arnd Bergmann
f7d488be48 mt7623:
add cooling mask to all CPUs
 add compatible to sysirq binding
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEiUuSfQSYnG8EMsBltDliWyzx00MFAlxd1V0XHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQtDliWyzx00OGww/9Fma+4OGoHtgn0z5Z+cfQ//mw
 oaUxV8C7IxONQAriQ4KPOmyi6AGnvuGu0iuQSmzW+ueDK4HNfU92BuNNBJSyW9PO
 Vs/nsP6QZJTtpG/aUpmuYrG0iwpk8y1TuLQTQ19Txtnwy5ryaMt3xqU+7v9pPv4j
 vF8mZ9BUJ6JEX6so5xM1zHZLNvV2y1rQ3rYR9TeUfTAJnH/n4Qme/ZR/3zSICgGO
 Q++f3w9hXlwEFxQdeYUoQohj41ih9KlgZo1uXOI7QDMMFg8PzIkzj14rDDNsIkRD
 Yaq3oN3qFx8JzB+mNAa4WWsCHHtqSoLBlr3hc1YKSbn5gCctyJaI4LNuhu2J8WCq
 YNqk7LesuxwD/Hr5yzuqYL2pJjLA6Bwjw6pyJxQOzZJJ6m2RyuWwmMT0BgcnaU1j
 1o7MafEnskbus/to4TQ0Sbq0EkOf7YElABII59/JR42t1779aclQ+KjwQNSB+KkY
 kssqdCJ6ATKFr+2FCwZN92zi7U4M2NBffJj/jj0t5oEZC0ZZYoq31MEgK6iwzMEP
 XdOdoOOw8IGxl/RnoQq8bNdX8ca9K5UCw/kSGN6OGwA1bFzfbp3nKEBBdlVpMYqF
 IMVJRsIFbqx5Xn64gMXhwWByEFCz0jsT1BexDy0K4a0SjC0O7pzWj8zs4xD0H1Y/
 XkSPcBe07hOmkdFTA60=
 =bcQS
 -----END PGP SIGNATURE-----

Merge tag 'v5.0-next-dts32' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/dt

mt7623:
- add cooling mask to all CPUs
- add compatible to sysirq binding

* tag 'v5.0-next-dts32' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux:
  dt-bindings: interrupt-controller: update bindings for MT7623
  ARM: dts: mt7623: Add all CPUs in cooling maps

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 15:54:22 +01:00
Arnd Bergmann
1228c051ba arm64: tegra: Device tree changes for v5.1-rc1
This contains a couple of fixes to existing device trees, enables CPU
 frequency scaling on various Tegra210 boards, enables the TCU as debug
 serial port on Jetson Xavier, adds various improvements for SDMMC on
 Tegra210, Tegra186 and Tegra194 boards and finally adds initial support
 for the NVIDIA Shield TV.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlxdmX0THHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zob8+D/4oX6rlHS70H1CVhEF/2JejVBki5iX2
 YGsjtywFGVU072OjQrIXARq/7LlH/4ykF8m8rNCTCzL1SewxpAhzTuyHSAitREjX
 FMICa9bfv26J8n4n9SVOvuWmHc88rK3xaXgiKXIO/2viZsVDC7jeEfl/ztbSUWC7
 KHx3moU3mzM0AqIX0z+tYg93uxYpx/sUgygLsJIneaj7b1g5sMZCAdLWQnvXmZKf
 q5WTwbfUmhg2OrhnO6WXr6swmo7cXKO3zJcm/+b2adf01axMgCjA1RVFgO9yonqn
 s2402oVRv/y7jsM7HGptlS6NqcurMnhlKCEUsVucXugWwbbAj/oFirYiCWW6fkq/
 fgpOVbudjtF4jEiwxJ1KOVXlT34/Tt/Rksxr9uAht2L3KyDCT6mVKFVHq2jIFYVx
 bIXT9HB3/ZjoVQzQKwRqKR8P9923avMmGvkGrDVXvvXx10hm7CK+UYJxOuwf80dQ
 7ahfqSf34Pm3ezWpzr2TJxbd1DOFl57W2K/BjM3eUolwYXwIv8jANj87CqJj+llf
 gtzMZS1bEdmFiP8DVnW0oQRS7quqSw0jo6qYLPV/dUBMPLFN8kdoWC9AfpQAaOxY
 jJjpKBTkRcpc48TNAqcAuq53d1f+fsRptuIX2sLuSz7i3mQ80fJo+dET836Q0nYx
 YYgVNWlJ5FTYyg==
 =31KA
 -----END PGP SIGNATURE-----

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

arm64: tegra: Device tree changes for v5.1-rc1

This contains a couple of fixes to existing device trees, enables CPU
frequency scaling on various Tegra210 boards, enables the TCU as debug
serial port on Jetson Xavier, adds various improvements for SDMMC on
Tegra210, Tegra186 and Tegra194 boards and finally adds initial support
for the NVIDIA Shield TV.

* tag 'tegra-for-5.1-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: (25 commits)
  arm64: tegra: Update compatible for Tegra186 I2C
  arm64: tegra: Update compatible for Tegra210 I2C
  arm64: tegra: Support 200 MHz for SDMMC on Tegra194
  arm64: tegra: Add CQE Support for SDMMC4
  arm64: tegra: Add SDMMC auto-calibration settings
  arm64: tegra: Mark TCU as primary serial port on Tegra194 P2888
  arm64: tegra: Add nodes for TCU on Tegra194
  arm64: tegra: Enable DFLL clock on Smaug
  arm64: tegra: Add CPU power rail regulator on Smaug
  arm64: tegra: Enable DFLL clock on Jetson TX1
  arm64: tegra: Add pinmux for PWM-based DFLL support on P2597
  arm64: tegra: Add CPU clocks on Tegra210
  arm64: tegra: Add DFLL clock on Tegra210
  arm64: tegra: p2771-0000: Use TEGRA186_ prefix for GPIO names
  arm64: tegra: p3310: Use TEGRA186_ prefix for GPIO names
  arm64: tegra: p2597: Sort nodes by unit-address
  arm64: tegra: p2972: Sort nodes properly
  arm64: tegra: Add regulators for Tegra210 Darcy
  arm64: tegra: Add pinmux for Darcy board
  arm64: tegra: Add gpio-keys nodes for Darcy
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 15:52:12 +01:00
Arnd Bergmann
6583d1fd1f ARM: tegra: Device tree changes for v5.1-rc1
Contains a single patch that adds the "jedec,spi-nor" compatible string
 where appropriate.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlxdmP0THHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoe4QD/4kFg14Rd4ERRZU31B5MNTmVETqEPx4
 FGyR0FvMP0eNQCTJE/hrI9yiPVdB1ryE9YU//rsfIcezpTcsLbquEb2QqJqrP5y1
 cdENJ7vi5kRV7xIh/UzkaYvg5qp2gYZVL7wMvPfuaSXqExcZqoyiNnHnGbP2oJzg
 /GM1doEe8yck6WGLipJMyYtXkWAQydUwhNuWSAMXHKrgisIdB1/BSVXT3Ty9LpXC
 doroWS/CeW3QN+VfqXPObXWM4f2EX7ApThblb7cvt55jbb8CenQXlszFGcPq4L29
 ZV0s04mNBwXbJl4W0ilaXfCWceyjOx3EPeYJ/XA9khswyFVg7TVXV+AsevSbONya
 bfm7c2x5Km35olPTlKo14qhcUw9ExfxyiC/rwi08/LI6wNZFSux9ZYNJL5EYPrxI
 7F4ULcJaTG1K/LQy6xXrh98xRy0sSsSklFfGZ8DdOFuHEpHI+RQaWfOXYD4T+2QN
 oZIA4x93zbRbvOQGkO7sMm1I9Oa3EI+PRG6QBHJyn/uMbaeA1gdtPr/gpwccTQo1
 stgRLDwaxcUuvD0Byz2jAkgOoN2bPUdjqXWnKqHXFSiFoJj2IQOdJqNLw9NfB3j/
 JrDOHHsJyHaAKovVAvaGi0zF83ZspVMyw4OnwyCCmeGqUX1BXwHCYzJWI7f+4WQS
 R5wzq2pVU4+Opg==
 =Cuag
 -----END PGP SIGNATURE-----

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

ARM: tegra: Device tree changes for v5.1-rc1

Contains a single patch that adds the "jedec,spi-nor" compatible string
where appropriate.

* tag 'tegra-for-5.1-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: add "jedec,spi-nor" flash compatible binding

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 15:51:11 +01:00
Arnd Bergmann
14ab4f4330 dt-bindings: tegra: Changes for v5.1-rc1
This contains device tree binding updates for CPU frequency scaling on
 Tegra210, BPMP support on Tegra210 and support for NVIDIA Shield TV.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlxdmAITHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoRH5D/9mL1momHpLBgEVPpMS5L6UWlgzLHUj
 Ji69q4U2d2KYIclxVD2J8aCc9pmWI+tR0MIUmf1d60NgJfXwC41T9aVndw1yDwQ2
 LFOLW05hcISTghPvP2kFAPh/bkYFcDOlKHAk2mc8ITWgOpJWXhP3iLwKmDsLKkg9
 +nZjoJjZD6DP618Nqu2SzeFClHWjcS+x1PxuZ6e6iQyMgCyp6JDEGArclVx6mAi6
 CnBJjsyHNFUvQ+PkgVW5y+pMVfrs1Q5iUvLGD5Nqi1RniqI9m1j5PZDb6vDUeoX5
 l3O5SxwTf+x3FhqBf//AoQlUdzVVRILR23ncgc9G9513lSQX6ruodB0C0tvuRKoC
 l5Wc3+S3obVNMyF2SZVYkdaqCzids8K8TbK576c8brQ5/Gn7JSAhYm0Cxc5Yw5qd
 SBj3Ubw337BEsfpI8gntMwgOaXPpD6OqQ+2Tybz5cnYtPcLxJicN1qJMm6zxOx0y
 9MknaynXdOMEy3Od5KaHQHPcwOYx3+883thM5VB+2pzD2OapTL36AwxcT/5qwy/X
 TjcHNOj+mIpxZ40W5yJf0u0kq2JuQNh2MsvW93cXA6XB+GDu3qps6PqD4gk/nVhY
 elsC+XGFxV+7J5eMSVeJrCsd9eSxkDlFdmvh/AJ/1+jxOsiLYutamjG0JpmML0Rl
 +RZcMO5ZZNJXIQ==
 =CP31
 -----END PGP SIGNATURE-----

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

dt-bindings: tegra: Changes for v5.1-rc1

This contains device tree binding updates for CPU frequency scaling on
Tegra210, BPMP support on Tegra210 and support for NVIDIA Shield TV.

* tag 'tegra-for-5.1-dt-bindings' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  dt-bindings: cpufreq: tegra124: remove cpu_lp clock from required properties
  dt-bindings: cpufreq: tegra124: remove vdd-cpu-supply from required properties
  dt-bindings: clock: tegra124-dfll: add Tegra210 support
  dt-bindings: clock: tegra124-dfll: Update DFLL binding for PWM regulator
  dt-bindings: firmware: tegra186-bpmp: Remove name property
  dt-bindings: firmware: Add bindings for Tegra210 BPMP
  dt-bindings: tegra: Add Shield TV device tree binding documentation

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 15:50:14 +01:00
Arnd Bergmann
550a43b310 Renesas ARM Based SoC DT Updates for v5.1
* R-Car H2 (r8a7790) based Stout board
   - Convert to new LVDS DT bindings
 
 * R-Car H1 (r8a7779) and M1A (r8a7778) SoCs
   - Describe HSCIF0/1 devices in DT
 
 * RZ/G1M (r8a7743) SoC
   - Correct sort order of the RWDT node
   - Remove aliases: should be defined in board rather than SoC DT if needed
   - Remove generic compatible string from iic3: it is not compatible
 
 * RZ/G1N (r8a7744) SoC
   - Describe LVDS and DU devices in DT
   - Correct sort order of VSP and MSIOF noces
 
 * RZ/G1C (r8a7747) based iWave SBC
   - Enable RTC
 
 * RZ/A2M (r7s9210) SoC and EVB
   - Initial support
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4nzZofWswv9L/nKF189kaWo3T74FAlxdXz4ACgkQ189kaWo3
 T75wbBAAqOyXvMCt7lGsov4i0e/lqSFl13uHv83Mk+PVvvT48H2g/ItitGDq4GYr
 ItAYBRF66XcAKJbA30e4OvAk+yB0Y3iMT8KIR4Nca5ls9rn6NwbyBugZ65mizKEk
 vIoA1sGpsWUrK0yxmGoIx9C6aX9qsh82ivdMpvwb1Kzy5oO59GCgJ9d/d+Q2KwvG
 rycEPQwHLFIIijoNr0IH3ZiXhyfeEabGHg/EK/FVxJJNgQLjFW0ZogsZ/a49ptoZ
 YZqEc2w13a+rWFTg7059UbzPNjJCq0/2lYRPthWTz9KzUyFgSZ+2GvawdoFSvBZ5
 cf+6+qZkgkVvs00yajd6Q2t9IcyjeVmU+GBHFSO65wDRJknDN8sE1v/qHaAr0+Bm
 My8Th55Tzak/d+6Zb6xP95kTiaUDpWQrjntMvg3AewiAcjDJasBSsU9EDBlEDh3W
 VaQVkyyHtWwfiS0qFf4u0Rfgb2DIBYLvXzslipyZnsKih14+rC/S6N3j8rykrOoE
 DTjh7Hi4k4xYwqwNFrg9lvGCoAG4aZddyat9SYfgTs65OmG7huyTH5vqtsmB3kN0
 0a33nQ8xt24TH6wSHGB17GXeR9JEluqHC0Do9bbis1B6QiSBvcY+Ne1LtFN8O5sH
 RNEcoqU1cCLVHvbRJL/3Y5bwYF22f0GvbMxO/vgdmcz2DSxbuL0=
 =q0l0
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-dt-for-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into arm/dt

Renesas ARM Based SoC DT Updates for v5.1

* R-Car H2 (r8a7790) based Stout board
  - Convert to new LVDS DT bindings

* R-Car H1 (r8a7779) and M1A (r8a7778) SoCs
  - Describe HSCIF0/1 devices in DT

* RZ/G1M (r8a7743) SoC
  - Correct sort order of the RWDT node
  - Remove aliases: should be defined in board rather than SoC DT if needed
  - Remove generic compatible string from iic3: it is not compatible

* RZ/G1N (r8a7744) SoC
  - Describe LVDS and DU devices in DT
  - Correct sort order of VSP and MSIOF noces

* RZ/G1C (r8a7747) based iWave SBC
  - Enable RTC

* RZ/A2M (r7s9210) SoC and EVB
  - Initial support

* tag 'renesas-arm-dt-for-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: dts: r8a7744: Add LVDS support
  ARM: dts: r8a7744: Add DU support
  ARM: dts: r7s9210-rza2mevb: Add support for RZ/A2M EVB
  ARM: dts: r7s9210: Initial SoC device tree
  ARM: dts: r8a7779: Add HSCIF0/1 device nodes
  ARM: dts: r8a7778: Add HSCIF0/1 support
  ARM: dts: r8a7743: Fix sorting of rwdt node
  ARM: dts: r8a7743: Remove aliases from SoC dtsi
  ARM: dts: r8a7743: Remove generic compatible string from iic3
  ARM: dts: r8a7744: Fix sorting of vsp and msiof nodes
  ARM: dts: iwg23s-sbc: Enable RTC
  ARM: dts: stout: Convert to new LVDS DT bindings

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 15:48:52 +01:00
Andreas Kemnade
12af39cad7 ARM: OMAP2+: hwmod: disable ick autoidling when a hwmod requires that
Deny autoidle for hwmods with the OCPIF_SWSUP_IDLE flag,
that makes hwmods working properly which cannot handle
autoidle properly in lower power states.
Affected is e. g. the omap_hdq.
Since an ick might have mulitple users, autoidle is disabled
when an individual user requires that rather than in
_setup_iclk_autoidle. dss_ick is an example for that.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Acked-by: Tony Lindgren <tony@atomide.com>
Tested-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tero Kristo <t-kristo@ti.com>
2019-02-15 16:48:11 +02:00
Andreas Kemnade
fddf4e29a6 clk: ti: check clock type before doing autoidle ops
Code might use autoidle api with clocks not being omap2 clocks,
so check if clock type is really omap2.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Acked-by: Tony Lindgren <tony@atomide.com>
Tested-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tero Kristo <t-kristo@ti.com>
2019-02-15 16:47:55 +02:00
Andreas Kemnade
d277ce2d3a clk: ti: add a usecount for autoidle
Multiple users might deny autoidle on a clock. So we should have some
counting here, also according to the comment in  _setup_iclk_autoidle().
Also setting autoidle regs is not atomic, so there is another reason
for locking.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Acked-by: Tony Lindgren <tony@atomide.com>
Tested-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Tero Kristo <t-kristo@ti.com>
2019-02-15 16:47:55 +02:00
Tero Kristo
ead478250b clk: ti: generalize the init sequence of clk_hw_omap clocks
Add a generic API for initializing clocks of clk_hw_omap type clocks,
and convert the whole TI clock driver suite to use this for registering
the clocks. Also, get rid of the now redundant API for adding the clocks
to the OMAP HW clocks list; instead this is used directly from the
register API.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Tested-by: Keerthy <j-keerthy@ti.com>
2019-02-15 16:46:22 +02:00
Tero Kristo
8aa09cf322 clk: ti: remove usage of CLK_IS_BASIC
Remove the usage of CLK_IS_BASIC flag completely from TI clock driver.
In most cases, the use is completely redundant, but in some cases
we need to use the new API to check if the clock is an OMAP clock or not.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Tested-by: Keerthy <j-keerthy@ti.com>
2019-02-15 16:46:22 +02:00
Tero Kristo
7fd79ee78a clk: ti: add new API for checking if a provided clock is an OMAP clock
omap2_clk_is_hw_omap can now be used to verify if the provided clk_hw
is an omap HW clock or not. This is done to replace the usage of CLK_IS_BASIC
flag within the TI clock drivers.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Tested-by: Keerthy <j-keerthy@ti.com>
2019-02-15 16:46:21 +02:00
Tero Kristo
77b773aea5 clk: ti: move clk_hw_omap list handling under generic part of the driver
Currently the clk_hw_omap list is handled under the autoidle code, but
it should be accessible generically. Add a few APIs towards this, and
update the autoidle code to use the generic implementations.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Tested-by: Keerthy <j-keerthy@ti.com>
2019-02-15 16:46:21 +02:00
Arnd Bergmann
ec38fad35f Second Round of Renesas ARM64 Based SoC DT Updates for v5.1
* R-Car Gen3 SoC based Salvator-X, Salvator-XS and ULCB boards
   - Enable HS400 support for eMMC
 
 * R-Car E3 (r7a77990) SoC
   - Add OPPs table for cpu devices
 
 * RZ/G2E (r8a774c0) SoC
   - Describe TMU, CMT, SDHI devices in DT
   - Describe pincontrol support for SCIF2 device in DT
   - Add OPPs table for cpu devices
 
 * RZ/G2E (r8a774c0) based EK874 board and CAT875 sub-board,
   and CAT874 board
   - Initial support
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4nzZofWswv9L/nKF189kaWo3T74FAlxdYfIACgkQ189kaWo3
 T76PixAAnSzRxLUHssiuUZMje7PMJQiof41rO6800v3NK53z1KQe7azDuB8X2rrd
 uWYieSlUudRkFGVMT3hNzXHaonWucEklJAGoud2w5Ih2Vd9zOvK2Ae2dKn0Pf5aU
 jRKhYB2y+vUY+UT6AQO5sddHSnwb1iXY2XEqa3+obO5VxPrjCEkExiu6VYsZoIIh
 s5vSek/7SdifScwSAM7ZombvsFYvTZl2caCJYFeKK21sVKZfUUEq5DWfobYwiWMe
 P05LstjaD2FdkEgGECL4a7gWuHYF9hsSuSsJ7yy4si6BlFKASylRCQA27YvHFOle
 otDaStMj3vFpq5jLuGnGFIdXIDw173h5RR/g4QJbjM+eWAPn8NDelbrxq8tbMV+7
 nbHjNUvc4+rcHEzlLQTfsGoYKejY+cOndefIbviflieLJKzRzRuWuqkt19NwblcR
 fgseBR1fTaVciLORvm17xhYWZMPDVCggaooegkKJ2+yOu626Y7bfVT+BJqds6PTo
 G7KwGXJb5Kj49cgeEsco/WNoOkSatYha8FwBzBZW+fWdMeBxWHMX34ycgeWyjY0c
 T79Ik9vIcyeRmmYFKOm/aJZZ/CRoOvLOO8u4nLtJ1bBrMnKetLVGjUIrOecFtbw0
 e0oxCNiLZ7iVGsdcnMxCpmMhBV9hEVgsdhShQAfyUb6sAYdP578=
 =3PTZ
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm64-dt2-for-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into arm/dt

Second Round of Renesas ARM64 Based SoC DT Updates for v5.1

* R-Car Gen3 SoC based Salvator-X, Salvator-XS and ULCB boards
  - Enable HS400 support for eMMC

* R-Car E3 (r7a77990) SoC
  - Add OPPs table for cpu devices

* RZ/G2E (r8a774c0) SoC
  - Describe TMU, CMT, SDHI devices in DT
  - Describe pincontrol support for SCIF2 device in DT
  - Add OPPs table for cpu devices

* RZ/G2E (r8a774c0) based EK874 board and CAT875 sub-board,
  and CAT874 board
  - Initial support

* tag 'renesas-arm64-dt2-for-v5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  arm64: dts: renesas: cat875: Enable PCIe support
  arm64: dts: renesas: r8a774c0-cat874: Add pciec0 support
  arm64: dts: renesas: r8a774c0: Add TMU device nodes
  arm64: dts: renesas: r8a774c0: Add CMT device nodes
  arm64: dts: renesas: r8a774c0: Add OPPs table for cpu devices
  arm64: dts: renesas: r8a77990: Add OPPs table for cpu devices
  arm64: dts: renesas: enable HS400 on R-Car Gen3
  arm64: dts: renesas: cat875: Add ethernet support
  arm64: dts: renesas: r8a774c0-cat874: Add uSD support
  arm64: dts: renesas: r8a774c0-cat874: Add pincontrol support to scif2
  arm64: dts: renesas: Add Si-Linux EK874 board support
  arm64: dts: renesas: Add Si-Linux CAT874 board support

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 15:44:18 +01:00