Commit graph

982081 commits

Author SHA1 Message Date
Lina Iyer
a94ef811f7 PM: domains: replace -ENOTSUPP with -EOPNOTSUPP
While submitting a patch to add next_wakeup, checkpatch reported this -

WARNING: ENOTSUPP is not a SUSV4 error code, prefer EOPNOTSUPP
+       return -ENOTSUPP;

Address the above warning in other functions in pm_domain.h.

Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Lina Iyer <ilina@codeaurora.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2020-11-23 18:41:28 +01:00
Patrice Chotard
4e1d9a737d PM: sleep: Add dev_wakeup_path() helper
Add dev_wakeup_path() helper to avoid to spread
dev->power.wakeup_path test in drivers.

Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2020-11-23 18:34:55 +01:00
Lukasz Luba
b4ba76fb1c powercap: Adjust printing the constraint name with new line
The constrain name has limit of size 30, which sometimes might be hit.
When this happens the new line might get lost. Prevent this and set the
max limit for name string length equal 29. This would result is proper
string clamping (when needed) and storing '\n' at index 29 and '\0' at 30,
so similarly as desired originally.

Signed-off-by: Lukasz Luba <lukasz.luba@arm.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2020-11-23 18:27:58 +01:00
Mark Brown
ce10f6ca96 SCMI voltage domain management protocol support for v5.11
SCMI v3.0 voltage domain protocol support to discover the voltage levels
 supported by the domains and to set/get the configuration and voltage
 level of any given domain.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAl+7jkIACgkQAEG6vDF+
 4pio2Q/+OjxDa7S5i/b+9z3ZWNopE3Ka1Xm5F7nJH3FTw7Py2Ae4fh9Cu4Yka2he
 u8jdkin2D/RhYLQw5+mYC+2731r7AIZvGMPfWZv0jWa275Qcv6cBItPXjowGVERM
 E/KTC6m2sEH3gqIC7wF0qqsW90srPDzxYeL/rTWa5JrMqbGWcAvbepIm7TJA0Ea3
 JMzxTXI0KhadtiGiDhijR1u+vheqr7WdgAzib+dUteqelin8h2KRgMdLNod8KY7U
 IfNSyfzA23HPV0bQVWTp9U9f+mypQB6JnriaNOQyXMdm9CCQKpSdnvQqwa2DarSk
 yv6leHqhZr667EWOsMWrh1c3K5Jr8fd1NZ4z/gMUGpac8VBx3N2ahmE9/4W4vuYy
 Lh5R1b7dQmVP1n0k0OkZdDhGCbG4Gu/Yd3gwPNlFTKmuHcv1BTwb9gqT52nlxS1N
 +K3+F9k9NPlssoVANTycYzvobumf6wizkbgavgz1sPjcjzpE8yoyf8FlTX8Akdcb
 qcbXmPTKe/TSlrmLc1Rq0p+uk19+iSo5KjjsxJUw+7X+P/fHDjeopmNrQrdzUuHA
 0D4K+koUhrBoGTq/h7pbFYIXjIE877PEilOQGV9eDWaZm6Q1+ZHD4Veg4R2aREZ3
 HCY9H87/oXW0XWtlWH3cL3p5RuMJD1kJlltCg87NCRtNxeVK3nQ=
 =mENP
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAl+78RQACgkQJNaLcl1U
 h9CcJgf/eFysEEenRIjmfeDILELDpj1fmJYZ84ZjZvBAdTp5w9v7us+a7k9xnPOg
 dazXUAuVkVVkRubQUdR0jyQcj3ETC1QXnS5QkC3+MMcrC/n8vqwrPEc8YTWNqxzR
 9eOLpoyuSsnplqiPw/BPbL+Av5DDhxuZpheHS9M0IfkgZYWYXH86L8iELE9zRhZb
 6YpaUBWUZPChmswnCtNymbklswe5Q9a2VF/iDmxpxk12aIO7+RRIwh79QvKj2QcB
 G5zIibp32nyOXYzCPj+zrEsnPR4FUGS5YtgGpWwfbSEZ0jMeqcC+b0waodBEIy/v
 zQUpe+FzBXbzTzsFlLCvPRpmGa1xTQ==
 =sD7M
 -----END PGP SIGNATURE-----

Merge tag 'scmi-voltage-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into regulator-5.11

SCMI voltage domain management protocol support for v5.11

SCMI v3.0 voltage domain protocol support to discover the voltage levels
supported by the domains and to set/get the configuration and voltage
level of any given domain.
2020-11-23 17:27:46 +00:00
Alex Shi
ab150c3f80 PM / suspend: fix kernel-doc markup
Add parameter explanation to fix kernel-doc marks:

kernel/power/suspend.c:233: warning: Function parameter or member
'state' not described in 'suspend_valid_only_mem'
kernel/power/suspend.c:344: warning: Function parameter or member
'state' not described in 'suspend_prepare'

