Commit graph

781,636 commits

Author SHA1 Message Date
Alex Deucher
0859df22ab drm/amdgpu: fix swapped emit_ib_size in vce3
The phys and vm versions had the values swapped.

Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2018-07-02 13:40:55 -05:00
Linus Torvalds
4e33d7d479 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Pull networking fixes from David Miller:

 1) Verify netlink attributes properly in nf_queue, from Eric Dumazet.

 2) Need to bump memory lock rlimit for test_sockmap bpf test, from
    Yonghong Song.

 3) Fix VLAN handling in lan78xx driver, from Dave Stevenson.

 4) Fix uninitialized read in nf_log, from Jann Horn.

 5) Fix raw command length parsing in mlx5, from Alex Vesker.

 6) Cleanup loopback RDS connections upon netns deletion, from Sowmini
    Varadhan.

 7) Fix regressions in FIB rule matching during create, from Jason A.
    Donenfeld and Roopa Prabhu.

 8) Fix mpls ether type detection in nfp, from Pieter Jansen van Vuuren.

 9) More bpfilter build fixes/adjustments from Masahiro Yamada.

10) Fix XDP_{TX,REDIRECT} flushing in various drivers, from Jesper
    Dangaard Brouer.

11) fib_tests.sh file permissions were broken, from Shuah Khan.

12) Make sure BH/preemption is disabled in data path of mac80211, from
    Denis Kenzior.

13) Don't ignore nla_parse_nested() return values in nl80211, from
    Johannes berg.

14) Properly account sock objects ot kmemcg, from Shakeel Butt.

15) Adjustments to setting bpf program permissions to read-only, from
    Daniel Borkmann.

16) TCP Fast Open key endianness was broken, it always took on the host
    endiannness. Whoops. Explicitly make it little endian. From Yuching
    Cheng.

17) Fix prefix route setting for link local addresses in ipv6, from
    David Ahern.

18) Potential Spectre v1 in zatm driver, from Gustavo A. R. Silva.

19) Various bpf sockmap fixes, from John Fastabend.

20) Use after free for GRO with ESP, from Sabrina Dubroca.

21) Passing bogus flags to crypto_alloc_shash() in ipv6 SR code, from
    Eric Biggers.

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (87 commits)
  qede: Adverstise software timestamp caps when PHC is not available.
  qed: Fix use of incorrect size in memcpy call.
  qed: Fix setting of incorrect eswitch mode.
  qed: Limit msix vectors in kdump kernel to the minimum required count.
  ipvlan: call dev_change_flags when ipvlan mode is reset
  ipv6: sr: fix passing wrong flags to crypto_alloc_shash()
  net: fix use-after-free in GRO with ESP
  tcp: prevent bogus FRTO undos with non-SACK flows
  bpf: sockhash, add release routine
  bpf: sockhash fix omitted bucket lock in sock_close
  bpf: sockmap, fix smap_list_map_remove when psock is in many maps
  bpf: sockmap, fix crash when ipv6 sock is added
  net: fib_rules: bring back rule_exists to match rule during add
  hv_netvsc: split sub-channel setup into async and sync
  net: use dev_change_tx_queue_len() for SIOCSIFTXQLEN
  atm: zatm: Fix potential Spectre v1
  s390/qeth: consistently re-enable device features
  s390/qeth: don't clobber buffer on async TX completion
  s390/qeth: avoid using is_multicast_ether_addr_64bits on (u8 *)[6]
  s390/qeth: fix race when setting MAC address
  ...
2018-07-02 11:18:28 -07:00
Tarun Vyas
a608987970 drm/i915: Wait for PSR exit before checking for vblank evasion
The PIPEDSL freezes on PSR entry and if PSR hasn't fully exited, then
the pipe_update_start call schedules itself out to check back later.

On ChromeOS-4.4 kernel, which is fairly up-to-date w.r.t drm/i915 but
lags w.r.t core kernel code, hot plugging an external display triggers
tons of "potential atomic update errors" in the dmesg, on *pipe A*. A
closer analysis reveals that we try to read the scanline 3 times and
eventually timeout, b/c PSR hasn't exited fully leading to a PIPEDSL
stuck @ 1599. This issue is not seen on upstream kernels, b/c for *some*
reason we loop inside intel_pipe_update start for ~2+ msec which in this
case is more than enough to exit PSR fully, hence an *unstuck* PIPEDSL
counter, hence no error. On the other hand, the ChromeOS kernel spends
~1.1 msec looping inside intel_pipe_update_start and hence errors out
b/c the source is still in PSR.

Regardless, we should wait for PSR exit (if PSR is disabled, we incur
a ~1-2 usec penalty) before reading the PIPEDSL, b/c if we haven't
fully exited PSR, then checking for vblank evasion isn't actually
applicable.

v4: Comment explaining psr_wait after enabling VBL interrupts (DK)

v5: CAN_PSR() to handle platforms that don't support PSR.

v6: Handle local_irq_disable on early return (Chris)

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Tarun Vyas <tarun.vyas@intel.com>
Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180627200250.1515-2-tarun.vyas@intel.com
2018-07-02 10:56:33 -07:00
Tarun Vyas
c43dbcbbcc drm/i915/psr: Lockless version of psr_wait_for_idle
This is a lockless version of the exisiting psr_wait_for_idle().
We want to wait for PSR to idle out inside intel_pipe_update_start.
At the time of a pipe update, we should never race with any psr
enable or disable code, which is a part of crtc enable/disable.
The follow up patch will use this lockless wait inside pipe_update_
start to wait for PSR to idle out before checking for vblank evasion.
We need to keep the wait in pipe_update_start to as less as it can be.
So,we can live and flourish w/o taking any psr locks at all.

