Commit graph

932,869 commits

Author SHA1 Message Date
Linus Torvalds
ae3fa8bd73 - Fix bug in DM crypt's sizing of its block integrity tag space,
resulting in less memory use when DM crypt layers on DM integrity.
 
 - Fix a long-standing DM thinp crash consistency bug that was due to
   improper handling of FUA.  This issue is specific to writes that
   fill an entire thinp block which needs to be allocated.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJcZjtbAAoJEMUj8QotnQNaTxMIANdjCyW0LlpNNuDX8hyVzXAc
 HNqyFxfNk7LD4ck5jn3HuQo5nCRvne+ltjol0vOqBokITXe1a9t+GB/fWSz0yZd9
 69NvwgLoaZZ0pcxeddvUQ2TAOBxCdP8O4JokQL5QgnCt4nvUOWbGQBlSQNBf/8KO
 9xa+0z36pMAC2dCnClKSQgwj+ZRZOBwOKSDVl7SiM7SvbNcirtBEgtvjr8gOrKvl
 SbLtoFwj8hwJFCpllwIE4ec+bHw9XsCeFEBwGiSnp6GF2sgfLbx0/EpHj09M18Vt
 QCXtYxcm8IMsh0w2y4YnmSWDk8yV7P/vVyoBmMjzv/gYx+6Eyxynk8pk32LNnEc=
 =jC/2
 -----END PGP SIGNATURE-----

Merge tag 'for-5.0/dm-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm

Pull device mapper fixes from Mike Snitzer:

 - Fix bug in DM crypt's sizing of its block integrity tag space,
   resulting in less memory use when DM crypt layers on DM integrity.

 - Fix a long-standing DM thinp crash consistency bug that was due to
   improper handling of FUA. This issue is specific to writes that fill
   an entire thinp block which needs to be allocated.

* tag 'for-5.0/dm-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
  dm thin: fix bug where bio that overwrites thin block ignores FUA
  dm crypt: don't overallocate the integrity tag space
2019-02-15 08:50:48 -08:00
Linus Torvalds
dfeae33798 MMC core:
- Fix deadlock bug for block I/O requests
 
 MMC host:
  - sunxi: Disable broken HS-DDR mode for H5 by default
  - sunxi: Avoid unsupported speed modes declared via DT
  - meson-gx: Restore interrupt name
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCgA1FiEEugLDXPmKSktSkQsV/iaEJXNYjCkFAlxmiakXHHVsZi5oYW5z
 c29uQGxpbmFyby5vcmcACgkQ/iaEJXNYjCmsMRAAlcMKQlZ9sjnMpmrUcAGC6i4G
 nL6bRBkTSgcXCK/23ipY02PTkJV1ZqYuoPprNYd9+z5SM9bWmlMQM2JQvX4A6C4b
 wV0V/9iSeQmCZgx58K+hFMWjn0Wjpnn+FKTgho8gr++G2klG2XklKDhjT3nZsxuN
 cZIJwF9TkqP2Ie4r2lwNjIWGu9tcGA9ubgjqv1LLcKzf9yYeXuEGH7ToR+U1DW3y
 dV8x3Sqw8aBrvVyv8vWtAlaUVzUqgMunTqxRSK4bpfddEvdbQ1VfyUKXX+GWJATX
 C72Hv729nEEqWrbFoxaBPEMU8mL5Z0FhzIYFDWj2SJkjXOB8lxuGvrwMHaNM/zb/
 haDcZCt/C/DF3c3uKWAjCP1I0MKRCiaYvfv+WDIhFZNTSfOeKM/QlzzBt/nqiGkZ
 spFk+S9VJzcXGaYkOZ5K/ULr4FBYv6TRUatEWe3WafZtAgkpUTeyEZC8LP4wr+0M
 U2d+qyqdsl6V+df82qx21uutmxDvSx/W/pCfuamQmPiRJQQ+H7c7Jq6wL3jPeich
 1Vh4dDCPtlcxhHhW5QE/tujNVJjixXkY9J3DupEJLhGjJ2RF6nhn+HvNH6D/tSNB
 77IHSswYWa1rDxM73AOnbCLkyHdp236gnwpiWcz0sd5o3kQvQmY4q/xy+Pt3HfRn
 J1ffQBvXbERCUulRtDU=
 =ipwm
 -----END PGP SIGNATURE-----

Merge tag 'mmc-v5.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc

Pull MMC fixes from Ulf Hansson:
 "A couple of MMC fixes intended for v5.0-rc7.

  MMC core:
   - Fix deadlock bug for block I/O requests

  MMC host:
   - sunxi: Disable broken HS-DDR mode for H5 by default
   - sunxi: Avoid unsupported speed modes declared via DT
   - meson-gx: Restore interrupt name"

* tag 'mmc-v5.0-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
  mmc: meson-gx: fix interrupt name
  mmc: block: handle complete_work on separate workqueue
  mmc: sunxi: Filter out unsupported modes declared in the device tree
  mmc: sunxi: Disable HS-DDR mode for H5 eMMC controller by default
2019-02-15 08:45:28 -08:00
Tommi Rantala
83244772a4 perf tests shell: Skip trace+probe_vfs_getname.sh if built without trace support
If perf was built without trace support, the trace+probe_vfs_getname.sh
'perf test' entry fails:

  # perf trace -h
  perf: 'trace' is not a perf-command. See 'perf --help'

  # perf test 64
  64: Check open filename arg using perf trace + vfs_getname: FAILED!

Check trace support, so that we'll skip the test in that case:

  # perf test 64
  64: Check open filename arg using perf trace + vfs_getname: Skip

Signed-off-by: Tommi Rantala <tommi.t.rantala@nokia.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Hendrik Brueckner <brueckner@linux.ibm.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Kim Phillips <kim.phillips@arm.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20190215134253.11454-1-tt.rantala@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2019-02-15 13:42:26 -03:00
Raju Rangoju
f09ef134a7 iw_cxgb4: cq/qp mask depends on bar2 pages in a host page
Adjust the cq/qp mask based on the number of bar2 pages in a host page.

For user-mode rdma, the granularity of the BAR2 memory mapped to a user
rdma process during queue allocation must be based on the host page
size. The lld attributes udb_density and ucq_density are used to figure
out how many sge contexts are in a bar2 page. So the rdev->qpmask and
rdev->cqmask in iw_cxgb4 need to now be adjusted based on how many sge
bar2 pages are in a host page.