Signed-off-by: Alex Shi <alex.shi@linux.alibaba.com>
[ rjw: Change the proposed parameter descriptions. ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2020-11-23 18:24:53 +01:00
Todd Brandt
d23e95c090 pm-graph v5.8
- if wakeups occur in s2idle: "freeze time: N (-x ms waking y times) ms"

 - change FREEZELOOP and FREEZEWAKE to S2LOOP and S2WAKE for brevity

 - returns all sysfs vals to their initial state after testing

 - use the dmesg log for debugging until the test is completed,
   instrument the executeSuspend process to have a full trace,
   if test completes, formal dmesg log overwrites the debug log

 - fix CPU_ON and CPU_OFF devices in the timeline, should include [n]

Signed-off-by: Todd Brandt <todd.e.brandt@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2020-11-23 18:20:28 +01:00
Ioana Ciornei
f65b243d6a staging: dpaa2-switch: pack the firmware command structures
The structures defined in the dpsw-cmd.h header file describe exactly
the layout of commands accepted by the MC firmware. Make sure that all
these structures are packed.

Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Link: https://lore.kernel.org/r/20201119165017.806696-4-ciorneiioana@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-23 18:02:09 +01:00
Ioana Ciornei
dab4812705 staging: dpaa2-switch: make sure that the VLAN is not already configured
When in the PREPARE state of a switchdev transaction, check if the
requested VLAN is not already configured on the switch port. This keeps
us from getting into a WARNING as below.

[ 1389.683296] dpaa2_ethsw dpsw.0 eth0: VLAN 2 already configured
[ 1389.689125] ------------[ cut here ]------------
[ 1389.694084] eth0: Commit of object (id=1) failed.
[ 1389.698863] WARNING: CPU: 0 PID: 613 at net/switchdev/switchdev.c:277 switchdev_port_obj_add_now+0xcc/0x110
[ 1389.708589] Modules linked in:
[ 1389.711634] CPU: 0 PID: 613 Comm: bridge Not tainted 5.9.0-rc2-next-20200828-00112-g7172078477c5 #59
[ 1389.720753] Hardware name: NXP Layerscape LX2160ARDB (DT)
[ 1389.726139] pstate: 40000005 (nZcv daif -PAN -UAO BTYPE=--)
[ 1389.731698] pc : switchdev_port_obj_add_now+0xcc/0x110
[ 1389.736824] lr : switchdev_port_obj_add_now+0xcc/0x110

Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Link: https://lore.kernel.org/r/20201119165017.806696-3-ciorneiioana@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-23 18:02:08 +01:00
Ionut-robert Aron
54289aad81 staging: dpaa2-switch: export the 'no buffer' counter in ethtool
Export the DPSW_CNT_ING_NO_BUFFER_DISCARD counter in ethtool for each
switch interface. This is useful for debugging purposes.

Signed-off-by: Ionut-robert Aron <ionut-robert.aron@nxp.com>
Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Link: https://lore.kernel.org/r/20201119165017.806696-2-ciorneiioana@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-23 18:02:08 +01:00
Kaixu Xia
8a3f7b9665 staging: rtl8723bs: remove redundant statements
The bool variable is2T is true, so the if statement is redundant.
we can directly set the variable bound to 8 and remove the if
statement.

Reported-by: Tosk Robot <tencent_os_robot@tencent.com>
Signed-off-by: Kaixu Xia <kaixuxia@tencent.com>
Link: https://lore.kernel.org/r/1605961041-12875-1-git-send-email-kaixuxia@tencent.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-23 17:59:52 +01:00
Kaixu Xia
9822b90444 staging: rtl8188eu: clean up the useless code
The two bool variables singletone and carrier_sup are always false
and the following if statement can't be true, these code are useless,
so remove them.

Reported-by: Tosk Robot <tencent_os_robot@tencent.com>
Signed-off-by: Kaixu Xia <kaixuxia@tencent.com>
Link: https://lore.kernel.org/r/1605442400-16108-1-git-send-email-kaixuxia@tencent.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-23 17:59:52 +01:00
Ding Xiang
6b8fb5ecf7 staging: fieldbus: use kobj_to_dev() to get device
Use kobj_to_dev() instead of container_of()

Signed-off-by: Ding Xiang <dingxiang@cmss.chinamobile.com>
Link: https://lore.kernel.org/r/20201117025933.668938-1-dingxiang@cmss.chinamobile.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-23 17:59:51 +01:00
Wang Hai
ba3e4a2a0b staging: mfd: hi6421-spmi-pmic: fix error return code in hi6421_spmi_pmic_probe()
Fix to return a negative error code from the error handling
case instead of 0, as done elsewhere in this function.

Fixes: 4524ac56cd ("staging: mfd: add a PMIC driver for HiSilicon 6421 SPMI version")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wang Hai <wanghai38@huawei.com>
Link: https://lore.kernel.org/r/20201118103724.57451-1-wanghai38@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-23 17:59:51 +01:00
David Gow
1f59b0663d staging: hikey9xx: Specify HAS_IOMEM dependency for MFD_HI6421_SPMI
MFD_CORE is selected by MFD_HI6421_SPMI, and MFD_CORE depends on
HAS_IOMEM. If HAS_IOMEM is not set, this can cause a conflict in Kconfig
resolution, yielding the following error:

WARNING: unmet direct dependencies detected for MFD_CORE
  Depends on [n]: HAS_IOMEM [=n]
  Selected by [y]:
  - MFD_HI6421_SPMI [=y] && STAGING [=y] && OF [=y] && SPMI [=y]

By specifying HAS_IOMEM as a dependency for MFD_HI6421_SPMI (as
SPMI_HISI3670 already dows), this issue is resolved, and no such warning
appears when building on architectures without HAS_IOMEM.

Signed-off-by: David Gow <davidgow@google.com>
Link: https://lore.kernel.org/r/20201119082903.3601758-1-davidgow@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-23 17:59:51 +01:00
Juan Antonio Aldea-Armenteros
1b9419d1f6 staging: trivial: hikey9xx: fix be32<->u32 casting warnings
This patch fixes the following warnings reported by sparse, by adding
missing __force annotations.

drivers/staging/hikey9xx/hisi-spmi-controller.c:164:24: warning: cast to restricted __be32
drivers/staging/hikey9xx/hisi-spmi-controller.c:164:24: warning: cast to restricted __be32
drivers/staging/hikey9xx/hisi-spmi-controller.c:164:24: warning: cast to restricted __be32
drivers/staging/hikey9xx/hisi-spmi-controller.c:164:24: warning: cast to restricted __be32
drivers/staging/hikey9xx/hisi-spmi-controller.c:164:24: warning: cast to restricted __be32
drivers/staging/hikey9xx/hisi-spmi-controller.c:164:24: warning: cast to restricted __be32

drivers/staging/hikey9xx/hisi-spmi-controller.c:239:25: warning: cast from restricted __be32

Rationale for #164:
data is declared as u32, and it is read and then converted by means of
be32_to_cpu(). Said function expects a __be32 but data is u32, therefore
there's a type missmatch here.

Rationale for #239:
Is the dual of #164. This time data going to be  written so it
needs to be converted from cpu to __be32, but writel() expects u32 and the
output of cpu_to_be32 returns a __be32.

Signed-off-by: Juan Antonio Aldea-Armenteros <juant.aldea@gmail.com>
Link: https://lore.kernel.org/r/20201119122737.189675-1-juant.aldea@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-23 17:59:51 +01:00
Flavio Suligoi
390029c27e Documentation: ACPI: enumeration: add PCI hierarchy representation
For "fixed" PCI devices, such as chips directly soldered
on the main board (ethernet, Wi-Fi, serial ports, etc.),
it is possible to find an ACPI enumeration.

This allows to add useful properties to these devices.
Just for an example: the property "gpio-line-names" can be
added to the pins of a GPIO expander on the PCI bus.

In order to find the ACPI name of a PCI device, it's necessary
to disassemble the BIOS ACPI tables (in particular the DSDT)
and also to analyze the PCI bus topology of the board.

This patch, with a practical example, show how to do this.

Signed-off-by: Flavio Suligoi <f.suligoi@asem.it>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2020-11-23 17:59:49 +01:00
Maxime Ripard
2820526dd5
drm/vc4: kms: Don't disable the muxing of an active CRTC
The current HVS muxing code will consider the CRTCs in a given state to
setup their muxing in the HVS, and disable the other CRTCs muxes.

However, it's valid to only update a single CRTC with a state, and in this
situation we would mux out a CRTC that was enabled but left untouched by
the new state.

Fix this by setting a flag on the CRTC state when the muxing has been
changed, and only change the muxing configuration when that flag is there.

Fixes: 87ebcd42fb ("drm/vc4: crtc: Assign output to channel automatically")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Reviewed-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20201120144245.398711-3-maxime@cerno.tech
2020-11-23 17:59:30 +01:00
Maxime Ripard
f2df84e096
drm/vc4: kms: Store the unassigned channel list in the state
If a CRTC is enabled but not active, and that we're then doing a page
flip on another CRTC, drm_atomic_get_crtc_state will bring the first
CRTC state into the global state, and will make us wait for its vblank
as well, even though that might never occur.

Instead of creating the list of the free channels each time atomic_check
is called, and calling drm_atomic_get_crtc_state to retrieve the
allocated channels, let's create a private state object in the main
atomic state, and use it to store the available channels.

Since vc4 has a semaphore (with a value of 1, so a lock) in its commit
implementation to serialize all the commits, even the nonblocking ones, we
are free from the use-after-free race if two subsequent commits are not ran
in their submission order.

Fixes: 87ebcd42fb ("drm/vc4: crtc: Assign output to channel automatically")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Reviewed-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20201120144245.398711-2-maxime@cerno.tech
2020-11-23 17:59:23 +01:00
Gustavo A. R. Silva
41d02747c4 staging: vt6656: Fix fall-through warnings for Clang
In preparation to enable -Wimplicit-fallthrough for Clang, fix a warning
by explicitly adding a break statement instead of letting the code fall
through to the next case.

Link: https://github.com/KSPP/linux/issues/115
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Link: https://lore.kernel.org/r/5a5a8f2489fbf61f65f0241c349737f7c9ad59ca.1605896060.git.gustavoars@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-23 17:55:23 +01:00
Gustavo A. R. Silva
8002998e1f staging: qlge: Fix fall-through warnings for Clang
In preparation to enable -Wimplicit-fallthrough for Clang, fix a warning
by explicitly adding a break statement instead of letting the code fall
through to the next case.

Link: https://github.com/KSPP/linux/issues/115
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Link: https://lore.kernel.org/r/673bd9f27bcc2df8c9d12be94f54001d8066d4ab.1605896060.git.gustavoars@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-23 17:55:23 +01:00
Gustavo A. R. Silva
6a8ce97113 staging: vt6655: Fix fall-through warnings for Clang
In preparation to enable -Wimplicit-fallthrough for Clang, fix multiple
warnings by explicitly adding multiple break statements instead of just
letting the code fall through to the next case.

Link: https://github.com/KSPP/linux/issues/115
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Link: https://lore.kernel.org/r/863fda60074850bc976974af48fa769c64725e64.1605896059.git.gustavoars@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-23 17:55:23 +01:00
Gustavo A. R. Silva
2811861be7 staging: rtl8723bs: core: Fix fall-through warnings for Clang
In preparation to enable -Wimplicit-fallthrough for Clang, fix multiple
warnings by explicitly adding multiple break statements instead of just
letting the code fall through to the next case.

Link: https://github.com/KSPP/linux/issues/115
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Link: https://lore.kernel.org/r/cd07e3ebc11b44a3fe016341438e24cf950994a3.1605896059.git.gustavoars@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-23 17:55:22 +01:00
Gustavo A. R. Silva
93c747ed00 usb: Fix fall-through warnings for Clang
In preparation to enable -Wimplicit-fallthrough for Clang, fix multiple
warnings by explicitly adding multiple break/return/fallthrough
statements instead of letting the code fall through to the next
case.

Link: https://github.com/KSPP/linux/issues/115
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Link: https://lore.kernel.org/r/a76da7ca5b4f41c13d27b298accb8222d0b04e61.1605896060.git.gustavoars@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-23 17:46:01 +01:00
Sudeep Holla
f83eb664cd SCMI voltage domain management protocol support for v5.11
SCMI v3.0 voltage domain protocol support to discover the voltage levels
 supported by the domains and to set/get the configuration and voltage
 level of any given domain.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAl+7jkIACgkQAEG6vDF+
 4pio2Q/+OjxDa7S5i/b+9z3ZWNopE3Ka1Xm5F7nJH3FTw7Py2Ae4fh9Cu4Yka2he
 u8jdkin2D/RhYLQw5+mYC+2731r7AIZvGMPfWZv0jWa275Qcv6cBItPXjowGVERM
 E/KTC6m2sEH3gqIC7wF0qqsW90srPDzxYeL/rTWa5JrMqbGWcAvbepIm7TJA0Ea3
 JMzxTXI0KhadtiGiDhijR1u+vheqr7WdgAzib+dUteqelin8h2KRgMdLNod8KY7U
 IfNSyfzA23HPV0bQVWTp9U9f+mypQB6JnriaNOQyXMdm9CCQKpSdnvQqwa2DarSk
 yv6leHqhZr667EWOsMWrh1c3K5Jr8fd1NZ4z/gMUGpac8VBx3N2ahmE9/4W4vuYy
 Lh5R1b7dQmVP1n0k0OkZdDhGCbG4Gu/Yd3gwPNlFTKmuHcv1BTwb9gqT52nlxS1N
 +K3+F9k9NPlssoVANTycYzvobumf6wizkbgavgz1sPjcjzpE8yoyf8FlTX8Akdcb
 qcbXmPTKe/TSlrmLc1Rq0p+uk19+iSo5KjjsxJUw+7X+P/fHDjeopmNrQrdzUuHA
 0D4K+koUhrBoGTq/h7pbFYIXjIE877PEilOQGV9eDWaZm6Q1+ZHD4Veg4R2aREZ3
 HCY9H87/oXW0XWtlWH3cL3p5RuMJD1kJlltCg87NCRtNxeVK3nQ=
 =mENP
 -----END PGP SIGNATURE-----

Merge tag 'scmi-voltage-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into for-next/scmi

SCMI voltage domain management protocol support for v5.11

SCMI v3.0 voltage domain protocol support to discover the voltage levels
supported by the domains and to set/get the configuration and voltage
level of any given domain.

* tag 'scmi-voltage-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  firmware: arm_scmi: Add support to enumerated SCMI voltage domain device
  firmware: arm_scmi: Add voltage domain management protocol support
  dt-bindings: arm: Add support for SCMI Regulators
2020-11-23 16:37:27 +00:00
Cristian Marussi
e945927dc7 firmware: arm_scmi: Remove residual _le structs naming
For sake of consistency, remove any residual naming based on _le
suffixes in SCMI sensors protocol, since little endianness is already
assumed across all of SCMI implementation and, as such, all currently
existent names do not explicitly state their endianness.

No functional change.

Link: https://lore.kernel.org/r/20201123162008.35814-1-cristian.marussi@arm.com
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
2020-11-23 16:37:00 +00:00
Greg Kroah-Hartman
ef3f0caf24 interconnect fixes for v5.10
This contains a few driver fixes and one core fix:
 - Fix an excessive of_node_put() in the core.
 - Fix boot regression and integer overflow on msm8974 platforms.
 - Fix a minor issue on qcs404 and msm8916 platforms.
 
 Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJfu8gLAAoJEIDQzArG2BZjIWQP/10vPo0MbGRhuW9xLDQDNF+k
 FNO20pvFSHqXELf9Zynm/K/N8+xJTPEbLYTB1eAVYuKBSDgNNeCv+c9VJsh4jcFl
 zBkogcFfE+s7eFVjWybGHCc+H3sr9OLbcRjOAnTRcoK5wbJRrl2BuTNkULHfcuWQ
 pH5zNKa1J0bUdTrGP+1z7sFB8T7b8fAGrdHaAvmrxKReahyoieB4nDW/NNIuPqip
 soaicG4JDa9xllYJAQzYis++4uUyonYsXSFvKICnI0s7thrW74TKA5i9t/hBl6Sm
 acdJ5qi+QmIsnh0kpqvYgxxesQN/3c9fnoNdbKcSsAYhIaNNQ621o07IUDviOSI+
 qhiNQZoTi+hIve/BzxfGKf1WbimnXjAlmoo02wQH7chNpJKmjzApnopPOo3LK+jG
 vTfNX2yRosAJscT1eZLR3yR2OOMM/nPZH5AT3WWXUN0vlz+VClt2QjhopMRscDlr
 pO7HT66zVGx3hdueOrMCw8ZyBRgs4QHO8VarSI8YFT/zRnPQGiEdPjf/sbtjWXQy
 91DkqKj00GZ1uTybulP9hnD3+s0U4Q7RzUxdzFsF+V6T2pqwvaEJGB7y5b3O5Zpe
 cbpnaFsez+ESEBPpQopZCK4RLUSHrg+8dvRAiSCe9dl+u8nSxqvHvbJvRSPaQ3yl
 2nrdawOuBB+h6aWQ2JZ0
 =OQS3
 -----END PGP SIGNATURE-----

Merge tag 'icc-5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc into char-misc-linus

Georgi writes:

interconnect fixes for v5.10

This contains a few driver fixes and one core fix:
- Fix an excessive of_node_put() in the core.
- Fix boot regression and integer overflow on msm8974 platforms.
- Fix a minor issue on qcs404 and msm8916 platforms.

Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>

* tag 'icc-5.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/djakov/icc:
  interconnect: fix memory trashing in of_count_icc_providers()
  interconnect: qcom: qcs404: Remove GPU and display RPM IDs
  interconnect: qcom: msm8916: Remove rpm-ids from non-RPM nodes
  interconnect: qcom: msm8974: Don't boost the NoC rate during boot
  interconnect: qcom: msm8974: Prevent integer overflow in rate
2020-11-23 17:35:57 +01:00
Peter Collingbourne
6ac05e832a signal: define the SA_EXPOSE_TAGBITS bit in sa_flags
Architectures that support address tagging, such as arm64, may want to
expose fault address tag bits to the signal handler to help diagnose
memory errors. However, these bits have not been previously set,
and their presence may confuse unaware user applications. Therefore,
introduce a SA_EXPOSE_TAGBITS flag bit in sa_flags that a signal
handler may use to explicitly request that the bits are set.

The generic signal handler APIs expect to receive tagged addresses.
Architectures may specify how to untag addresses in the case where
SA_EXPOSE_TAGBITS is clear by defining the arch_untagged_si_addr
function.

Signed-off-by: Peter Collingbourne <pcc@google.com>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Link: https://linux-review.googlesource.com/id/I16dd0ed2081f091fce97be0190cb8caa874c26cb
Link: https://lkml.kernel.org/r/13cf24d00ebdd8e1f55caf1821c7c29d54100191.1605904350.git.pcc@google.com
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
2020-11-23 10:31:06 -06:00
Peter Collingbourne
a54f0dfda7 signal: define the SA_UNSUPPORTED bit in sa_flags
Define a sa_flags bit, SA_UNSUPPORTED, which will never be supported
in the uapi. The purpose of this flag bit is to allow userspace to
distinguish an old kernel that does not clear unknown sa_flags bits
from a kernel that supports every flag bit.

In other words, if userspace does something like:

  act.sa_flags |= SA_UNSUPPORTED;
  sigaction(SIGSEGV, &act, 0);
  sigaction(SIGSEGV, 0, &oldact);

and finds that SA_UNSUPPORTED remains set in oldact.sa_flags, it means
that the kernel cannot be trusted to have cleared unknown flag bits
from sa_flags, so no assumptions about flag bit support can be made.

Signed-off-by: Peter Collingbourne <pcc@google.com>
Reviewed-by: Dave Martin <Dave.Martin@arm.com>
Link: https://linux-review.googlesource.com/id/Ic2501ad150a3a79c1cf27fb8c99be342e9dffbcb
Link: https://lkml.kernel.org/r/bda7ddff8895a9bc4ffc5f3cf3d4d37a32118077.1605582887.git.pcc@google.com
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
2020-11-23 10:31:06 -06:00
Peter Collingbourne
7da5082a2f arch: provide better documentation for the arch-specific SA_* flags
Instead of documenting the arch-specific flag values in a comment at
the top where they may be easily overlooked, document them in comments
inline with the definitions in numerical order so that it is clear
why specific values must be chosen for new generic flags and to reduce
the likelihood of conflicts between generic and arch-specific flags.

Signed-off-by: Peter Collingbourne <pcc@google.com>
Link: https://linux-review.googlesource.com/id/I40a129cf7c3a71ba1bfd6d936c544072ee3b7ce6
Link: https://lkml.kernel.org/r/198c8b68c76bf3ed73117d817c7cdf9bc0eb174f.1605582887.git.pcc@google.com
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
2020-11-23 10:31:06 -06:00
Peter Collingbourne
23acdc76f1 signal: clear non-uapi flag bits when passing/returning sa_flags
Previously we were not clearing non-uapi flag bits in
sigaction.sa_flags when storing the userspace-provided sa_flags or
when returning them via oldact. Start doing so.

This allows userspace to detect missing support for flag bits and
allows the kernel to use non-uapi bits internally, as we are already
doing in arch/x86 for two flag bits. Now that this change is in
place, we no longer need the code in arch/x86 that was hiding these
bits from userspace, so remove it.

This is technically a userspace-visible behavior change for sigaction, as
the unknown bits returned via oldact.sa_flags are no longer set. However,
we are free to define the behavior for unknown bits exactly because
their behavior is currently undefined, so for now we can define the
meaning of each of them to be "clear the bit in oldact.sa_flags unless
the bit becomes known in the future". Furthermore, this behavior is
consistent with OpenBSD [1], illumos [2] and XNU [3] (FreeBSD [4] and
NetBSD [5] fail the syscall if unknown bits are set). So there is some
precedent for this behavior in other kernels, and in particular in XNU,
which is probably the most popular kernel among those that I looked at,
which means that this change is less likely to be a compatibility issue.

Link: [1] f634a6a4b5/sys/kern/kern_sig.c (L278)
Link: [2] 76f19f5fdc/usr/src/uts/common/syscall/sigaction.c (L86)
Link: [3] a449c6a3b8/bsd/kern/kern_sig.c (L480)
Link: [4] eded70c370/sys/kern/kern_sig.c (L699)
Link: [5] 3365779bec/sys/kern/sys_sig.c (L473)
Signed-off-by: Peter Collingbourne <pcc@google.com>
Reviewed-by: Dave Martin <Dave.Martin@arm.com>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Link: https://linux-review.googlesource.com/id/I35aab6f5be932505d90f3b3450c083b4db1eca86
Link: https://lkml.kernel.org/r/878dbcb5f47bc9b11881c81f745c0bef5c23f97f.1605235762.git.pcc@google.com
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
2020-11-23 10:31:05 -06:00
Peter Collingbourne
1d82b7898f arch: move SA_* definitions to generic headers
Most architectures with the exception of alpha, mips, parisc and
sparc use the same values for these flags. Move their definitions into
asm-generic/signal-defs.h and allow the architectures with non-standard
values to override them. Also, document the non-standard flag values
in order to make it easier to add new generic flags in the future.

A consequence of this change is that on powerpc and x86, the constants'
values aside from SA_RESETHAND change signedness from unsigned
to signed. This is not expected to impact realistic use of these
constants. In particular the typical use of the constants where they
are or'ed together and assigned to sa_flags (or another int variable)
would not be affected.

Signed-off-by: Peter Collingbourne <pcc@google.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Reviewed-by: Dave Martin <Dave.Martin@arm.com>
Link: https://linux-review.googlesource.com/id/Ia3849f18b8009bf41faca374e701cdca36974528
Link: https://lkml.kernel.org/r/b6d0d1ec34f9ee93e1105f14f288fba5f89d1f24.1605235762.git.pcc@google.com
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
2020-11-23 10:31:05 -06:00
Peter Collingbourne
161d36dfc7 parisc: start using signal-defs.h
We currently include signal-defs.h on all architectures except parisc.
Make parisc fall in line. This will make maintenance easier once the
flag bits are moved here.

Signed-off-by: Peter Collingbourne <pcc@google.com>
Acked-by: Helge Deller <deller@gmx.de>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Link: https://linux-review.googlesource.com/id/If03a5135fb514fe96548fb74610e6c3586a04064
Link: https://lkml.kernel.org/r/be8f3680ef2d0a1a120994e3ae0b11d82f373279.1605235762.git.pcc@google.com
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
2020-11-23 10:31:05 -06:00
Helge Deller
8663daeac7 parisc: Drop parisc special case for __sighandler_t
I believe we can and *should* drop this parisc-specific typedef for
__sighandler_t when compiling a 64-bit kernel. The reasons:

1. We don't have a 64-bit userspace yet, so nothing (on userspace side)
can break.

2. Inside the Linux kernel, this is only used in kernel/signal.c, in
function kernel_sigaction() where the signal handler is compared against
SIG_IGN.  SIG_IGN is defined as (__sighandler_t)1), so only the pointers
are compared.