Even if psr is never enabled, psr2_enabled will be false and this
function will wait for PSR1 to idle out, which should just return
immediately, so a very short (~1-2 usec) wait for cases where PSR
is disabled.

v2: Add comment to explain the 25msec timeout (DK)

v3: Rename psr_wait_for_idle to __psr_wait_for_idle_locked to avoid
    naming conflicts and propagate err (if any) to the caller (Chris)

v5: Form a series with the next patch

v7: Better explain the need for lockless wait and increase the max
    timeout to handle refresh rates < 60 Hz (Daniel Vetter)

v8: Rebase

Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Tarun Vyas <tarun.vyas@intel.com>
Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180627200250.1515-1-tarun.vyas@intel.com
2018-07-02 10:52:39 -07:00
Dhinakaran Pandiyan
abdd322f68 drm/i915: Remove unnecessary check for unsupported modifiers for NV12
There is already a check to allow only RGB8888 formats with CCS
modifiers.

Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180628061854.6430-1-dhinakaran.pandiyan@intel.com
2018-07-02 10:37:38 -07:00
Vathsala Nagaraju
00b062967f drm/i915/psr: Add psr1 live status
Prints live state of psr1.Extending the existing
PSR2 live state function to cover psr1.

Tested on KBL with psr2 and psr1 panel.

v2: rebase
v3: DK
    Rename psr2_live_status to psr_source_status.
v4: DK
    Move EDP_PSR_STATUS_STATE_SHIFT below EDP_PSR_STATUS_STATE_MASK.
    Pass seq to psr_source_status, handle source status prints in
    psr_source_status.
v5: Fixed CI warning messages
v6:
    Remove extra space in the title before the colon.(DK)
    Rebase. (Jani)
v7: Use tabs for indenting the values.(Jani)
v8: Addressed dk's review comments.

Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>

Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Vathsala Nagaraju <vathsala.nagaraju@intel.com>
Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1530086910-15914-1-git-send-email-vathsala.nagaraju@intel.com
2018-07-02 10:36:20 -07:00
Jean-Christophe Dubois
be926ceeb4 thermal: i.MX: Allow thermal probe to fail gracefully in case of bad calibration.
Without this fix, the thermal probe on i.MX6 might trigger a division
by zero exception later in the probe if the calibration does fail.

Note: This linux behavior (Division by zero in kernel) has been triggered
on a Qemu i.MX6 emulation where parameters in nvmem were not set. With this
fix the division by zero is not triggeed anymore as the thermal probe does
fail early.

Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net>
Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
2018-07-02 10:34:33 -07:00
Mauro Carvalho Chehab
ea272257cc docs: histogram.txt: convert it to ReST file format
Despite being mentioned at Documentation/trace/ftrace.rst as a
rst file, this file was still a text one, with several issues.

Convert it to ReST and add it to the trace index:
- Mark the document title as such;
- Identify and indent the literal blocks;
- Use the proper markups for table.

Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2018-07-02 11:26:02 -06:00
Mauro Carvalho Chehab
60a8666850 gpio.h: fix location of gpio legacy documentation
The location of this doc file was moved. Change its reference
accordingly.

Fixes: 7ee2c13080 ("Documentation: gpio: Move legacy documentation to driver-api")
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2018-07-02 11:25:47 -06:00
Mauro Carvalho Chehab
2f896e1c51 MAINTAINERS: fix location of ina2xx.txt device tree file
This file got moved and merged, causing the old reference to
not exist anymore. Fix it.

Fixes: 6e24d205a8 ("hwmon: ina209: move binding docs to proper place")
Fixes: 62bc9f15e4 ("dt-bindings: merge ina209 binding into ina2xx binding")
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2018-07-02 11:25:42 -06:00
Mauro Carvalho Chehab
3fc3bbfc20 devicectree: bindings: fix location of leds common file
The leds.txt was moved and renamed. Fix references to
it accordingly.

Fixes: f67605394f ("devicetree/bindings: Move gpio-leds binding into leds directory")
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2018-07-02 11:25:21 -06:00
Mauro Carvalho Chehab
1d1636e32e docs: zh_CN: fix location of oops-tracing.txt
This file was merged with bug-hunting. Make the translation
to point for its new location.

Fixes: f226e46087 ("admin-guide: merge oops-tracing with bug-hunting")
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2018-07-02 11:25:11 -06:00
Mauro Carvalho Chehab
5d395fa63b scripts/documentation-file-ref-check: ignore sched-pelt false positive
When Documentation/scheduler/sched-pelt.c is compiled, it generates
a file called Documentation/scheduler/sched-pelt. As this only
exists after building such tool, we need an explict check
to remove the false-positive.

Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2018-07-02 11:25:00 -06:00
Mauro Carvalho Chehab
d25c063444 scripts/documentation-file-ref-check: remove some false positives
There are several false positives at tcm_mod_builder.txt:

    Documentation/target/tcm_mod_builder.txt: mnt/sdb/lio-core-2.6.git/Documentation/target/../../drivers/target/tcm_nab5000
    Documentation/target/tcm_mod_builder.txt: mnt/sdb/lio-core-2.6.git/Documentation/target/../../drivers/target/tcm_nab5000
    Documentation/target/tcm_mod_builder.txt: mnt/sdb/lio-core-2.6.git/Documentation/target/../../drivers/target/tcm_nab5000/tcm_nab5000_base.h
    Documentation/target/tcm_mod_builder.txt: mnt/sdb/lio-core-2.6.git/Documentation/target/../../include/target/target_core_fabric_ops.h
    Documentation/target/tcm_mod_builder.txt: mnt/sdb/lio-core-2.6.git/Documentation/target/../../drivers/target/tcm_nab5000/tcm_nab5000_fabric.c
    Documentation/target/tcm_mod_builder.txt: mnt/sdb/lio-core-2.6.git/Documentation/target/../../drivers/target/tcm_nab5000/tcm_nab5000_fabric.h
    Documentation/target/tcm_mod_builder.txt: mnt/sdb/lio-core-2.6.git/Documentation/target/../../drivers/target/tcm_nab5000/tcm_nab5000_configfs.c
    Documentation/target/tcm_mod_builder.txt: mnt/sdb/lio-core-2.6.git/Documentation/target/../../drivers/target/tcm_nab5000/Kbuild
    Documentation/target/tcm_mod_builder.txt: mnt/sdb/lio-core-2.6.git/Documentation/target/../../drivers/target/tcm_nab5000/Kconfig