Otherwise the device fails to work on non 4k page size systems.

Fixes: 2391b0030e ("cxgb4: Remove SGE_HOST_PAGE_SIZE dependency on page size")
Signed-off-by: Raju Rangoju <rajur@chelsio.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2019-02-15 09:39:39 -07:00
Raju Rangoju
fc4144e781 cxgb4: Export sge_host_page_size to ulds
Export the sge_host_page_size field to ULDs via cxgb4_lld_info, so that
iw_cxgb4 can make use of this in calculating the correct qp/cq mask.

Fixes: 2391b0030e ("cxgb4: Remove SGE_HOST_PAGE_SIZE dependency on page size")
Signed-off-by: Raju Rangoju <rajur@chelsio.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2019-02-15 09:39:39 -07:00
Arnd Bergmann
03138ef991 ARM64: hisi: SoC driver updates for 5.1
- Add compatibility support for different FWs in the hisi LPC bus driver
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJcXUynAAoJEAvIV27ZiWZcZr0P/37ARz4T4f1SlmWEwegGW6zq
 aGCyjzbM7q/zh5HZ/KeQaVvaRVoy21MVcMHD9L4Y2Log0Sd6lgIoHrtfH8VIoDfg
 6Lxaua8F4NJd6SkQCN07bLn9NUghVB16UuROM3ks7rEx+8rQ6oy4+JWccyPK/oMT
 3Lxj9SGJzfuaqO6NzhobFTE+MZ/J25D8tIjav+S12jUgQV2611L8g6x3JrM8WQPu
 Zs6ynch9c8nekR1ntNsTmEGa/ey2QWo32PqU65UVB7Pj2vRBFkTcmSNmDP2VMM5t
 A/I+P76P0ifl5VdCWk/o7k30fvp7HYbOLyVwuM/4GF4/h6H10C+cZdTPf3lGNjYS
 48hBVWTvuSurPKY0hidvQJkaCfDuHyKhOEBg76bF40GZ+ZfPl5saXVTBfXuF3923
 j7rZAPpBrbqL0+tOAbnvYePk603m0AT/lZYRzEQFPH3DOoLHZxjmBZO0KDByRF90
 kX5Atr195uQrZn1vVn2UciDjQgAAI02p1tsvXVr322nUbTAGZfzTngqFcV2MuDkD
 rI+C/HebLZNinC85qibxzPUqEbEePfkWaWuBl2fz8HsYJ9JOGQeMxP5O0Mrf8Zmv
 LBn7MikUh/lSVFpTJyJJU9uj45vfcGExgFbg5kgQY/kICclMY97/4MSb7hp2tKF0
 jt6C3n7dXANOvGrKIHQN
 =f0/p
 -----END PGP SIGNATURE-----

Merge tag 'hisi-drivers-for-5.1' of git://github.com/hisilicon/linux-hisi into arm/drivers

ARM64: hisi: SoC driver updates for 5.1

- Add compatibility support for different FWs in the hisi LPC bus driver

* tag 'hisi-drivers-for-5.1' of git://github.com/hisilicon/linux-hisi:
  bus: hisi_lpc: Don't fail probe for unrecognised child devices

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 17:32:27 +01:00
Arnd Bergmann
7e5c4c26c7 clk: tegra: Changes for v5.1-rc1
This contains a couple of prerequisite patches to enable CPU frequency
 scaling on Tegra210.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlxdl3ETHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoSjGD/sFNbFXRycqN+PlwvvMK6b+rRRpHEVb
 Wv8cpO/JgKGCEcXIbmY25xgouJzVgAH0SxmJ0P2l5PO28saUAMv2+7jzRiXTqTxH
 uAF7MFVUYRcXzULckZTzIQz8mzek8B2Ma/8gRVxM2LFkfCPpXGxweuNU6z+pFz9o
 L31SIA64dqLuDnWN10aK28fwb6zkXN1ULwrRBXBeU9kaA7W6xAm7RLOmxnA6uaxQ
 kHtNaF49vq8l3EX3rPMmEAgYdMOWylk4JPyFhGq10M9viUcxQV2PXBlBBQTU9gLH
 DpnNhwb3yAC/cmjs1yakTJySo0KyyvxnS6DdiRPkLYPkxZJCZRCZqG+E0AW7r5+I
 uoybiRv0RgUtz2naM1JR/US8dGakRXM71LGNQ3OCTfGI/YynsbTX0qyC3d/owAbg
 LKgOpDqpR3a6SpS8OM8wskAgHtW7DzbncnPV9Axp3pAd04MaI2jClW9DUO0EL5QT
 1v6eEQRa5rdpgY1sxDYRNNsKxtpA8dC3i8mujWA85p1z9CCFnJxkHhr169xOSwRS
 vlZjeMM23gSQIDvW86tIwB27oraYyzQGuJfHw8V2Z5tw+FJ2ajBdgVZUEH/F5/xk
 BVHMyC+MHGwaQGUSTq1SsHRPK9/OREmH/zxfIj/s/wR72UcImJ4ih56yOZFCNFUz
 pAHHj9XjGmfzKQ==
 =R+Ez
 -----END PGP SIGNATURE-----

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

clk: tegra: Changes for v5.1-rc1

This contains a couple of prerequisite patches to enable CPU frequency
scaling on Tegra210.