3. Even when a 64-bit userspace gets added at some point, I think
__sighandler_t should be defined what it is: a function pointer struct.

I compiled kernel/signal.c with and without the patch, and the produced code
is identical in both cases.

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Peter Collingbourne <pcc@google.com>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Reviewed-by: Peter Collingbourne <pcc@google.com>
Link: https://linux-review.googlesource.com/id/I21c43f21b264f339e3aa395626af838646f62d97
Link: https://lkml.kernel.org/r/a75b8eb7bb9eac1cf73fb119eb53e5892d6e9656.1605235762.git.pcc@google.com
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
2020-11-23 10:31:04 -06:00
Arnd Bergmann
4765df4d3a Fixed ordering for MMC devices on rk3399, due to a mmc change jumbling
all ordering, a fix to make the Odroig Go Advance actually power down
 and using the correct clock name on the NanoPi R2S.
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAl+6aAkQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgZ6aB/4zVEcf7LYe6RMdV8DCaDHSPK2V8uYOifu/
 Z8BaCJujiED249NI0NzvbZqrcuSjssxOSi4Y4kNCytPODs1+4wLVgG0f2xC2k38X
 o0ofroN68lueSdhw4PZ9216w9scZpo/POLC7LLWR6kzlKGKv5Bj4w9UAq6cqqSMk
 9FCwSyCxKm3yuYaWz/iJLJfC1oWRZ6qMvzjtXfdDT8bMFhLUZh9UOoWGeJP7CPIQ
 nGu1WWVXWsda4UN7hwirGkApp65yK8asubekznBb2vw9Rr2A3bBuCqDdyOOOim3E
 qxeLLGiObNfM6t0m5Pp+PfWPwqyn864LGUBBQ3b5zz7l2wjMh5i8
 =/LkX
 -----END PGP SIGNATURE-----