Ignore them.

Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
2018-07-02 11:24:24 -06:00
Olof Johansson
c633d0f19d SoCFPGA DTS updates for v4.19
- Add SPI node for Arria10
 - Stratix10 platform updates
   - Add QSPI support on devkit
   - Add clocks for SPI/USB/watchdog
   - Add additional OCP reset property
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJbOi8iAAoJEBmUBAuBoyj0EvsP+wT0GC8csLIOLp6RATJmb/1t
 MHTz/rmw92b8BVzvqKbNOVRcOKQpinR6H6Y3DgkthVFdcp/hChYpccR/mhpwh/1k
 o27xmePC2OMIdI/TgSTXW8olsQNJFjp+np4h5NniEN5GNqL7NWHAqdmtE0ogI0DV
 lhhcJHN6HHH5zkZVx0OB8yME6UyTIOMFDgDyMG53a1f6JwW7TfcKag94OO99zOKG
 kQvJaU/MoJUfniJjfLoVuvFDOMBVdlFJXnHO+v3V5EB+nvg8sB8h1ejYO6NVJx8T
 f26FvGjHu4UV3ZH6qpywjTDS7kX4t7UH5+oZVZtBCxrNisQXKC3rlGiyFu3yc7rm
 WvFGdcwMa+eiVHmhZbRhrgMiTDqRORZ/2tyD97/YnqFMzONG5xy8uRrl1VvR+spr
 1LNMhee5yHUhtzdVBLL0u4IwKYTRRqDVMxOCMfh06H6Pc7HcRih24u9E8mEMA3Gb
 zfkEgD6n8zVcqGg+Rxp6n/DXOy9O1uTzMN3y54JSY9kl+3YXqlOfSMyNgcO3hKl2
 FDMSHJsnZ1i3GpCuV6m+i3gObAp41iPr5jYL2uACm9E5rQQ1QPHh/hnvm+RHAj3F
 DbpM05me16Cre/z+VJc5jDX+TO8+qd3mkFpnkDOJTFcj+gNxMeXxpf++ty9DutNi
 kEugLoFiQNX+rCk63ww8
 =v32v
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_updates_for_v4.19_part1' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into next/dt

SoCFPGA DTS updates for v4.19
- Add SPI node for Arria10
- Stratix10 platform updates
  - Add QSPI support on devkit
  - Add clocks for SPI/USB/watchdog
  - Add additional OCP reset property

* tag 'socfpga_updates_for_v4.19_part1' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  arm64: dts: stratix10: Add SPI node clocks for Stratix10
  ARM: dts: Add SPI0 node for Arria10
  arm64: dts: stratix10: add OCP reset property for ethernet
  arm64: dts: stratix10: fill in clocks field for usb and watchdog
  arm64: dts: stratix10: Add QSPI support for Stratix10

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-02 10:18:53 -07:00
Olof Johansson
3287ecdf14 Misc enhancement for tee driver subsystem
* Replaces getnstimeofday64() with ktime_get_real_ts64()
 * Adds OPTEE_SHM_NUM_PRIV_PAGES to configure how many pages should be
   statically reserved for driver private allocations
 -----BEGIN PGP SIGNATURE-----
 
 iQJOBAABCgA4FiEEcK3MsDvGvFp6zV9ztbC4QZeP7NMFAls6AV4aHGplbnMud2lr
 bGFuZGVyQGxpbmFyby5vcmcACgkQtbC4QZeP7NNKTBAApk6CoDYnXJn8COHEfxX4
 44vj+K+sz5R6Lg7bedRT6AmUdExa/1it0zILOV+izlaUQJz1AWyhrBW+yl0LLK+F
 g9RJsAB7DEtnvFo6C2pu1XBOfAyonJRteNccmx0tJc6rai8hkvtLhbRyZQ3LmwHi
 3bwyn90XP1WYoVJkt/joJSE6TMmjYBEz1gZoJZBwIKkCSPwhleVynhHzpU1tkEby
 WTZrXdkVBV8STDot6orhzPe9YRVGo+RIQUSYaMXe8L9JFTm3hVaogUbF8BPktB+4
 0pI373OgppWwqLcJ29QtLxJW4sMiTAGpG1d2YZLsSZKuteZVHrSZ8L3VVHE9+zUg
 AG5Kw0oMeZEbeT2X/C3goQKL5EEQ+iD6+WK3b05ZSofAZlGWcAu+gC1UqNXwVD4E
 5FwT3znEfpZVtHfnThIDRlOQbTfDj+Wt26c777ho5TSkl8DVWr56VBfw3h4wNHTH
 9KnV7i1380qIEtgEZ7qhQ0MDaouoynsWS04WH1H+8kZHlxj3VVQM48A6n/Nm/nPt
 4O5sorQxwuSo/HAAx29tWMtUMtzNxQfDGtedAgp66KcFVUvq9yczDutF++si2xX5
 XcnqD5lMK9s4pFAQNOMnX3amplo2zio60I63PPh6OXPoBJRcpJyP/tJ37/LnxzDI
 sUzxvTTnoKzVtNCcgS/SVfo=
 =wnva
 -----END PGP SIGNATURE-----