* tag 'tegra-for-5.1-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  clk: tegra: dfll: build clk-dfll.c for Tegra124 and Tegra210
  clk: tegra: dfll: add CVB tables for Tegra210
  clk: tegra: dfll: round down voltages based on alignment
  clk: tegra: dfll: support PWM regulator control
  clk: tegra: dfll: CVB calculation alignment with the regulator
  clk: tegra: dfll: registration for multiple SoCs

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 17:31:41 +01:00
Arnd Bergmann
f35635a6b7 cpufreq: tegra: Add support for Tegra210
This uses the DFLL clock support to enable CPU frequency scaling on
 Tegra210.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlxdl6MTHHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoX/LD/9mh+TFN9pefVv3TlXn08c6zyayZzDp
 0YpUQMXktqMwYrLsYcwL7O7KEhwEClMDrNVNSuPOCH564GxonCud6AwMPqgpiEhf
 5OJuMndnDlM1AGKzPYU6JU2n8C1YafoKBLaN/wZ4riwTw9mfXXJoJnG+D7Kwu+/6
 2CwqmDBDMTOhlXtb7hyyfuLbZTP+0TKbDQdQpBlFgs9BFjs/2fKPbTCP75cD0RM1
 2eVSlwaRBEMpsLQHZ5VZIxg2VcFqa79c1eB6pgZ2Hyn+BSae4F+i9N/DIjquiav4
 hplbC/lr3AOMWtIx6V18wrS57qKGU28K9WuJeMfCpblMZrTYmNE96RghzMxP+5Zw
 gaAurj12dE+Ie5jfqzW/aW9ktJbX3rbEhrCDqly3H67K2v27G5Vstf1SssDhk7wy
 YF9KKFI5qjzVn0Bo8xcBukEfePQ2AjNeGMWrwWi4h53XvfyXcCSKbwY9DvcgocEH
 e2gUrCtyu/KWwV0r+6txw5UlZVuWI8SJpRhMv+En6F/tls/sIDB34PP0ubc/ZOKa
 Ehnb4E+uJfCxujsbpvpRIjKosTPD7R52X1Stcw3lcxsxOF3pE2DQhXVkAC22jfT/
 qKmaDNq6Cdm8kc5CuwqHTY5CygvFRC6cu/jT4qouWWyo3WFDQ1WDAasGER7TXvsK
 tMIjAMGQOxvn5Q==
 =pSIK
 -----END PGP SIGNATURE-----

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

cpufreq: tegra: Add support for Tegra210

This uses the DFLL clock support to enable CPU frequency scaling on
Tegra210.

* tag 'tegra-for-5.1-cpufreq' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  cpufreq: dt-platdev: add Tegra210 to blacklist
  cpufreq: tegra124: extend to support Tegra210
  cpufreq: tegra124: do not handle the CPU rail

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 17:29:54 +01:00
Arnd Bergmann
a21c3f1795 soc/tegra: Changes for v5.1-rc1
This contains a couple of miscellaneous fixes for minor issues and a
 largish rework of the PMC driver to make it work on systems where the
 PMC has been locked down and can only be accessed from secure firmware.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlxdmF8THHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zodlTD/44v+tiZRB+6P6XafKvwBEruq1INqab
 5vTj7OOhmL2WPonruTUaze6bWqpV84gaqorVfR8JYvWL6nT+JGVvEnQwBTgwMqlL
 PYmPc93PlvieBJMQGmKjLYypLWFfaihjIkdAgosVKkFhHcP4SqKBhtq1Gs+1nFaC
 6uWdz+9S+ad/JPiYnoBHC6DoeXBDM8izpRLlsqPPAZkfzAcH7vTXbKoXN+VOeB/l
 wvD5wlG90LwcoSoFlQsBEcEdklBGPO90ItJFJiqnjrHsxoHVzYSRfdy72/hXuTsp
 5p/L5OWjcMG9DP5cF0HbmWetqEgTOLoRseyXuZZN3O3XHdkj37IRXEbSugHI5pi4
 Oybm01TPvhyprNXjCDM6vxf3f0mlh3sPoHXRyM8KJuMkg5vb1L43Vs9BYCkKUMaO
 I/nR5EUXb3R5/PvumL6LEiZVvjtpPWXL4swmbRbKoKd2K9kgFxGoYYbbbdDVZNim
 KWGbo9LWL2BHMXi0exN+8XWE3lpdKQJWlWADpXhbZltEcq6oJCWqPe9glrAXl877
 jd552NrRL9wiZikI+iwWpIMEkX4DLdxlZLw5r5kjInqsyo6H/N9kpRZMvDVo3VIi
 d1o0gc2Y1wJbhkE1TXSYhZG9nbqKFPvT7V5aBbI6rYdNA3AgxwY4Rq65Ex0a3KGV
 WFWxanWAqhn9Vw==
 =C9+u
 -----END PGP SIGNATURE-----

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

soc/tegra: Changes for v5.1-rc1

This contains a couple of miscellaneous fixes for minor issues and a
largish rework of the PMC driver to make it work on systems where the
PMC has been locked down and can only be accessed from secure firmware.

* tag 'tegra-for-5.1-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  soc/tegra: pmc: Support systems where PMC is marked secure
  soc/tegra: pmc: Explicitly initialize all fields
  soc/tegra: pmc: Make alignment consistent
  soc/tegra: pmc: Pass struct tegra_pmc * where possible
  soc/tegra: pmc: Make tegra_powergate_is_powered() a local function
  soc/tegra: pmc: Add missing kerneldoc
  soc/tegra: pmc: Sort includes alphabetically
  soc/tegra: pmc: Use TEGRA186_ prefix for GPIO names
  soc/tegra: fuse: Fix typo in tegra210_init_speedo_data
  soc/tegra: fuse: Fix illegal free of IO base address

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 17:24:45 +01:00
Arnd Bergmann
f73e22d621 firmware: tegra: Changes for v5.1-rc1
These changes add support for BPMP on Tegra210.
 -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAlxdmJ4THHRyZWRpbmdA
 bnZpZGlhLmNvbQAKCRDdI6zXfz6zoUNjEACJz0nXjTDHmlw/kWrOyVDK2B0Jmvno
 toVi0CvJxER6itaVPHnxayQBl/a76owF+h4HbXjuvD2fAj8vfhjNYiwed5NxvMGO
 lbP4Q6MhKoGzqIiZIubWNEQXLNK9gRrPULc1GuTuVKwIUPhUwKFgtHkFi6balVR0
 lpnNEU1V070LPbW1I4oxG6fdntJO+KMVoBWcPfCsnMQmEZOG/CqQhbYRPKojDsaO
 bb5FC3epffYBPIfJyvJy4XrGX6VOD4gC5KDhnDyIe4Hby4PsTzQGKcnp2b4OVssG
 nRON9X72o1i4uOdnUNkJnd6UGOL9Xn8zU9y2al6hRnx04+Sp1MHVSOwxI5HgkK7H
 PtFJe4u639MbsP6J1RLfKMpbLHdOEU7xE26MaQz7CdHd57L11szRgv3HcdsuCpmd
 a53djDTR0B2U9FzKI8ohp/cGr2l4Nc6Wlz2iVqxwTxyqXhE8NToIc56/gBQsIBbe
 qotxZumjjjseaQAHlykyaPG1DcRPz71Z+FXnFyG7soncO0ksbIO42b1Ms2jz+v7D
 ukHN193NLPfPB7EZCAsVnD+f1lIekrV+uWkTM9JoMgLkbxGSYKZS43hXO2QSa8Y4
 H3eDOGjV2PFL74Lzv2rW7dtMiM5dx5ewie/pX7J+aIOwnBlN65Pexs7zm0NREjtQ
 1qrmUTtiDFnZng==
 =8HHq
 -----END PGP SIGNATURE-----

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