Merge tag 'v5.10-rockchip-dtsfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into arm/fixes

Fixed ordering for MMC devices on rk3399, due to a mmc change jumbling
all ordering, a fix to make the Odroig Go Advance actually power down
and using the correct clock name on the NanoPi R2S.

* tag 'v5.10-rockchip-dtsfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: Reorder LED triggers from mmc devices on rk3399-roc-pc.
  arm64: dts: rockchip: Assign a fixed index to mmc devices on rk3399 boards.
  arm64: dts: rockchip: Remove system-power-controller from pmic on Odroid Go Advance
  arm64: dts: rockchip: fix NanoPi R2S GMAC clock name

Link: https://lore.kernel.org/r/11641389.O9o76ZdvQC@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-23 17:30:25 +01:00
Arnd Bergmann
d4f97711b3 Allwinner MBUS and DMA-ops rework
The Allwinner SoCs have a number of high-bandwidth devices connected to
 a memory bus with a different RAM mapping than the CPU.
 
 This was addressed before through drivers setting the DMA offsets
 directly, and subsequently changed to calls to dma_direct_set_offset.
 However that wasn't really meant to be exported to modules (and thus
 drivers). The duplicated code also led to small inconsistencies across
 drivers in how we dealt with DT backward compatibility.
 
 Move all that DMA setup code into a platform bus notifier to share that
 code and remove the export on dma_direct_set_offset.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCX7TkmwAKCRDj7w1vZxhR
 xXhXAP4mzQvdsV0jN0LQARpAXDKNq/mSy2qGTRHf+2+MFd3XWQD+JwzMlrnSokf7
 Y8nH0YTaXJyu7iQohlM0kVQoKyo5mAw=
 =4KSg
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-rework-mbus' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mripard/linux into arm/drivers