Merge tag 'tee-drv-for-4.18' of git://git.linaro.org/people/jens.wiklander/linux-tee into next/drivers

Misc enhancement for tee driver subsystem

* Replaces getnstimeofday64() with ktime_get_real_ts64()
* Adds OPTEE_SHM_NUM_PRIV_PAGES to configure how many pages should be
  statically reserved for driver private allocations

* tag 'tee-drv-for-4.18' of git://git.linaro.org/people/jens.wiklander/linux-tee:
  tee: optee: making OPTEE_SHM_NUM_PRIV_PAGES configurable via Kconfig
  tee: replace getnstimeofday64() with ktime_get_real_ts64()

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-02 10:18:09 -07:00
Jonathan Corbet
5f6654094f Linux 4.18-rc3
-----BEGIN PGP SIGNATURE-----
 
 iQFSBAABCAA8FiEEq68RxlopcLEwq+PEeb4+QwBBGIYFAls5Xh8eHHRvcnZhbGRz
 QGxpbnV4LWZvdW5kYXRpb24ub3JnAAoJEHm+PkMAQRiGGB4H/3zJ73feDP9uUABk
 92tGQbc9PEtrkpOhACBUzVIIxMePgfqFZ+xF9KXwL9fzf+PEJrj9ILZlZ2XxNblN
 CO1U95+9nFntGF88DK3h5Hmkn/Kc8kwrbzjax9yvVKfIDX6HwtVUh49BuV7yKza8
 ntwzu6ONCqSdDoCRubGxAAoZXGPpznG6FgRpsIVCHxv2Pu/YpQ2vdn9+vHandjAR
 gvYnBv4Z06OZU65ABIZ4ivr1SExhSxz6yoZAjSUQvBh6bcKDOVTtTQcdndp5Rzm2
 nvuEioKuvyamRswp7LBCIfWs1TSEi6qsUrdcVWNEdwkA164VHqBRfyX176g65v3S
 a0df6n4=
 =aK8y
 -----END PGP SIGNATURE-----

Merge tag 'v4.18-rc3' into docs-next

-rc1 broke the docs build due to changes in the e100/e1000 drivers; -rc3
got the fixes via the networking tree.  Pull in -rc3 so that the docs tree
can actually build the docs again.
2018-07-02 11:14:50 -06:00
Olof Johansson
a67de88209 Renesas ARM Based SoC Arm SoC Updates for v4.19
* Convert to SPDX identifier
 
 * Remove legacy SMP fallback code
 
   Geert Uytterhoeven says "R-Car H2 and M2-W have been supporting SMP
   enablement from DT using the "renesas,apmu" enable-method since v4.8.
   A legacy fallback was left in place for backwards compatibility with old
   DTBs.
 
   This patch series removes the legacy SMP fallbacks for R-Car H2 and
   M2-W, and consolidates their support in the common R-Car Gen2 machine
   definition.2
 
 * APMU cleanups after legacy SMP fallback removal
   - Move cpu_leave_lowpower() from HOTPLUG_CPU || SUSPEND section to the
     SUSPEND section as it is only used for suspend
   - Remove shmobile_smp_apmu_prepare_cpus() as it is no longer used
   - Remove platsmp-apmu.h
 
 * Drop legacy SYSC fallbacks
 
   Geert Uytterhoeven says "When DT SYSC support was introduced in v4.7,
   legacy fallbacks were kept to keep secondary CPUs working on R-Car H1,
   H2, and M2-W using old DTBs.  However, the time has come to drop these
   fallbacks, and clean up the resulting code"
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4nzZofWswv9L/nKF189kaWo3T74FAlsw9BUACgkQ189kaWo3
 T77wNA//a5XfWFjbzvIBT+CJ23dGcJRh3dnren+CENIeOi6/HE2zzTYrOVzqngS2
 pj/rKeV9kZ/5APCjLzDVvC6UemteUqBtnU85c5FsrqivfUvzPA3/dKxqx/u4NMPv
 Cz90B6gYl0IIncWerecsS7k2BY0AVHKhDCdlGFZgEtBtF36oT4PA5npNO9K9cbDf
 nQcJkFaIwPgD3p7mckmZylE0duAkNQmXAyXplPrJYPv1dz87p/b1GVV34VsNoYl0
 Zulm0sJEgaywMaFSeNdxjaHNiTirpYPMvK8S/PIU/IyKd1eufoEp19GgvZ6ndYIQ
 T1OSqvmdkx80XTKzUqFL5m81HgqfQsGnMLOajsMWCqD+gRT4/HSwar10jHx3rSOu
 8q51gmtf4BS05gMf1ZBfjaBqwqhh2DHL5bO6oMUQT4lF5t952y+ucXDot+WXRnb+
 MBk8vAfyyBRSOOBCARx0uoSIStOeJO2F/pvyg7pAku55OZJ7Vsl62StwsmNZ2gE2
 UVHlCcpwtjjcOKRYWkl0i/Qv9nG3jIlolgVQMt1TSm+myY462bKW8BzKGtx0MXgX
 TGYamTBbRvqv1Gu7099oVzJ9a4D4fx7NIoaN+xwrxHgjdMf2m7KMkI7FIerJUJKr
 QhyDv6N3gB7WRuecQHkTf19Yam8c0MoHwlAboTqqUwIXSP28fU4=
 =r3sD
 -----END PGP SIGNATURE-----

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