firmware: tegra: Changes for v5.1-rc1

These changes add support for BPMP on Tegra210.

* tag 'tegra-for-5.1-firmware' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  firmware/tegra: Enable Tegra186 BPMP support on Tegra194
  firmware: tegra: Conditionally support SoC generations
  firmware: tegra: bpmp-tegra186: Remove unused includes
  firmware: tegra: add bpmp driver for Tegra210
  firmware: tegra: Refactor BPMP driver
  firmware: tegra: Reword messaging terminology

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 17:23:25 +01:00
Arnd Bergmann
6f2185f8e3 Reset controller changes for v5.1
This adds the include/linux/reset directory to MAINTAINERS for reset
 specific headers and adds headers for sunxi and socfpga in there to
 get rid of a few extern function declarations.
 There is a new reset driver for the Broadcom STB reset controller and
 the i.MX7 system reset controller driver is extended to support i.MX8MQ
 as well. Finally, there is a new header with reset id constants for
 the Meson G12A SoC, which has a reset controller identical to Meson AXG
 and thus can reuse its driver and DT bindings.
 -----BEGIN PGP SIGNATURE-----
 
 iI0EABYIADUWIQRRO6F6WdpH1R0vGibVhaclGDdiwAUCXF2yeRcccC56YWJlbEBw
 ZW5ndXRyb25peC5kZQAKCRDVhaclGDdiwH8jAP9OQaMl5llVXuHSFOwiqkJ2I09p
 oROxu3dI/A4q7d5T8QD/Xuo4piSAdoT5YZyHp16NUafW3L1//wqTvxk0ubeTsgA=
 =EIyo
 -----END PGP SIGNATURE-----

Merge tag 'reset-for-5.1' of git://git.pengutronix.de/git/pza/linux into arm/drivers

Reset controller changes for v5.1

This adds the include/linux/reset directory to MAINTAINERS for reset
specific headers and adds headers for sunxi and socfpga in there to
get rid of a few extern function declarations.
There is a new reset driver for the Broadcom STB reset controller and
the i.MX7 system reset controller driver is extended to support i.MX8MQ
as well. Finally, there is a new header with reset id constants for
the Meson G12A SoC, which has a reset controller identical to Meson AXG
and thus can reuse its driver and DT bindings.

* tag 'reset-for-5.1' of git://git.pengutronix.de/git/pza/linux:
  dt-bindings: reset: meson: add g12a bindings
  reset: imx7: Add support for i.MX8MQ IP block variant
  reset: imx7: Add plubming to support multiple IP variants
  reset: Add Broadcom STB SW_INIT reset controller driver
  dt-bindings: reset: Add document for Broadcom STB reset controller
  reset: socfpga: declare socfpga_reset_init in a header file
  reset: sunxi: declare sun6i_reset_init in a header file
  MAINTAINERS: use include/linux/reset for reset controller related headers
  dt-bindings: reset: imx7: Document usage on i.MX8MQ SoCs

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 17:21:32 +01:00
Linus Torvalds
545aabcbdc drm core, i915, amd, imx, vkms fixes
-----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJcZi5LAAoJEAx081l5xIa+tSQQAKblf/Ca7QryDUbAN8JIxeJp
 NuJiNP4jvvZbCod/ISktU+0zY2uKnW09//ljkEdGVg+Ilww2HHm/drs1HRUMP6QP
 U6EKhoJQ99OfsBYy3J+PloBz9uS/ziGJB6YN0qcJkTZ1tvAenNqO88MWJittDZCu
 ao92sB0mwW3s+R/36OtCMce3LDGPuMst98z2+tN+C4JWZW4tktYyGo/fSsZ60Gry
 Hxo/X/K0F4qn5vPfPL41fH0DzXpKiuztp7WsK97YS3Wa2VeNynKaORdcWyBBQq/n
 t2NvLXyW58/wzHG0u1lbWEUEor2LJZ9Cd5aVl+i8e8giR2RogTEBVbqR+hXciTPe
 3lUfSXKwwus1tsiX8amcIVPIpIyZ5Hk5igfql/EHFki3zdbOESVgrFtzwas2oW6b
 GljURKcNe40ZK0btaogB8m1lZ1sN2poDgB3QYrIVFywzhv+Bm3TUexmWxbho/lYW
 jho3OkP3UlxHyN4TF0CjG2lEU+kCo8EPzkOoRCzjTo49DUorqjtAMcZrbFr3z5wK
 oq0m9G+itUqnKmsAA9ElHsGHK4pwRpA6hwFMnOZTWb6sVZGoT4fU6pAucZoZXE8j
 wlADT/HRZECes9PVqrxeqA4h8EVlira6fdV1S9YzuMHrMpwo335Suf8eghQpFkST
 oOXYb8/6GfKGyz3JDxb8
 =dYoy
 -----END PGP SIGNATURE-----

Merge tag 'drm-fixes-2019-02-15-1' of git://anongit.freedesktop.org/drm/drm

Pull drm fixes from Dave Airlie:
 "Usual pull request, little larger than I'd like but nothing too
  strange in it. Willy found an bug in the lease ioctl calculations, but
  it's a drm master only ioctl which makes it harder to mess with.

 i915:
   - combo phy programming fix
   - opregion version check fix for VBT RVDA lookup
   - gem mmap ioctl race fix
   - fbdev hpd during suspend fix
   - array size bounds check fix in pmu

  amdgpu:
   - Vega20 psp fix
   - Add vrr range to debugfs for freesync debugging

  sched:
   - Scheduler race fix

  vkms:
   - license header fixups

  imx:
   - Fix CSI register offsets for i.MX51 and i.MX53.
   - Fix delayed page flip completion events on i.MX6QP due to
     unexpected behaviour of the PRE when issuing NOP buffer updates to
     the same buffer address.
   - Stop throwing errors for plane updates on disabled CRTCs when a
     userspace process is killed while a plane update is pending.
   - Add missing of_node_put cleanup in imx_ldb_bind"