Allwinner MBUS and DMA-ops rework

The Allwinner SoCs have a number of high-bandwidth devices connected to
a memory bus with a different RAM mapping than the CPU.

This was addressed before through drivers setting the DMA offsets
directly, and subsequently changed to calls to dma_direct_set_offset.
However that wasn't really meant to be exported to modules (and thus
drivers). The duplicated code also led to small inconsistencies across
drivers in how we dealt with DT backward compatibility.

Move all that DMA setup code into a platform bus notifier to share that
code and remove the export on dma_direct_set_offset.

* tag 'sunxi-rework-mbus' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
  dma-mapping: remove the dma_direct_set_offset export
  media: sun8i-di: Remove the call to of_dma_configure
  media: cedrus: Remove the MBUS quirks
  media: sun6i: Remove the MBUS quirks
  media: sun4i: Remove the MBUS quirks
  drm/sun4i: backend: Remove the MBUS quirks
  soc: sunxi: Deal with the MBUS DMA offsets in a central place
  drm/sun4i: backend: Fix probe failure with multiple backends

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-23 17:20:46 +01:00
Arnd Bergmann
ec565b0e1a Renesas driver updates for v5.11
- Fix a mapping leak in the failure path of the R-Mobile System
     Controller driver.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCX66QrgAKCRCKwlD9ZEnx
 cIotAP91z7QtDzi57z+wIr5RI+vXNk3aXXiZQ7OfJqqLqN5k+AD+MxqzXkk5vN+A
 vbELAuK5KXocrocPCOw1X7cpSkJ5Zw8=
 =JcLx
 -----END PGP SIGNATURE-----