Renesas ARM Based SoC Arm SoC Updates for v4.19

* Convert to SPDX identifier

* Remove legacy SMP fallback code for R-CAR H2 and M2-W
  - DT enablement has been in since 4.8, no longer needed

* APMU cleanups after legacy SMP fallback removal

* Drop legacy SYSC fallback code for R-Car H1, H2 and M2-W
  - DT enablement has been in since 4.7, no longer needed.

* tag 'renesas-arm-soc-for-v4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
  ARM: shmobile: convert to SPDX identifier
  soc: renesas: rcar-sysc: Drop legacy handling
  ARM: shmobile: r8a7779: Remove explicit SYSC config and init
  ARM: shmobile: r8a7779: Use rcar_sysc_power_{down,up}_cpu()
  soc: renesas: rcar-sysc: Provide helpers to power up/down CPUs
  ARM: shmobile: r8a7779: Stop powering down secondary CPUs during early boot
  ARM: shmobile: rcar-gen2: Remove explicit SYSC config and init
  ARM: shmobile: apmu: Remove platsmp-apmu.h
  ARM: shmobile: apmu: Remove obsolete shmobile_smp_apmu_prepare_cpus()
  ARM: shmobile: apmu: Move cpu_leave_lowpower() to SUSPEND section
  ARM: shmobile: Remove unused shmobile_smp_init_fallback_ops()
  ARM: shmobile: r8a7791: Use common R-Car Gen2 machine definition
  ARM: shmobile: r8a7791: Remove legacy SMP fallback code
  ARM: shmobile: r8a7790: Use common R-Car Gen2 machine definition
  ARM: shmobile: r8a7790: Remove legacy SMP fallback code

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-02 10:10:43 -07:00
Olof Johansson
2bc0b8e246 Renesas ARM64 Based SoC DT Updates for v4.19
* All applicable R-Car Gen 3 SoCs
   - Correct VSPD registers range
   - Convert R-Car Gen3 SoC and board DT files to SPDX identifiers
 
 * R-Car H3 (r8a7795), M3-W (r8a7796) and M3-N (r8a77965) SoCs
   - Salvator-X and Salvator-XS boards
     + Describe HSCIF1 device
     + Correct I2C ch4 clock to 400kHz
   - Salvator-X, Salvator-XS and ULCB boards
     + Add sdhi2_ds pin group to SDHI2 pinctrl groups
 
 * R-Car H3 (r8a7795) SoC
   - Describe CryptoCAL (CCREE) device
 
 * R-Car M3-W (r8a7796) SoC
   - Describe PCIe devices
   - Describe HSCIF nodes
 
 * R-Car M3-N (r8a77965) SoC
   - Describe PCIe devices
   - Use CPG MSSR symbols instead of numeric indicies
 
 * R-Car D3 (r8a77995) SoC
   - Describe Thermal device
   - Describe MSIOF devices
   - Add power domains to description of IPMMU devices
   - Do not use deprecated renesas,gpio-rcar compat string
   - Describe HDMI and CVBS input in DT of R-Car Gen3 D3 Draak board
 
 * R-Car V3H (r8a77980) SoC
   - Describe secondary CA53 CPU cores, and GPIO and
     interconected FCPVD0, VSPD0, DU, and LVDS0 devices
   - Enable ethernet on V3HSK board
   - Specify Ethernet PHY IRQs in the DT of the Condor and V3HSK boards.
     This is possible now that GPIO support is present.
     Previously phylib had to resort to polling.
   - Enable I2C0 on Condor board
 
 * R-Car E3 (r8a77990)
   - Enable Watchdog timer and USB2.0 host on Ebisu board
   - Enable secondary CA53 CPU core
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4nzZofWswv9L/nKF189kaWo3T74FAlsw75cACgkQ189kaWo3
 T75Wig/9E5j/oEx995XphTxaYwv2hSTg1zCTeBZ0tPJ3q36c4CRF86Y866WklQUU
 21V0lKTJcYFA2sOHgqdi+shDNl5wm8I8u75UsyYYP5TJKSn8M8yv9q5Fbfz4K6HN
 wT69NXo2PsrnFQIkqurSSrlU1tNeS9T9PlcKXAJI9XY4Y8NhXn+HH/JTjujRp8Sp
 wu60dHFi2E+xJEzia7mI0XNyp2Ng6eQ8g835qRofDvuU9cv4xMsODE7fNO5qCxR9
 uYt9kw0NufrKo3FNfc/8gLhAF8Ye9NsseohBtHQ7t30Mc0Y1UN5HEk4ST8xU/RZN
 cSHMUlxn8OTyaLZjgQA0RsMjjtrbrOmGdYJFL2qzfwoVTkVxjx/JcPs5otzTxis3
 cfg9Ajz9QtTqMAuAEWm0FkeNio8CcthpprKO9HLEQd3cpqMfFDENxSdimPZWg5qJ
 m/2vNZ/k/N1pzlnSpgCCJZLJqDLSSSoy4+HUB0qc0tFjK/Dspzj+2oF2/3fSC0zc
 /EvdCPsSxd35IvS1ItanDy0Pf5TSAn8+9oksNj0vBHRo5RJP+dj8nTSKO/xCAfM6
 nWxObGX/THlrCT+5XlOISEr+WaaxE1X379RrWM3xawVOxmwvtL95i9LOmntj3s99
 e+TjeP+jTGZnjMwAlYO815eovdlZRv0uIH7l7uH7wCdlgtJ4sgw=
 =8es0
 -----END PGP SIGNATURE-----

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