* tag 'drm-fixes-2019-02-15-1' of git://anongit.freedesktop.org/drm/drm:
  drm: Use array_size() when creating lease
  drm/amdgpu/psp11: TA firmware is optional (v3)
  drm/i915/opregion: rvda is relative from opregion base in opregion 2.1+
  drm/i915/opregion: fix version check
  drm/i915: Prevent a race during I915_GEM_MMAP ioctl with WC set
  drm/i915: Block fbdev HPD processing during suspend
  drm/i915/pmu: Fix enable count array size and bounds checking
  drm/i915/cnl: Fix CNL macros for Voltage Swing programming
  drm/i915/icl: combo port vswing programming changes per BSPEC
  drm/vkms: Fix license inconsistent
  drm/amd/display: Expose connector VRR range via debugfs
  drm/sched: Always trace the dependencies we wait on, to fix a race.
  gpu: ipu-v3: pre: don't trigger update if buffer address doesn't change
  gpu: ipu-v3: Fix CSI offsets for imx53
  drm/imx: imx-ldb: add missing of_node_puts
  gpu: ipu-v3: Fix i.MX51 CSI control registers offset
  drm/imx: ignore plane updates on disabled crtcs
2019-02-15 08:20:33 -08:00
Arnd Bergmann
1d03f187f6 Amlogic: driver updates for v5.1
- clock measure: add support for G12a SoC family
 - misc. fixes
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAlxh3CsACgkQWTcYmtP7
 xmWxnhAAlHfBpjc4trN6nfR+PZAEVTX//LL7nCiL2ajbyes4JefHZr1MVwIjzZle
 yBXzshKLXnBpkk6XVNA9zGrRF8CzmUVi+SyqI3ERYV3G6PdAblfza6OFwl/bH120
 NrDzsMQZp2IXOCuMV7SRNlOZPmyht0hEdwtwRuXnmJ03dVp0+YRN8uIMsEM+hzfL
 882Y6M6uF/r/RO8ZUE9Ftks1niAH3HFufcmma05NfrNzetX8SuJAqllV9v1c6IIN
 RUzO49Q3Sxqlcq0h1PAqZ8nUu0tJW/Ez7Ab+HNSNE5Blw4AjO9uAWw0AUE+txxNe
 SblYGRFD4GAOg1Phvc1KgqD7FLJWKatGr9rlUKeaxOqOc2M6rW5SEbI4rDwc6FeD
 ZVXF66e/9WwK1IXVZL/XdN/EzSwzp2FO7goGjfw4GXjyGCLJ0v/RsIToy+hrlkbu
 5y88/xFTiZnaL4DnScE96GWDkQ6YknpNoq0xtQ+wfE87k7wuZzXPJjmLxyhdglSQ
 CMnJX0ij6DeFF/0LOuFqOsuSukf+MY8M9KwltFjwDnFJ25aky2vdsG3rCLQsNfTD
 xk1bnMRzMHkuXi0tCeLydbWaHNsnjV5G+s8oeG2IdBqhEsR3+izU3k4YUdagJCTU
 LzYEczrgOY7pkofj894zoLSqvwp0ZL98BQ3VZycFoLxCNtio1vo=
 =GJgY
 -----END PGP SIGNATURE-----

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

Amlogic: driver updates for v5.1
- clock measure: add support for G12a SoC family
- misc. fixes

* tag 'amlogic-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic:
  soc: amlogic: clk-measure: add axg and g12a support
  dt-bindings: amlogic: add new compatible devices to clk_measure
  soc: amlogic: canvas: Fix meson_canvas_get when probe failed
  soc: amlogic: add missing of_node_put()

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 17:19:32 +01:00
Arnd Bergmann
c9235d9996 i.MX drivers update for 5.1:
- Do not get GPCv2 driver depend on SOC_IMX8MQ since the driver is
    going to be used on more SoCs than just i.MX8MQ.
  - Add power domain information into SCU bindings document.
  - Add support of start/stop a CPU into imx firmware driver.
  - Support multiple address ranges per child node for imx-weim bus
    driver.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQEcBAABAgAGBQJcYi+0AAoJEFBXWFqHsHzOtdYH/jX/y0r7OvX5GVSrrnW8PlkC
 3i2EQ0sGOxWOMqBegZIpFe9W7IddAetMf6praPGz/efHPnoVC4jO8Yqe4TZwQXLB
 vOxoN4G7NH9Al9RX11ce96kd/tUgVK/JHuQJ9fu+ogrprLpAS3w1sbIkidOMSF3M
 /5VrmFCxUNOPwTHRnyjw8QsyypKnKEBu0jA8sgyUmg99ii6rqQ5OKh1vgKf62J0f
 1BbJLalI0CxGcYVQxYBy2ML37+XxCcN9Vl8FxiI4tVRtZox8/YkU9V5vEgVWN2fS
 ZWfgT9w7cJxI5x8Em8Cxe4zcyVdbn5w26lXc6WbXazIncm206Ps+DIeHkQI9jPA=
 =8C2m
 -----END PGP SIGNATURE-----

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

i.MX drivers update for 5.1:
 - Do not get GPCv2 driver depend on SOC_IMX8MQ since the driver is
   going to be used on more SoCs than just i.MX8MQ.
 - Add power domain information into SCU bindings document.
 - Add support of start/stop a CPU into imx firmware driver.
 - Support multiple address ranges per child node for imx-weim bus
   driver.

* tag 'imx-drivers-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  firmware: imx: Add support to start/stop a CPU
  soc: imx: Break dependency on SOC_IMX8MQ for GPCv2
  firmware: imx: scu-pd: add fallback compatible string support
  dt-bindings: fsl: scu: add imx8qm scu power domain support
  dt-bindings: fsl: scu: add fallback compatible string for power domain
  bus: imx-weim: guard against timing configuration conflicts
  bus: imx-weim: support multiple address ranges per child node
  dt-bindings: bus: imx-weim: document multiple address ranges per child node
  soc: imx: gpcv2: handle reset clocks
  soc: imx: gpcv2: handle additional power-down bits in handshake register

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 17:17:57 +01:00
Arnd Bergmann
59f527dd7a arm64: zynqmp: SoC changes for v5.1
- Extend firmware interface with reset, nvmem,
   power management and power domain support
 
 - Add reset, nvmem driver, power management and
   power domain drivers
 -
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAlxixLEACgkQykllyylKDCEduwCeLkIFr48uJ/5Fv1X16gitcrOk
 F38An2wbsk21xkWQpfzCFdUrpPbT0u4t
 =GOP8
 -----END PGP SIGNATURE-----

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