Merge tag 'renesas-drivers-for-v5.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/drivers

Renesas driver updates for v5.11

  - Fix a mapping leak in the failure path of the R-Mobile System
    Controller driver.

* tag 'renesas-drivers-for-v5.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: rmobile-sysc: Fix some leaks in rmobile_init_pm_domains()

Link: https://lore.kernel.org/r/20201113150854.3923885-4-geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-23 17:18:17 +01:00
Grygorii Strashko
8195fceca0 ARM: multi_v7_defconfig: ti: Enable networking options for nfs boot
Enable networking options required for NFS boot on TI platforms, which is
widely for automated test systems.
- enable new TI CPSW switch driver and related NET_SWITCHDEV config
- enable TI DP83867 phy
- explicitly enable PTP clock support to ensure dependent networking
drivers will stay built-in.

vmlinux size changes:
- before:
   text       data        bss        dec        hex    filename
14703736    8024602     444976    23173314    16198c2    ./omap-arm/vmlinux

- after:
   text       data        bss        dec        hex    filename
14727271    8029150     444528    23200949    16204b5    ./omap-arm/vmlinux

diff: 27635 (dec)

Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Reviewed-by: Nishanth Menon <nm@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Link: https://lore.kernel.org/r/20201030124650.20349-1-grygorii.strashko@ti.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-23 17:17:05 +01:00
Linus Walleij
a65183ff15 ARM: config: ux500: Update U8500 defconfig
This updates the defconfig for the U8500 platform with
some of the changes from the v5.9 and v5.10 kernel
cycles:

- No need to select the schedutil cpufreq governor
  because it is the default now.
- Enable the CY8CTMA140 touchscreen as used on the
  Samsung Skomer GT-S7710.
- Enable the Samsung S6E63M0 DSI panel as used on
  the Samsung Golden GT-I8810.
- Enable the KTD253 backlight as used on the Samsung
  Skomer GT-S7710.
- Drop CONFIG_USB as we only use the gadget mode of
  the MUSB driver.
- Add selection of the CONFIG_LEDS_LP55XX_COMMON
  lest the LP5521 LEDs will not work.
- Move the config entry for CONFIG_DEBUG_FS.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Cc: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20201105134510.1417639-1-linus.walleij@linaro.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-23 17:16:42 +01:00
Arnd Bergmann
c7cf673399 Ux500 DTS updates for the v5.11 kernels:
- Rename the DSI controllers to match the preferred
   schema.
 - Pull down the SDI2 feedback clock on the Skomer.
 - Add proper supplies to the MaxToch touchscreen on
   the Golden.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAl+7zCoACgkQQRCzN7AZ
 XXNVLRAAg1fJ5J9amirIAX2oeAjvs9Ac893EfBYu8pMe7Voi3urI6G1jyt47JW6k
 Q96j/Sv490jiPUB8ulTj+Ofc1a0YtHVmw/sCVhOR0EKDS1PIhkR38/enfd4v7VkC
 +DUcwrCsOHBEidF2vXh8oZAH2rWvDdP0tHhi17eb6p521neJFmV7zl5ZpGeeCtl4
 gQTdtyuCccWVj2ze0up2Fp32H5PRBy7D2y9tBvg25fMmZNtCzJvf0ulffNgiZYyn
 ru5baVf/Yary5YZ+8wpAofjiFnjExVxLEsRYlPXq9FJK0iGwwokona4JnLc0idPk
 Mgl3+0Fi0F2xHJ0VqUvxtaYcVl4MpyWXpL6TUYyDoomPLUmXf/RLkbHXSkR2umAM
 5k7WOiFkBOTc4QFxgkFLTBvtSn5orZyNl8T0ZULfId3BVWOH9cTwaeFMtOuW5Kfo
 xkLGttH1U9yF2QYlv/OXhU6Eh5kuP69bZiPBX7F9i7Hn2YBbBq97FHiazunMevuA
 KN1PP8BlR5ZzEHSQW9+e2zZ+eH0aCk9MF5qAzCvYhLvuC7itmQ3K6BxH4bmHYkhB
 cUrvxESx4BzztbvpCM2npBBaNyeVcVDx6mNlrOYmnzVuVufj5VeGKApixkQTNzTf
 oT/EArFOP2qdbY2tUJbxt84Wd8lEgl+GkI9O33qUaAL5RDRMVSQ=
 =TF1x
 -----END PGP SIGNATURE-----

Merge tag 'ux500-dts-for-v5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into arm/dt

Ux500 DTS updates for the v5.11 kernels:

- Rename the DSI controllers to match the preferred
  schema.
- Pull down the SDI2 feedback clock on the Skomer.
- Add proper supplies to the MaxToch touchscreen on
  the Golden.

* tag 'ux500-dts-for-v5.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:
  ARM: dts: ux500-golden: Add proper supplies to touchscreen
  ARM: dts: ux500: skomer: Pull down SDI2 FBCLK
  ARM: dts: ux500: Rename DSI controller nodes

Link: https://lore.kernel.org/r/CACRpkdY_M4xj++QhRPqX6N3x9YmFNJkz70DnvBj7Ai-dOtCJSQ@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-23 17:15:25 +01:00
Jens Axboe
36f4fa6886 io_uring: add support for shutdown(2)
This adds support for the shutdown(2) system call, which is useful for
dealing with sockets.

shutdown(2) may block, so we have to punt it to async context.

Suggested-by: Norman Maurer <norman.maurer@googlemail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2020-11-23 09:15:15 -07:00
Jens Axboe
b713c195d5 net: provide __sys_shutdown_sock() that takes a socket
No functional changes in this patch, needed to provide io_uring support
for shutdown(2).