Renesas ARM64 Based SoC DT Updates for v4.19

* All applicable R-Car Gen 3 SoCs
  - Correct VSPD registers range
  - Convert R-Car Gen3 SoC and board DT files to SPDX identifiers

* R-Car H3 (r8a7795), M3-W (r8a7796) and M3-N (r8a77965) SoCs
  - Salvator-X and Salvator-XS boards
    + Describe HSCIF1 device
    + Correct I2C ch4 clock to 400kHz
  - Salvator-X, Salvator-XS and ULCB boards
    + Add sdhi2_ds pin group to SDHI2 pinctrl groups

* R-Car H3 (r8a7795) SoC
  - Describe CryptoCAL (CCREE) device

* R-Car M3-W (r8a7796) SoC
  - Describe PCIe devices
  - Describe HSCIF nodes

* R-Car M3-N (r8a77965) SoC
  - Describe PCIe devices
  - Use CPG MSSR symbols instead of numeric indicies

* R-Car D3 (r8a77995) SoC
  - Describe Thermal device
  - Describe MSIOF devices
  - Add power domains to description of IPMMU devices
  - Do not use deprecated renesas,gpio-rcar compat string
  - Describe HDMI and CVBS input in DT of R-Car Gen3 D3 Draak board

* R-Car V3H (r8a77980) SoC
  - Describe secondary CA53 CPU cores, and GPIO and
    interconected FCPVD0, VSPD0, DU, and LVDS0 devices
  - Enable ethernet on V3HSK board
  - Specify Ethernet PHY IRQs in the DT of the Condor and V3HSK boards.
    This is possible now that GPIO support is present.
    Previously phylib had to resort to polling.
  - Enable I2C0 on Condor board

* R-Car E3 (r8a77990)
  - Enable Watchdog timer and USB2.0 host on Ebisu board
  - Enable secondary CA53 CPU core

* tag 'renesas-arm64-dt-for-v4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (29 commits)
  arm64: dts: renesas: r8a77995: Add MSIOF device nodes
  arm64: dts: renesas: salvator-common: Add HSCIF1 device support
  arm64: dts: renesas: r8a77980: add FCPVD/VSPD/DU/LVDS support
  arm64: dts: renesas: condor/v3hsk: specify Ethernet PHY IRQs
  arm64: dts: renesas: r8a77965: Add PCIe device nodes
  arm64: dts: renesas: Fix VSPD registers range
  arm64: dts: renesas: convert to SPDX identifiers
  arm64: dts: renesas: r8a77980: add GPIO support
  arm64: dts: renesas: r8a77990: Enable USB2.0 Host for Ebisu board
  arm64: dts: renesas: r8a7796: Add PCIe device nodes
  arm64: dts: renesas: r8a77990: Add secondary CA53 CPU core
  arm64: dts: renesas: r8a77990: ebisu: Enable watchdog timer
  arm64: dts: renesas: condor: add I2C0 support
  arm64: dts: renesas: r8a77980: add I2C support
  arm64: dts: renesas: salvator-x(s): Update I2C ch4 clock to 400kHz
  arm64: dts: renesas: Add sdhi2_ds pin group to SDHI2 pinctrl groups
  arm64: dts: renesas: r8a77965: Add all HSCIF nodes
  arm64: dts: renesas: r8a77965: Use r8a77965-cpg-mssr binding definitions
  arm64: dts: renesas: r8a7795: add ccree to device tree
  arm64: dts: renesas: r8a77965: Add Watchdog Timer controller node using RCLK Watchdog Timer
  ...

Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-02 10:03:16 -07:00
Viresh Kumar
a06e5c0562 arm64: dts: mediatek: Add missing cooling device properties for CPUs
The cooling device properties, like "#cooling-cells" and
"dynamic-power-coefficient", should either be present for all the CPUs
of a cluster or none. If these are present only for a subset of CPUs of
a cluster then things will start falling apart as soon as the CPUs are
brought online in a different order. For example, this will happen
because the operating system looks for such properties in the CPU node
it is trying to bring up, so that it can register a cooling device.

Add such missing properties.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2018-07-02 18:54:19 +02:00
Chris Wilson
7e7367d3bc drm/i915: Try GGTT mmapping whole object as partial
If the whole object is already pinned by HW for use as scanout, we will
fail to move it to the mappable region and so must resort to using a
partial VMA covering the whole object.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104513
Fixes: aa136d9d72 ("drm/i915: Convert partial ggtt vma to full ggtt if it spans the entire object")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Matthew Auld <matthew.william.auld@gmail.com>
Reviewed-by: Matthew Auld <matthew.william.auld@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180630090509.469-1-chris@chris-wilson.co.uk
2018-07-02 17:36:09 +01:00
Hans de Goede
399111aaa7 USB: typec: fsusb302: Drop empty set_current_limit implementation
The set_current_limit tcpm_dev callback is optional and the tcpm core
will already log the passed in values, so there is no need to have an
empty implementation of this.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-02 18:08:19 +02:00
Gustavo A. R. Silva
25b22e353c USB: mark expected switch fall-throughs
In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-02 18:08:19 +02:00
Gustavo A. R. Silva
169d3606dc USB: musb: mark expected switch fall-throughs
In preparation to enabling -Wimplicit-fallthrough, mark switch cases
where we are expecting to fall through.

Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-02 18:08:19 +02:00
Julia Lawall
d3ac5598c5 usb: wusbcore: security: cast sizeof to int for comparison
Comparing an int to a size, which is unsigned, causes the int to become
unsigned, giving the wrong result.  usb_get_descriptor can return a
negative error code.