arm64: zynqmp: SoC changes for v5.1

- Extend firmware interface with reset, nvmem,
  power management and power domain support

- Add reset, nvmem driver, power management and
  power domain drivers
-

* tag 'zynqmp-soc-for-v5.1' of https://github.com/Xilinx/linux-xlnx:
  drivers: soc: xilinx: Add ZynqMP power domain driver
  firmware: xilinx: Add APIs to control node status/power
  dt-bindings: power: Add ZynqMP power domain bindings
  drivers: soc: xilinx: Add ZynqMP PM driver
  firmware: xilinx: Implement ZynqMP power management APIs
  dt-bindings: soc: Add ZynqMP PM bindings
  nvmem: zynqmp: Added zynqmp nvmem firmware driver
  dt-bindings: nvmem: Add bindings for ZynqMP nvmem driver
  firmware: xilinx: Add zynqmp_pm_get_chipid() API
  reset: reset-zynqmp: Adding support for Xilinx zynqmp reset controller.
  dt-bindings: reset: Add bindings for ZynqMP reset driver
  firmware: xilinx: Add reset API's

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 17:16:45 +01:00
Alex Deucher
478168e1cb drm/amdgpu: remove some old unused dpm helpers
Carried over from radeon, but no longer used.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2019-02-15 11:15:50 -05:00
Bas Nieuwenhuizen
b5bb37eddb drm/amdgpu: Add command to override the context priority.
Given a master fd we can then override the priority of the context
in another fd.

Using these overrides was recommended by Christian instead of trying
to submit from a master fd, and I am adding a way to override a
single context instead of the entire process so we can only upgrade
a single Vulkan queue and not effectively the entire process.

Reused the flags field as it was checked to be 0 anyways, so nothing
used it. This is source-incompatible (due to the name change), but
ABI compatible.

Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2019-02-15 11:15:43 -05:00
Bas Nieuwenhuizen
021830d24b drm/amdgpu: Check if fd really is an amdgpu fd.
Otherwise we interpret the file private data as drm & amdgpu data
while it might not be, possibly allowing one to get memory corruption.

Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2019-02-15 11:15:37 -05:00
Bas Nieuwenhuizen
2a84e48e97 drm/amdgpu: Only add rqs for initialized rings.
I don't see another way to figure out if a ring is initialized if
the hardware block might not be initialized.

Entities have been fixed up to handle num_rqs = 0.

Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2019-02-15 11:15:30 -05:00
Bas Nieuwenhuizen
1decbf6bb0 drm/sched: Fix entities with 0 rqs.
Some blocks in amdgpu can have 0 rqs.

Job creation already fails with -ENOENT when entity->rq is NULL,
so jobs cannot be pushed. Without a rq there is no scheduler to
pop jobs, and rq selection already does the right thing with a
list of length 0.

So the operations we need to fix are:
  - Creation, do not set rq to rq_list[0] if the list can have length 0.
  - Do not flush any jobs when there is no rq.
  - On entity destruction handle the rq = NULL case.
  - on set_priority, do not try to change the rq if it is NULL.

Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2019-02-15 11:15:08 -05:00
Linus Torvalds
2aba322074 Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto fix from Herbert Xu:
 "This fixes a crash on resume in the ccree driver"

* 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  crypto: ccree - fix resume race condition on init
2019-02-15 08:11:43 -08:00
Linus Torvalds
6e7bd3b549 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes from David Miller:

 1) Fix MAC address setting in mac80211 pmsr code, from Johannes Berg.

 2) Probe SFP modules after being attached, from Russell King.

 3) Byte ordering bug in SMC rx_curs_confirmed code, from Ursula Braun.

 4) Revert some r8169 changes that are causing regressions, from Heiner
    Kallweit.

 5) Fix spurious connection timeouts in netfilter nat code, from Florian
    Westphal.

 6) SKB leak in tipc, from Hoang Le.

 7) Short packet checkum issue in mlx4, similar to a previous mlx5
    change, from Saeed Mahameed. The issue is that whilst padding bytes
    are usually zero, it is not guarateed and the hardware doesn't take
    the padding bytes into consideration when generating the checksum.

 8) Fix various races in cls_tcindex, from Cong Wang.

 9) Need to set stream ext to NULL before freeing in SCTP code, from Xin
    Long.

10) Fix locking in phy_is_started, from Heiner Kallweit.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (54 commits)
  net: ethernet: freescale: set FEC ethtool regs version
  net: hns: Fix object reference leaks in hns_dsaf_roce_reset()
  mm: page_alloc: fix ref bias in page_frag_alloc() for 1-byte allocs
  net: phy: fix potential race in the phylib state machine
  net: phy: don't use locking in phy_is_started
  selftests: fix timestamping Makefile
  net: dsa: bcm_sf2: potential array overflow in bcm_sf2_sw_suspend()
  net: fix possible overflow in __sk_mem_raise_allocated()
  dsa: mv88e6xxx: Ensure all pending interrupts are handled prior to exit
  net: phy: fix interrupt handling in non-started states
  sctp: set stream ext to NULL after freeing it in sctp_stream_outq_migrate
  sctp: call gso_reset_checksum when computing checksum in sctp_gso_segment
  net/mlx5e: XDP, fix redirect resources availability check
  net/mlx5: Fix a compilation warning in events.c
  net/mlx5: No command allowed when command interface is not ready
  net/mlx5e: Fix NULL pointer derefernce in set channels error flow
  netfilter: nft_compat: use-after-free when deleting targets
  team: avoid complex list operations in team_nl_cmd_options_set()
  net_sched: fix two more memory leaks in cls_tcindex
  net_sched: fix a memory leak in cls_tcindex
  ...