Cc: netdev@vger.kernel.org
Cc: David S. Miller <davem@davemloft.net>
Acked-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2020-11-23 09:15:15 -07:00
Jens Axboe
ce59fc69b1 io_uring: allow SQPOLL with CAP_SYS_NICE privileges
CAP_SYS_ADMIN is too restrictive for a lot of uses cases, allow
CAP_SYS_NICE based on the premise that such users are already allowed
to raise the priority of tasks.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
2020-11-23 09:15:15 -07:00
Tomer Maimon
b2d91953b6 ARM: dts: add Nuvoton NPCM730 device tree
Add Nuvoton NPCM730 SoC device tree.

The Nuvoton NPCN730 SoC is a part of the
Nuvoton NPCM7xx SoCs family.

Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
Reviewed-by: Benjamin Fair <benjaminfair@google.com>
Link: https://lore.kernel.org/r/20201119080002.100342-1-tmaimon77@gmail.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-23 17:13:41 +01:00
Will Deacon
ff1712f953 arm64: pgtable: Ensure dirty bit is preserved across pte_wrprotect()
With hardware dirty bit management, calling pte_wrprotect() on a writable,
dirty PTE will lose the dirty state and return a read-only, clean entry.

Move the logic from ptep_set_wrprotect() into pte_wrprotect() to ensure that
the dirty bit is preserved for writable entries, as this is required for
soft-dirty bit management if we enable it in the future.

Cc: <stable@vger.kernel.org>
Fixes: 2f4b829c62 ("arm64: Add support for hardware updates of the access and dirty pte bits")
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20201120143557.6715-3-will@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2020-11-23 16:13:18 +00:00
Will Deacon
07509e10dc arm64: pgtable: Fix pte_accessible()
pte_accessible() is used by ptep_clear_flush() to figure out whether TLB
invalidation is necessary when unmapping pages for reclaim. Although our
implementation is correct according to the architecture, returning true
only for valid, young ptes in the absence of racing page-table
modifications, this is in fact flawed due to lazy invalidation of old
ptes in ptep_clear_flush_young() where we elide the expensive DSB
instruction for completing the TLB invalidation.

Rather than penalise the aging path, adjust pte_accessible() to return
true for any valid pte, even if the access flag is cleared.

Cc: <stable@vger.kernel.org>
Fixes: 76c714be0e ("arm64: pgtable: implement pte_accessible()")
Reported-by: Yu Zhao <yuzhao@google.com>
Acked-by: Yu Zhao <yuzhao@google.com>
Reviewed-by: Minchan Kim <minchan@kernel.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Link: https://lore.kernel.org/r/20201120143557.6715-2-will@kernel.org
Signed-off-by: Will Deacon <will@kernel.org>
2020-11-23 16:13:12 +00:00
Arnd Bergmann
1e548b6782 Samsung DTS ARM changes for v5.11
1. Many cleanups of DTS and alignments to dtschema. Most of them do not
    have any functional effect except passing dtschema checks or dtc W=2
    builds.
 2. Fix USB 3.0 ports on Odroid XU board: wrong roles assigned to two
    ports, missing supply to the USB over-current and VBUS control pins
    and finally missing pin configuration for these pins.
 3. Switch Exynos5422 DMC driver to monitoring/polling mode, instead of
    using interrupts.
 4. Correct the usage of "opp-shared" properties which lead to disabling
    the bus frequency and voltage scaling.
 5. Enable Bluetooth on few Exynos4210 and Exynos4412 boards.
 6. Enable dual-role USB on Odroid U3+ board.
 7. Add Ethernet description in multiple Odroid DTS allowing also easy
    MAC address filling by bootloader.
 8. Add Ethernet to Artik 5 (Exynos3250) board.
 9. Add interconnect properties to Exynos4412 to fix old Mixer issues.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAl+usdYQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD1y9bD/4gMww53tOQdr1nzTOwR7eNQiV2D+7/iJ8P
 EBAxumZ4XI0R6AN9vfBajEO8L76ny3v3r78Jtz+dN2LtxaXy0OaVRsX53PNyUFS3
 h+WUhk9w8Tujfbe55ac4uYquBg/yrItG8YmqFrCu7dQ1fHT6+5IxoN7kRM+gdIBj
 g2/DeEJkIsQGAGRWhcPP3k6ghfCtBY47iY8MGtP7Y/gdXC640fk2pnxWjaeZ13oE
 WCJ4/eb0jRS/uB76Ok7g/VJYb36wQ3s/uMBOZ994iFCECxQ//q+dE4uB+8L1MWXp
 hv7aVxw46rKhtEBqKm2UlHfJLS4Q6Smsf+jP1jelRYeGROhWjX+1cO8Ul4lyGggG
 arjPx3+1b+NwWkg6kR7Nz8OzYHIws0u3+AJPwpWrJ6Iyq3nEe8Aj3rg9iF1P26Zh
 CBYMRjuW3OqCF9CNjy8DoOhHmB4zilFwHptrZwz9V6AH/Yqx3jlRvsDmB8ulQQSh
 lCq5uLe6U2K+JQAz+Jq/IRZ7zsLn7NxAl9vexLIe0eRAZNcYy44i6I799JYSsB9M
 sULvoPRNxEcQh4BScAKoJuZnh8eH/2kUngln/YXtgcdwUlssMhPamAx07Hz35/8Z
 NbRwE1nX6HOGp1UGc8mz89uUUaTOlztJE1mdxLe0HXZAt8uppqR8XdHsLXqto8Iv
 YlxFVH/O+w==
 =TybJ
 -----END PGP SIGNATURE-----

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

Samsung DTS ARM changes for v5.11

1. Many cleanups of DTS and alignments to dtschema. Most of them do not
   have any functional effect except passing dtschema checks or dtc W=2
   builds.
2. Fix USB 3.0 ports on Odroid XU board: wrong roles assigned to two
   ports, missing supply to the USB over-current and VBUS control pins
   and finally missing pin configuration for these pins.
3. Switch Exynos5422 DMC driver to monitoring/polling mode, instead of
   using interrupts.
4. Correct the usage of "opp-shared" properties which lead to disabling
   the bus frequency and voltage scaling.
5. Enable Bluetooth on few Exynos4210 and Exynos4412 boards.
6. Enable dual-role USB on Odroid U3+ board.
7. Add Ethernet description in multiple Odroid DTS allowing also easy
   MAC address filling by bootloader.
8. Add Ethernet to Artik 5 (Exynos3250) board.
9. Add interconnect properties to Exynos4412 to fix old Mixer issues.