A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)

// <smpl>
@@
int x;
expression e,e1;
identifier f;
@@

*x = f(...);
... when != x = e1
    when != if (x < 0 || ...) { ... return ...; }
*x < sizeof(e)
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-02 18:08:19 +02:00
Michel Dänzer
718b5406cd drm: Use kvzalloc for allocating blob property memory
The property size may be controlled by userspace, can be large (I've
seen failure with order 4, i.e. 16 pages / 64 KB) and doesn't need to be
physically contiguous.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180629142710.2069-1-michel@daenzer.net
Cc: stable@vger.kernel.org
2018-07-02 11:05:21 -05:00
Damien Le Moal
6edf1d4cb0 ata: Fix ZBC_OUT all bit handling
If the ALL bit is set in the ZBC_OUT command, the command zone ID field
(block) should be ignored.

Reported-by: David Butterfield <david.butterfield@wdc.com>
Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Cc: stable@vger.kernel.org
Signed-off-by: Tejun Heo <tj@kernel.org>
2018-07-02 08:59:26 -07:00
Damien Le Moal
b320a0a9f2 ata: Fix ZBC_OUT command block check
The block (LBA) specified must not exceed the last addressable LBA,
which is dev->nr_sectors - 1. So fix the correct check is
"if (block >= dev->n_sectors)" and not "if (block > dev->n_sectords)".

Additionally, the asc/ascq to return for an LBA that is not a zone start
LBA should be ILLEGAL REQUEST, regardless if the bad LBA is out of
range.

Reported-by: David Butterfield <david.butterfield@wdc.com>
Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Cc: stable@vger.kernel.org
Signed-off-by: Tejun Heo <tj@kernel.org>
2018-07-02 08:59:11 -07:00
Mika Westerberg
ba44579141 ahci: Add Intel Ice Lake LP PCI ID
This should also be using the default LPM policy for mobile chipsets so
add the PCI ID to the driver list of supported devices.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: stable@vger.kernel.org
2018-07-02 08:53:50 -07:00
Ville Syrjälä
ea63272595 drm/vmwgfx: Use drm_plane_mask() & co.
Use drm_{plane,connector}_mask() where appropriate.

Cc: VMware Graphics <linux-graphics-maintainer@vmware.com>
Cc: Sinclair Yeh <syeh@vmware.com>
Cc: Thomas Hellstrom <thellstrom@vmware.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180626194716.12522-10-ville.syrjala@linux.intel.com
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-07-02 18:45:56 +03:00
Ville Syrjälä
c0183a8eae drm/vc4: Use drm_crtc_mask()
Use drm_crtc_mask() where appropriate.

Cc: Eric Anholt <eric@anholt.net>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180626194716.12522-9-ville.syrjala@linux.intel.com
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
2018-07-02 18:45:56 +03:00
Ville Syrjälä
dbf8f9e40e drm/sun4i: Use drm_crtc_mask()
Use drm_crtc_mask() where appropriate.

Cc: Maxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180626194716.12522-8-ville.syrjala@linux.intel.com
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-07-02 18:45:56 +03:00
Ville Syrjälä
2d4569fd8d drm/imx: Use drm_plane_mask()
Use drm_plane_mask() where appropriate.

Cc: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180626194716.12522-6-ville.syrjala@linux.intel.com
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Acked-by: Philipp Zabel <p.zabel@pengutronix.de>
2018-07-02 18:45:56 +03:00
Ville Syrjälä
40560e26dc drm/i915: Use drm_plane_mask() & co.
Use drm_{plane,crtc,encoder,connector}_mask() where appropriate.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180626194716.12522-5-ville.syrjala@linux.intel.com
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-07-02 18:45:55 +03:00
Ville Syrjälä
737057321f drm: Add drm_connector_mask()
Add drm_connector_mask() which returns the 1<<index for the connector.
We already have an identical drm_crtc_mask() for crtcs.