2019-02-15 08:00:11 -08:00
Arnd Bergmann
e9b4c1cf65 Samsung defconfig changes for v5.1
Enable more drivers in s5pv210 defconfig for Aries family of mobile
 devices (e.g. Samsung Galaxy S).
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAlxUl8gQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD18OtD/9i7gE27i3Rb5DZXDIf7JY0gnpYR0WGE+Bw
 boWRS8N/hADRAGWPVzy6Hu9fJZjkaOAYZbnHwtcznB+NeQQd3gWyQUpjCHOwFtKN
 cQsT3680E9qI3VmoBEpVgzGGrOlLOxodRZkE3rNlL5pcFK3SPZkq43noSN1IwYLf
 bHRP155awQ9VXtWQLwuOqb6rhLz38Mhm5TfzibY6D8pFS+UJBFWiMdX45W5jfRBv
 xImKnWFQQo3HVyiayWJOQUein2BXfxCJhDpqUh7NL4C7NhbqodCjuPUszopxWK71
 dnZGpupjLY0muTGWrgDZEwkUwYB33hqUoNtWrjj3KEI7SlVBkDw5mN6WO/POSoE5
 MfcWdL8Io9voOlzWNzoNXUQOU7ep4fUZS7aRfXpnZWnING6aoNAnCXLs6wiEmoCX
 elMra2aaN7M2I73wS3eIKiWtr5lbBnBnivCjeMMxdIeRviz8TLVk11OEl97w1soP
 DGKBvLcjOi7q3pejCSDVEj07NIMUZSHm1z88SKpVOfaykBbOdRbkY8KNschr5dUJ
 F9UdpuhZTSBFLWhctjU37Wb1eMJfZtewG1bfmbY+XLgP3297Q+zHFrmcpa9QL1eR
 PmLeURK8ahJpSFjrukHjn7KyaM10Bl0OT3nSPfhZYh6sowRAeroCU2uvpnp3/Ziu
 NrXUhxNWsw==
 =78iS
 -----END PGP SIGNATURE-----

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

Samsung defconfig changes for v5.1

Enable more drivers in s5pv210 defconfig for Aries family of mobile
devices (e.g. Samsung Galaxy S).

* tag 'samsung-defconfig-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: s5pv210_defconfig: Enable cpufreq
  ARM: s5pv210_defconfig: Enable more drivers present on Samsung Aries
  ARM: s5pv210_defconfig: Run make savedefconfig

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:59:20 +01:00
Arnd Bergmann
5e26374161 This pull request contains Broadcom ARM-based SoCs defconfig file
updates for 5.1, please pull the following:
 
 - Stefan enables the MMAL-based V4L2 camera driver for the Raspberry Pi
   devices
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAlxVzrwACgkQh9CWnEQH
 BwRa3Q/9H9IeE0Q5KwQ37zMiC/s25z8VByAQ9qchJB0kjGXs8vIQAeMwi8x08zvc
 gyq+EX7y3Q+U7yEkqOTMFT/rxP/wLnsIX6EBGodcFr4ZZVWpIX9Sm9i8y4+inP+S
 doxXyrFspdXZMv3VzZPayzEHZRnaP7cdeNhbMwrEgirQjIR+/zdY/0THjswUp/Vs
 nb95mj4hZUOQmK4Es9PqxiNavwZ/yI0CxzAzd9v2s3IKLvb0+D89rlQ46tPwyirL
 wSzvReyGl0Am15IICPFKv39wEBwUU2DlBHa8S5LvkDXMa/ydQvdQ6t2Vh1FeIjNJ
 WRtev+waQskTeeoxOktJIpZbkEQqJPCxWdvYo1QmDHFVk84e98/YwGhdZcDe/LtB
 XBa/GpyCEgWmX0LaRuDRuJNGSnz5qkGG+Fi39m50SAotvWMZFxBMp+2pko8XaxPf
 UnDQLry4AVsvm+e8lN+HZkwbFT4tmvFNCvFyV7C28Os1efGP3d16ccerNfi029GX
 2lb2CQzQ35QjkIVEAyqs7SpT+RkZxxRWdL5eryhq1/5ZKS8gbOcY/EQ0phKo4/QW
 VaD/UnbQJLkc32vADta+wSnu/zuk4SyZkuSivYbJQepcXJGA5VIliLFxyPoMCem2
 4AkxblWtzlZIzSEHsbC9iBWyKKP+5VeF2sYd0uo1fj+p2UZBPGg=
 =uhZ9
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-5.1/defconfig' of https://github.com/Broadcom/stblinux into arm/defconfig

This pull request contains Broadcom ARM-based SoCs defconfig file
updates for 5.1, please pull the following:

- Stefan enables the MMAL-based V4L2 camera driver for the Raspberry Pi
  devices

* tag 'arm-soc/for-5.1/defconfig' of https://github.com/Broadcom/stblinux:
  ARM: bcm2835_defconfig: Enable BCM2835 MMAL-based V4L2 camera driver

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:58:21 +01:00
Linus Torvalds
02d7504089 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
Pull signal fix from Eric Biederman:
 "Just a single patch that restores PTRACE_EVENT_EXIT functionality that
  was accidentally broken by last weeks fixes"

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
  signal: Restore the stop PTRACE_EVENT_EXIT
2019-02-15 07:56:24 -08:00
Loys Ollivier
d4584bbfcf gnss: add driver for mediatek receivers
Add driver for serial-connected Mediatek-based GNSS receivers.

These devices typically boot transmitting vendor specific NMEA output
sequences. The serial port bit rate is read from the device tree
"current-speed".

Note that the driver uses the generic GNSS serial implementation and
therefore essentially only manages power abstracted into three power
states: ACTIVE, STANDBY, and OFF.

For mediatek receivers with a main supply and no enable-gpios, this simply
means that the main supply is disabled in STANDBY and OFF (the optional
backup supply is kept enabled while the driver is bound).

Note that the timepulse-support is left unimplemented.

Signed-off-by: Loys Ollivier <lollivier@baylibre.com>
[ johan: rename backup supply ]
Signed-off-by: Johan Hovold <johan@kernel.org>
2019-02-15 16:54:38 +01:00
Loys Ollivier
625239d4ad gnss: add mtk receiver type support
Add an MTK (Mediatek) type to the "GNSS_TYPE" attribute.

Note that MTK receivers support a subset of NMEA 0183 with vendor
extensions.

Signed-off-by: Loys Ollivier <lollivier@baylibre.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
2019-02-15 16:54:38 +01:00
Loys Ollivier
3deb254d65 dt-bindings: gnss: add mediatek binding
Add binding for Mediatek-based GNSS receivers.