* tag 'samsung-dt-5.11' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: (36 commits)
  ARM: dts: exynos: use hyphens in MFC reserved memory node names
  ARM: dts: exynos: use hyphens in Exynos5 node names
  ARM: dts: exynos: use generic name for max77693 motor in Midas
  ARM: dts: exynos: use hyphens in Exynos4 node names
  ARM: dts: exynos: use hyphens in Exynos3250 node names
  ARM: dts: exynos: Add interconnects to Exynos4412 mixer
  ARM: dts: exynos: Add interconnect properties to Exynos4412 bus nodes
  ARM: dts: exynos: Add Ethernet to Artik 5 board
  ARM: dts: exynos: Add a placeholder for a MAC address
  ARM: dts: exynos: Add Ethernet interface description for Odroid X/X2
  ARM: dts: exynos: Add Ethernet interface description for Odroid U3
  ARM: dts: exynos: Add Ethernet interface description for Odroid XU
  ARM: dts: exynos: Add Ethernet interface description for Odroid XU3 Lite
  ARM: dts: exynos: Enable DWC2 dual-role support on OdroidU3+ boards
  ARM: dts: s5pv210: adjust node names to DT spec
  ARM: dts: exynos: adjust node names to DT spec in Exynos542x boards
  ARM: dts: exynos: adjust node names to DT spec in Odroid XU
  ARM: dts: exynos: adjust node names to DT spec in Exynos5250 boards
  ARM: dts: exynos: remove redundant status=okay in Exynos4412 boards
  ARM: dts: exynos: adjust node names to DT spec in Exynos4412 boards
  ...

Link: https://lore.kernel.org/r/20201113162211.10020-2-krzk@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-23 16:52:05 +01:00
Arnd Bergmann
019d70bffd Renesas DT binding updates for v5.11
- Document suport for the R-Car M3-W+ ULCB/Kingfisher board combo.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCX66QPAAKCRCKwlD9ZEnx
 cF5sAQCxckQUQ5CAylSmW4EfKG6lSDvDiWcyS1Rkl+oA41aetwD/YWFhalLK+ChM
 FsNCjAe8x5qtTyakpkotJa7qzWdIfQY=
 =q1Mm
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dt-bindings-for-v5.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/dt

Renesas DT binding updates for v5.11

  - Document suport for the R-Car M3-W+ ULCB/Kingfisher board combo.

* tag 'renesas-dt-bindings-for-v5.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  dt-bindings: arm: renesas: Add R-Car M3-W+ ULCB with Kingfisher

Link: https://lore.kernel.org/r/20201113150854.3923885-5-geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-23 16:50:35 +01:00
Arnd Bergmann
95f595d1f0 Renesas ARM DT updates for v5.11
- Touch screen and OV5640 camera support for the iWave RainboW Qseven
     board (G21D), and its camera expansion board,
   - Support for the AISTARVISION MIPI Adapter V2.1 board connected to
     HiHope RZ/G2 boards,
   - SPI (MSIOF) support for the R-Car M3-W+ SoC,
   - Digital Radio Interface (DRIF) support for the R-Car M3-N SoC,
   - Initial support for the R-Car M3-W+ ULCB/Kingfisher board combo,
   - Minor fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCX66VTQAKCRCKwlD9ZEnx
 cFhnAP9W9Jp5o/gp9JQ+Y2Js3xMDD9JngTYRQ+9x4qu2HTf0AAEAjfSzb0T2ub/x
 HaW5LisNk1LZNp09+9ugw/nNZxp45AQ=
 =QdJ8
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-dt-for-v5.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/dt

Renesas ARM DT updates for v5.11

  - Touch screen and OV5640 camera support for the iWave RainboW Qseven
    board (G21D), and its camera expansion board,
  - Support for the AISTARVISION MIPI Adapter V2.1 board connected to
    HiHope RZ/G2 boards,
  - SPI (MSIOF) support for the R-Car M3-W+ SoC,
  - Digital Radio Interface (DRIF) support for the R-Car M3-N SoC,
  - Initial support for the R-Car M3-W+ ULCB/Kingfisher board combo,
  - Minor fixes and improvements.

* tag 'renesas-arm-dt-for-v5.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: hihope-rev4: Add a comment explaining switch SW2404
  arm64: dts: renesas: r8a77961: ulcb-kf: Initial device tree
  arm64: dts: renesas: r8a77961: Add CAN{0,1} placeholder nodes
  arm64: dts: renesas: beacon-renesom-baseboard: Move connector node out of hd3ss3220 device
  arm64: dts: renesas: cat874: Move connector node out of hd3ss3220 device
  arm64: dts: renesas: rzg2: Convert EtherAVB to explicit delay handling
  arm64: dts: renesas: rcar-gen3: Convert EtherAVB to explicit delay handling
  arm64: dts: renesas: r8a77965: Add DRIF support
  arm64: dts: renesas: Add support for MIPI Adapter V2.1 connected to HiHope RZ/G2N
  arm64: dts: renesas: Add support for MIPI Adapter V2.1 connected to HiHope RZ/G2M
  arm64: dts: renesas: Add support for MIPI Adapter V2.1 connected to HiHope RZ/G2H
  arm64: dts: renesas: aistarvision-mipi-adapter-2.1: Add parent macro for each sensor
  arm64: dts: renesas: cat875: Remove rxc-skew-ps from ethernet-phy node
  arm64: dts: renesas: hihope-rzg2-ex: Drop rxc-skew-ps from ethernet-phy node
  ARM: dts: r8a7742-iwg21d-q7-dbcm-ca: Enable VIN instances
  arm64: dts: renesas: r8a77961: Add MSIOF nodes
  arm64: dts: renesas: Align GPIO hog names with dtschema
  ARM: dts: r8a7742-iwg21d-q7: Add LCD support

Link: https://lore.kernel.org/r/20201113150854.3923885-3-geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-23 16:48:48 +01:00
Arnd Bergmann
4b44b61a68 Renesas ARM defconfig updates for v5.11
- Enable support for the new R-Car V3U SoC in the arm64 defconfig,
   - Refresh shmobile_defconfig for v5.10-rc1.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCX66RqgAKCRCKwlD9ZEnx
 cLC5AP493HI4gYGzpdkwikaOR6sMM5iwI0v3n1AYcuw79Ep11gEAyEg0DpLMAOG8
 aHDYqSv6Zo10pYjbHBJRwYRrOJMarw4=
 =eio1
 -----END PGP SIGNATURE-----

Merge tag 'renesas-arm-defconfig-for-v5.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/defconfig

Renesas ARM defconfig updates for v5.11

  - Enable support for the new R-Car V3U SoC in the arm64 defconfig,
  - Refresh shmobile_defconfig for v5.10-rc1.

* tag 'renesas-arm-defconfig-for-v5.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: defconfig: Enable R8A779A0 SoC
  ARM: shmobile: defconfig: Refresh for v5.10-rc1

Link: https://lore.kernel.org/r/20201113150854.3923885-2-geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-11-23 16:44:30 +01:00
Shameer Kolothum
77c38c8cf5 iommu: Check return of __iommu_attach_device()
Currently iommu_create_device_direct_mappings() is called
without checking the return of __iommu_attach_device(). This
may result in failures in iommu driver if dev attach returns
error.

Fixes: ce574c27ae ("iommu: Move iommu_group_create_direct_mappings() out of iommu_group_add_device()")
Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com>
Link: https://lore.kernel.org/r/20201119165846.34180-1-shameerali.kolothum.thodi@huawei.com
Signed-off-by: Will Deacon <will@kernel.org>
2020-11-23 14:57:41 +00:00