Mostly performed with coccinelle:
@@
@@
- (1<<drm_connector_index(
+ drm_connector_mask(
  ...)
-  )

@@
@@
- 1<<drm_connector_index(
+ drm_connector_mask(
  ...)

@@
@@
- BIT(drm_connector_index(
+ drm_connector_mask(
  ...)
- )

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180626194716.12522-4-ville.syrjala@linux.intel.com
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-07-02 18:45:55 +03:00
Ville Syrjälä
6f3be036da drm: Add drm_encoder_mask()
Add drm_encoder_mask() which returns the 1<<index for the encoder.
We already have an identical drm_crtc_mask() for crtcs.

Mostly performed with coccinelle:
@@
@@
- (1<<drm_encoder_index(
+ drm_encoder_mask(
  ...)
-  )

@@
@@
- 1<<drm_encoder_index(
+ drm_encoder_mask(
  ...)

@@
@@
- BIT(drm_encoder_index(
+ drm_encoder_mask(
  ...)
- )

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180626194716.12522-3-ville.syrjala@linux.intel.com
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-07-02 18:45:55 +03:00
Ville Syrjälä
6a52193bd0 drm: Use drm_crtc_mask()
Use drm_crtc_mask() where appropriate.

Mostly performed with coccinelle:
@@
@@
- (1<<drm_crtc_index(
+ drm_crtc_mask(
  ...)
-  )

@@
@@
- 1<<drm_crtc_index(
+ drm_crtc_mask(
  ...)

@@
@@
- BIT(drm_crtc_index(
+ drm_crtc_mask(
  ...)
- )

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180626194716.12522-2-ville.syrjala@linux.intel.com
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-07-02 18:45:55 +03:00
Ville Syrjälä
62f77ad096 drm: Add drm_plane_mask()
Add drm_plane_mask() which returns the 1<<index for the plane.
We already have an identical drm_crtc_mask() for crtcs.

Mostly performed with coccinelle:
@@
@@
- (1<<drm_plane_index(
+ drm_plane_mask(
  ...)
-  )

@@
@@
- 1<<drm_plane_index(
+ drm_plane_mask(
  ...)

@@
@@
- BIT(drm_plane_index(
+ drm_plane_mask(
  ...)
- )

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180626194716.12522-1-ville.syrjala@linux.intel.com
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-07-02 18:45:55 +03:00
Ville Syrjälä
e35a2f9aee drm/atomic-helper: Use old/new state in drm_atomic_helper_commit_planes_on_crtc()
Update drm_atomic_helper_commit_planes_on_crtc() to use explicit old/new
states instead of relying on obj->state.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180626204144.14769-1-ville.syrjala@linux.intel.com
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2018-07-02 18:45:55 +03:00
Heikki Krogerus
e9576fe8e6 usb: typec: tcpm: Support for Alternate Modes
This adds more complete handling of VDMs and registration of
partner alternate modes, and introduces callbacks for
alternate mode operations.

Only DFP role is supported for now.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-02 17:42:36 +02:00
Heikki Krogerus
49cbb33dfd usb: typec: pi3usb30532: Start using generic state values
Instead of the tcpm specific mux states, using the generic
USB Type-C connector state values, and with DisplayPort
using connector states defined for the DisplayPort Alt Mode.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-02 17:42:36 +02:00
Heikki Krogerus
0e3bb7d689 usb: typec: Add driver for DisplayPort alternate mode
DisplayPort USB Type-C Alt Mode allows DisplayPort displays
and adapters to be attached to the USB Type-C ports on the
system.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-02 17:42:36 +02:00
Heikki Krogerus
8a37d87d72 usb: typec: Bus type for alternate modes
Introducing a simple bus for the alternate modes. Bus allows
binding drivers to the discovered alternate modes the
partners support.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-02 17:42:36 +02:00
Heikki Krogerus
4ab8c18d4d usb: typec: Register a device for every mode
Before a device was created for every discovered SVID, but
this will create a device for every discovered mode of every
SVID. The idea is to make it easier to create mode specific
drivers once a bus for the alternate mode is added.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-02 17:42:36 +02:00
Heikki Krogerus
93dd2112c7 usb: typec: mux: Get the mux identifier from function parameter
In order for the muxes to be usable with alternate modes,
the alternate mode devices will need also to be able to get
a handle to the muxes on top of the port devices. To make
that possible, the muxes need to be possible to request with
an identifier.

This will change the API so that the mux identifier is given
as a function parameter to typec_mux_get(), and the hard-coded
"typec-mux" is replaced with that value.

Signed-off-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Tested-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-02 17:42:36 +02:00
Hans de Goede
b3a653288e i2c-cht-wc: Fix bq24190 supplier
Commit f2a8aa053c ("typec: tcpm: Represent source supply through
power_supply") moved the code to register a power_supply representing
the device supplying power to the type-C connector, from the fusb302
code to the generic tcpm code.

This has caused the power-supply registered by the fusb302 driver,
which determines how much current the bq24190 can draw, to change name
from "fusb302-typec-source" to "tcpm-source-psy-i2c-fusb302".

Fixes: f2a8aa053c ("typec: tcpm: Represent source supply through...")
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Wolfram Sang <wsa@the-dreams.de>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-02 17:38:07 +02:00
Hans de Goede
146971e624 typec: tcpm: Correctly report power_supply current and voltage for non pd supply
Commit f2a8aa053c ("typec: tcpm: Represent source supply through
power_supply") moved the code to register a power_supply representing
the device supplying power to the type-C connector, from the fusb302
code to the generic tcpm code so that we have a psy reporting the
supply voltage and current for all tcpm devices.

This broke the reporting of current and voltage through the psy interface
when supplied by a a non pd supply (5V, current as reported by
get_current_limit). The cause of this breakage is port->supply_voltage
and port->current_limit not being set in that case.

This commit fixes this by setting port->supply_voltage and
port->current_limit from tcpm_set_current_limit().

This commit also removes setting supply_voltage and current_limit
from tcpm_reset_port() as that calls tcpm_set_current_limit(0, 0)
which now already sets these to 0.

Fixes: f2a8aa053c ("typec: tcpm: Represent source supply through...")
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-07-02 17:38:07 +02:00
Andreas Gruenbacher
025d0e7f73 gfs2: Remove gfs2_write_{begin,end}
Now that generic_file_write_iter is no longer used, there are no
remaining users of these address space operations.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Reviewed-by: Bob Peterson <rpeterso@redhat.com>
2018-07-02 16:27:38 +01:00
Andreas Gruenbacher
967bcc91b0 gfs2: iomap direct I/O support
The page unmapping previously done in gfs2_direct_IO is now done
generically in iomap_dio_rw.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Reviewed-by: Bob Peterson <rpeterso@redhat.com>
2018-07-02 16:27:32 +01:00
Andreas Gruenbacher
bcfe94139a gfs2: gfs2_extent_length cleanup
Now that gfs2_extent_length is no longer used for determining the size
of a hole and always with an upper size limit, the function can be
simplified.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Reviewed-by: Bob Peterson <rpeterso@redhat.com>
2018-07-02 16:27:24 +01:00