Signed-off-by: Loys Ollivier <lollivier@baylibre.com>
Reviewed-by: Rob Herring <robh@kernel.org>
[ johan: rename backup supply ]
Signed-off-by: Johan Hovold <johan@kernel.org>
2019-02-15 16:53:57 +01:00
Arnd Bergmann
f13c82e2e7 ARM: lpc32xx: defconfig updates for v5.1
Here are the changes for ARM NXP LPC32xx and ARM NXP LPC18xx/LPC43xx
 defconfig files:
 * LPC18xx/LPC43xx and LPC32xx defconfig files got updates to match
   savedefconfig,
 * PL11x LCD controller driver on both LPC18xx/LPC43xx and LPC32xx
   has been switched from fbdev to DRM one,
 * drivers of GPIO controllers not found on LPC32xx boards are disabled,
 * LPC32xx gets enabled additional sane debugging options: panic on oops,
   sysrq, dynamic debug, timestamps in kernel log buffer and built GDB
   scripts,
 * LPC32xx gets enabled NFSv4 support,
 * LPC32xx gets enabled a number of used drivers: DRM simple panel,
   fixed voltage regulator and generic SRAM drivers,
 * Option to have a serial console on HS UART on LPC32xx is enabled.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEETKMJMWSwX7CFTVIOqj3i2jwlOWUFAlxXSwEACgkQqj3i2jwl
 OWVKAw//QSv3Bl/CoPHJfYJwgAfslN+nqQg9TXC9ygEIS4t0oeWd/W7MZeLUfRdj
 RyRWAmtJ3eoeNsz1lnhSaAd2sgqJOlL36zDq5k+pLnFPXp7jKlpU7wI4xq/T4HuY
 auyqywG9VfjIrcNjNcoGMDe+cJNTfbcr+epF45MLQLu+4JxdS2A7IKDibaC/Mq1J
 JDHslte/lf3/ShlDC5cNU3EMmV9gdB4NmFixWGTRXxJzE9U63r+7wtwy+dV/e8KN
 hCgybm1Lk039Zjd0pfB6S8N8CLeuhtcAAcJSWuFrsUXQbzhOy7b5hx+qfTyBd0bW
 RnyajbqD9KTV1YYHFL3sJoK3HnvUO4Vk9/QzJarAFop7xoY/pO07aVnGGVc3UsmH
 uHW0527XVXyV9yxymXB4yvLcnwzcUj8kww6kWFiaAJJQl9p9JPB2W5Lnqayqy2Br
 A7YqdG34/aeMPPe93CFTQV+MKRiSriYZ2gVpgQi1tD3kNji6Xh+VEb8EUcTPnYc8
 z0edolwNNNw/dvyeyoOl6HSTHf6Nykivfxs+WJwKIXFZRbtxlRa0zPJjv1ua8BR/
 Per/EhyFpQWM4YioiaVoI+YZk3ZoLOSBdRnuW+PvAEx8ET4jU+fP1PxHlsbv/1fD
 w/plHUDWbNTvZ9yn6zTBmkfFGrvHNInbpJuOmfTJ+EE+Pvk/YUE=
 =nR4K
 -----END PGP SIGNATURE-----

Merge tag 'lpc32xx-defconfig-for-5.1' of https://github.com/vzapolskiy/linux-lpc32xx into arm/defconfig

ARM: lpc32xx: defconfig updates for v5.1

Here are the changes for ARM NXP LPC32xx and ARM NXP LPC18xx/LPC43xx
defconfig files:
* LPC18xx/LPC43xx and LPC32xx defconfig files got updates to match
  savedefconfig,
* PL11x LCD controller driver on both LPC18xx/LPC43xx and LPC32xx
  has been switched from fbdev to DRM one,
* drivers of GPIO controllers not found on LPC32xx boards are disabled,
* LPC32xx gets enabled additional sane debugging options: panic on oops,
  sysrq, dynamic debug, timestamps in kernel log buffer and built GDB
  scripts,
* LPC32xx gets enabled NFSv4 support,
* LPC32xx gets enabled a number of used drivers: DRM simple panel,
  fixed voltage regulator and generic SRAM drivers,
* Option to have a serial console on HS UART on LPC32xx is enabled.

* tag 'lpc32xx-defconfig-for-5.1' of https://github.com/vzapolskiy/linux-lpc32xx:
  ARM: defconfig: lpc32xx: enable DRM simple panel driver
  ARM: defconfig: lpc32xx: enable fixed voltage regulator support
  ARM: defconfig: lpc32xx: disable superfluous GPIO controllers
  ARM: defconfig: lpc32xx: enable generic SRAM driver
  ARM: defconfig: lpc32xx: enable serial console on HS UART
  ARM: defconfig: lpc32xx: enable panic on oops option
  ARM: defconfig: lpc32xx: enable build options for basic debugging
  ARM: defconfig: lpc32xx: enable NFSv4 support
  ARM: defconfig: Switch LPC32xx to use PL11x DRM driver
  ARM: defconfig: Update LPC32xx defconfig
  ARM: defconfig: Switch LPC18xx to use PL11x DRM driver
  ARM: defconfig: Update LPC18xx defconfig
2019-02-15 16:53:33 +01:00
Arnd Bergmann
213721c7c6 Merge branch 'socfpga_for_next_v5.1_defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into arm/defconfig
* 'socfpga_for_next_v5.1_defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  ARM: socfpga_defconfig: enable BLK_DEV_LOOP config option

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:52:42 +01:00
Arnd Bergmann
4e5ddaa8c0 Allwinner arm64 defconfig changes for 5.1
Two new additions to arm64's defconfig to support A64 boards.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCXF1a8wAKCRDj7w1vZxhR
 xYvJAQCpobGf96IZw2tNgyrz/7hd54ZjpYkkvAJuLK5wMHhHuAD/d2IBBVQ2yu5q
 IX6Z40PXrKz43QFFszDThZy9tMqdng0=
 =TfND
 -----END PGP SIGNATURE-----

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

Allwinner arm64 defconfig changes for 5.1

Two new additions to arm64's defconfig to support A64 boards.

* tag 'sunxi-config64-for-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: defconfig: Enable SUN6I Camera sensor interface
  arm64: defconfig: Enable I2C_GPIO

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2019-02-15 16:51:26 +01:00
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