- Add core support for the R-Car V3U (R8A779A0) SoC, including System
Controller (SYSC) and Reset (RST) support,
- Various Kconfig cleanups.
-----BEGIN PGP SIGNATURE-----
iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCX2ShfwAKCRCKwlD9ZEnx
cO6bAP4kuetjBmf+BxLGRxZTEin+8YQRd7p051UZKBMa4qp2lwD+JKhnasH1qv64
CWS3LV8FNumj2Gr1e3YdJcgwb+9p3gc=
=K/tj
-----END PGP SIGNATURE-----
Merge tag 'renesas-drivers-for-v5.10-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into arm/drivers
Renesas driver updates for v5.10 (take two)
- Add core support for the R-Car V3U (R8A779A0) SoC, including System
Controller (SYSC) and Reset (RST) support,
- Various Kconfig cleanups.
* tag 'renesas-drivers-for-v5.10-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
soc: renesas: r8a779a0-sysc: Add r8a779a0 support
soc: renesas: rcar-rst: Add support for R-Car V3U
soc: renesas: Identify R-Car V3U
soc: renesas: Sort driver description title
soc: renesas: Use ARM32/ARM64 for menu description
dt-bindings: clock: Add r8a779a0 CPG Core Clock Definitions
dt-bindings: power: Add r8a779a0 SYSC power domain definitions
Link: https://lore.kernel.org/r/20200918124800.15555-4-geert+renesas@glider.be
Signed-off-by: Olof Johansson <olof@lixom.net>
Add support for R-Car V3U (R8A779A0) SoC power areas and register
access, because register specification differs from R-Car Gen2/3.
Inspired by patches in the BSP by Tho Vu.
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Link: https://lore.kernel.org/r/1599810232-29035-5-git-send-email-yoshihiro.shimoda.uh@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Couple of main additions: SCMI system protocol support and ability to
build SCMI driver as a single module which is needed by some transports
like virtio as they may not be ready early during the boot. This also
includes constification of scmi ops and related function pointers.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEunHlEgbzHrJD3ZPhAEG6vDF+4pgFAl9fEboACgkQAEG6vDF+
4pgPrQ//b7sHrgiWPu1tKHJFnpZ/fvfxfk5MsjUo+/p1v2XMfBlCanYf6rb31Dkr
UhN7QjRNklehQvqYm1BkDFOijFZBQfyKZ+Yva+w0XGi/5yQTA0sHUj/01NSiCWsZ
HAZoCSUrMrrpOl2nLxcM8ZLD6WQfVY+rHJzeLmPl5O8yXWQTPdLuilQZcA9kW9TP
xuegGSCcvtiBFKNXSsFiAB/SnwEoUR9Y3DgIWGUkFLXg4E59yMMYx5R0ioUc1C1P
xpQpraWOgzORjKtBMrXO0BTLPyUTkNc8kIJINu8QFZznZN7MCEVI0PIHOMW3Iv/n
/PDqhD2RsQAgFV/2cLuQU6AhPjRS3q7lVRrZnvd8Ox329YcIyiyIbLzB+qI5ybM7
Pq15T2w8/KElikO+jw2Y0MVVc9uXHO+3Dq8OKzS43gOH/OakDkqnpnaLYNGJ2nMb
/lBCKlzS3ZEnPN1QQiWIQXRKJnuimQifD5WB3ubvAMge7Ctu4/aqTa2RHl4kGuEQ
VXrTuy4BMXkakKcuYxkGi4aHf1XNclRQrietvz2mw7Ufv5BSR2CYgTm8H6AUxVRl
FbEajHlb9YjGIVVy2sOVhG2cmBAA/rZuOcgeqDd4eseuEgTWD08IMDYqhWj2PQRA
Yctr4JQdKddiXkWNbrAtBbfZuirZEZ9L79ijnDek8AkJ9vZ5CSg=
=qToH
-----END PGP SIGNATURE-----
Merge tag 'scmi-updates-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into arm/drivers
ARM SCMI updates for v5.10
Couple of main additions: SCMI system protocol support and ability to
build SCMI driver as a single module which is needed by some transports
like virtio as they may not be ready early during the boot. This also
includes constification of scmi ops and related function pointers.
* tag 'scmi-updates-5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
firmware: arm_scmi: Enable building as a single module
firmware: arm_scmi: Move scmi protocols registration into the driver
firmware: arm_scmi: Move scmi bus init and exit calls into the driver
firmware: smccc: Export both smccc functions
firmware: arm_scmi: Fix NULL pointer dereference in mailbox_chan_free
firmware: arm_scmi: Add SCMI device for system power protocol
firmware: arm_scmi: Add system power protocol support
firmware: arm_scmi: Constify static scmi-ops
firmware: arm_scmi: Constify ops pointers in scmi_handle
cpufreq: arm_scmi: Constify scmi_perf_ops pointers
Link: https://lore.kernel.org/r/20200914075018.2rvytvghxyutcbk4@bogus
Signed-off-by: Olof Johansson <olof@lixom.net>
Now, with all the plumbing in place to enable building scmi as a module
instead of built-in modules, let us enable the same.
Link: https://lore.kernel.org/r/20200907195046.56615-5-sudeep.holla@arm.com
Tested-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
In preparation to enable building SCMI as a single module, let us move
the SCMI protocol registration call into the driver. This enables us
to also add unregistration of the SCMI protocols.
The main reason for this is to keep it simple instead of maintaining
it as separate modules and dealing with all possible initcall races
and deferred probe handling. We can move it as separate modules if
needed in future.
Link: https://lore.kernel.org/r/20200907195046.56615-4-sudeep.holla@arm.com
Tested-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
In preparation to enable building scmi as a single module, let us move
the scmi bus {de-,}initialisation call into the driver.
The main reason for this is to keep it simple instead of maintaining
it as separate modules and dealing with all possible initcall races
and deferred probe handling. We can move it as separate modules if
needed in future.
Link: https://lore.kernel.org/r/20200907195046.56615-3-sudeep.holla@arm.com
Tested-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
We need to export both arm_smccc_1_1_get_conduit and arm_smccc_get_version
to allow several modules make use of them. Arm FFA, Arm SCMI and PTP
drivers are few drivers that are planning to use these functions.
Let us export them in preparation to add support for SCMI as module.
Link: https://lore.kernel.org/r/20200907195046.56615-2-sudeep.holla@arm.com
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
please pull the following:
- Alvaro adds support for the BCM63xx (DSL) SoCs power domain controller
and adds support for the 6318, 6328, 6362, 63268.
- Florian adds support for tuning the Bus Interface Unit on 72164 and
72165, enables the Brahma-B53 and Cortex-A72 read-ahead cache for the
64-bit capable ARCH_BRCMSTB platforms, and finally updates the GISB
driver to support breakpoint notifications.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAl9ZkK4ACgkQh9CWnEQH
BwS8bQ//dn66KKeK2Fcw6pofTypsE7y69P2Jz7vA8IkYigNaNwIWABXXE+/FXrPE
ZVk9se/ZAI/kvWQXKj5T2JyjXWU8jphidwX0aK1xUymab60W6EdZUJcTiKdsdamA
KGSAQ0jjWaNuZHnNR2nsqa4OLDrnQz2ujdWCnz9SSBNtPFcAknbj+nkicbpWmHb7
1fjBXg7e+RkUuaHGNETIkKnjdEA/e2frlTCzwendsLTgJkhbr9j9y6jAOtJiXjE4
+UQd84cEPsuvSrx6dx6pnCVoL19m2aPFE9JTDVCXVYCOinjm+gQDXQTl8w+HvoZn
/w0deVOJSOF+YHoRbC7xLghaY2jjRmM86jjmopSB7/OF5KUbkuMj1Nz5xQxUI7gA
BuvRQvry+TedEiY1vfsDnrJZpv3vZTS2BRkTfiZXvhtfDM/unMr9L6vScxzQU7gA
Gj2hPEai3bB+pfTB+e1H4IAWFmQXgS+3Q+JpCtgHjZFZtmYy89MaJK5TY88pYceR
ZfnK6aHhHXNF3L594CYCNxZBovC2Jt/Mp6+MIPgFpvwTFKhqoLIjUP5bnuZRqHZ6
yVz0WJgU6R7FPtp8uTwES5moreeAWMdVdzHdZvTkOrPzRvBpT1tMWpk00eFaAn7E
PlTdM5OMuxDi2tZKcLNCW92To1Un0YRnMLZh8Q5sSS9MekY++hk=
=njcZ
-----END PGP SIGNATURE-----
Merge tag 'arm-soc/for-5.10/drivers' of https://github.com/Broadcom/stblinux into arm/drivers
This pull request contains Broadcom SoCs drivers changes for 5.10,
please pull the following:
- Alvaro adds support for the BCM63xx (DSL) SoCs power domain controller
and adds support for the 6318, 6328, 6362, 63268.
- Florian adds support for tuning the Bus Interface Unit on 72164 and
72165, enables the Brahma-B53 and Cortex-A72 read-ahead cache for the
64-bit capable ARCH_BRCMSTB platforms, and finally updates the GISB
driver to support breakpoint notifications.
* tag 'arm-soc/for-5.10/drivers' of https://github.com/Broadcom/stblinux:
bus: brcmstb_gisb: Add support for breakpoint interrupts
dt-bindings: bus: Document breakpoint interrupt for gisb-arb
soc: bcm: brcmstb: biuctrl: Change RAC data line prefetching after 4 consecutive lines
soc: bcm: brcmstb: biuctrl: Change RAC prefetch distance from +/-1 to +/- 2
soc: bcm: brcmstb: biuctrl: Tune MCP settings for 72165
soc: bcm: brcmstb: biuctrl: Tune MCP settings for 72164
MIPS: BMIPS: dts: add BCM63268 power domain support
MIPS: BMIPS: dts: add BCM6362 power domain support
MIPS: BMIPS: dts: add BCM6328 power domain support
soc: bcm: add BCM63xx power domain driver
MIPS: BMIPS: add BCM6318 power domain definitions
MIPS: BMIPS: add BCM63268 power domain definitions
MIPS: BMIPS: add BCM6362 power domain definitions
MIPS: BMIPS: add BCM6328 power domain definitions
dt-bindings: soc: brcm: add BCM63xx power domain binding
soc: bcm: brcmstb: biuctrl: Enable Read-ahead cache
bus: brcmstb_gisb: Shorten prints
Link: https://lore.kernel.org/r/20200912032153.1216354-3-f.fainelli@gmail.com
Signed-off-by: Olof Johansson <olof@lixom.net>
1. Fixes in several drivers for GCC warnings, including kerneldoc fixes
and issues discovered while compile testing.
2. Enable compile testing of most of the drivers.
3. Use dev_err_probe() to simplify the code.
4. omap-gpmc: fix off by one errors, code cleanups and improvements.
5. tegra: remove the GPU from DRM IOMMU group so it would use its own;
few minor fixes.
6. brcmstb_dpfe: fix memory leak and array index out of bounds.
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAl9WGpYQHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD10jlEACU5EM8ZP0hUf4yPF/tdcUZ1oOdgR3yMb8C
F6V0w++GnX/s+m4Zw9MwPM8xZWyvBRDqRPHJ7m0C+/GX9AY58S2T8lgbDxHQCdML
cae/JBzEo2CPb+Ma3GLRxsy8ijWwDFMrOcnvVyH98LwwgXOR0/yCsahpiFGPHZr4
HFOtUgXyQ0RvD+Nm6aQMyOH0qaIwGULBbwelQNQdy4nmo5nIJdFFnxQtaj6KhMSu
L1JVBFPE/sydTk+PHqeMXZE7D/YaU/8YCM9N5pdo7M8GW6qszlQ/pl4M9y+MDWD7
LrM8FL63B+iT5sDlneeFRNjtkZNHYBK2JmHpevCroHkaCliGoLGOCjT1MqtjJQK2
Vn07AEN8RuUkF//P5KsoaMVxaDWr9rwAQwyIj5kw3L0WwHMXxp7P4YSMETeN4wbD
YmHFLNmjqTHtEyM00CIxwXzbClXzaDAQnihnS7eCTpLTz7ReebP5LE/uZ7XjlC1X
YGFwQkoVfbiNEz1CzsihyHPfoBXkTXLn+6rTsHxuTOHDSgqqBC5dBAa4FgsSc2wH
kkygEg3RRwmXWjiukuv5vAJkUtxvbbuEod4rfqjY18GTslwo9YBCT+sXq+K9qpog
bHhPTcHLPvAAJhbzEPya8bhKEPTrsVq4etL1+ZkZ/HgTj1nQn5Tinjj9CNkek2/5
L6OiQBbDsA==
=Vo29
-----END PGP SIGNATURE-----
Merge tag 'memory-controller-drv-5.10' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into arm/drivers
Memory controller drivers for v5.10
1. Fixes in several drivers for GCC warnings, including kerneldoc fixes
and issues discovered while compile testing.
2. Enable compile testing of most of the drivers.
3. Use dev_err_probe() to simplify the code.
4. omap-gpmc: fix off by one errors, code cleanups and improvements.
5. tegra: remove the GPU from DRM IOMMU group so it would use its own;
few minor fixes.
6. brcmstb_dpfe: fix memory leak and array index out of bounds.
* tag 'memory-controller-drv-5.10' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl: (26 commits)
memory: fsl-corenet-cf: Fix handling of platform_get_irq() error
memory: omap-gpmc: Fix -Wunused-function warnings
memory: tegra: Remove GPU from DRM IOMMU group
memory: tegra186-emc: Simplify with dev_err_probe()
memory: brcmstb_dpfe: Simplify with dev_err_probe()
memory: samsung: exynos5422-dmc: add missing and fix kerneldoc
memory: samsung: exynos5422-dmc: remove unused exynos5_dmc members
memory: samsung: exynos5422-dmc: rename timing register fields variables
memory: emif: Remove bogus debugfs error handling
memory: omap-gpmc: Fix build error without CONFIG_OF
memory: omap-gpmc: Fix a couple off by ones
memory: brcmstb_dpfe: fix array index out of bounds
memory: brcmstb_dpfe: Fix memory leak
memory: tegra: Correct shift value of apew
memory: Enable compile testing for most of the drivers
memory: brcmstb_dpfe: add separate entry for compile test
memory: tegra: tegra210-emc: fix indentation
memory: renesas-rpc-if: simplify with PTR_ERR_OR_ZERO
memory: omap-gpmc: consistently use !res for NULL checks
memory: omap-gpmc: use WARN() instead of BUG() on wrong free
...
Link: https://lore.kernel.org/r/20200907150611.11267-1-krzk@kernel.org
Signed-off-by: Olof Johansson <olof@lixom.net>
-----BEGIN PGP SIGNATURE-----
iQJOBAABCgA4FiEEFV+gSSXZJY9ZyuB5LinzTIcAHJcFAl9OHZUaHGplbnMud2lr
bGFuZGVyQGxpbmFyby5vcmcACgkQLinzTIcAHJc8Jg/9EMdZ0icG/r1yeMMqPrGL
YlKGok2PtJ79XqvSpUsVJmHfMKQ+O0j18zHAPkVHEgmC8zkHdaiXE50qRM8tx3IH
/eDvH1sgCTytHaGn6O9VnM0K/QAp6uKPfc4zKaxjbxPsovgGs7sPrUUbpfso34fE
KXwC9MaFVwoAayuuGE2zOkx5AAPYuIxEyrFtY4NDj/wg+5gHclknfiBJrbUKhUNB
oaBmtqe5kEAgyjG2lPBPrJyO5u8DvWk11dQtmYsNjVzDljRq6YOwdpQ5nCLsmS5N
7XlFEFS+VF17G8iwmq/xD5jOj6MFWrETTvDA+vVztumqVGsxAmIjdXYYZoBmHQ+b
wJVoZfG2TFfWrsYma+Dl7vbDZBxfYlRlW557ixgoVMYZkQ8JFUuDMWya10gdzkPC
2ncMTiVMLFQmin9SY6A3iKLvShcbfZ+VsdO9l6WQGBq8Lc9pAfEiGNwf7S1PO7fq
7XZRE5FKzscREJ9pZ/APy9o+aHGzpRW+N91UspEFSkwfVrnKoULyE5ZZodsdVBC3
FEL/nse2yy0ynP5rvPaXGC/yqBoQY1NG2yMn0hNU2JKBDVTD/wutcadBUaqUxzYl
CqccN77MFJ4vqHNgptLAcwpyKCajUSxLu+DHDlqKmh0Jn8WWhKQQqMq1yMnmfveV
qf2Bb2M7u3Q/hwLUAZfSqx0=
=tNe4
-----END PGP SIGNATURE-----
Merge tag 'optee-i2c-fix-for-v5.10' of git://git.linaro.org:/people/jens.wiklander/linux-tee into arm/drivers
Make sure I2C functions used in OP-TEE are reachable with IS_REACHABLE()
* tag 'optee-i2c-fix-for-v5.10' of git://git.linaro.org:/people/jens.wiklander/linux-tee:
drivers: optee: fix i2c build issue
Link: https://lore.kernel.org/r/20200901101806.GA3286324@jade
Signed-off-by: Olof Johansson <olof@lixom.net>
Clock and Power Domain definitions for the Renesas R-Car V3U (R8A779A0)
SoC, shared by driver and DT source files.
-----BEGIN PGP SIGNATURE-----
iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCX1pckgAKCRCKwlD9ZEnx
cCbUAQCBb4x5zMgZsZnAPGyK6M1CyV3KC3UvH5OBYhDQRC//uAEAqUT6R21KbZbe
fYWzy8rcmSgjHPyF737DmYzYS9nRMgE=
=/t2Y
-----END PGP SIGNATURE-----
Merge tag 'renesas-r8a779a0-dt-binding-defs-tag' into renesas-drivers-for-v5.10
Renesas R-Car V3U DT Binding Definitions
Clock and Power Domain definitions for the Renesas R-Car V3U (R8A779A0)
SoC, shared by driver and DT source files.
For easy understanding of architecture and alphabetical merging, this
patch uses ARM32/ARM64 for description.
This prepares for sorting the menu.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87bliiv54u.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
scmi_mailbox is obtained from cinfo->transport_info and the first
call to mailbox_chan_free frees the channel and sets cinfo->transport_info
to NULL. Care is taken to check for non NULL smbox->chan but smbox can
itself be NULL. Fix it by checking for it without which, kernel crashes
with below NULL pointer dereference and eventually kernel panic.
Unable to handle kernel NULL pointer dereference at
virtual address 0000000000000038
Modules linked in: scmi_module(-)
Hardware name: ARM LTD ARM Juno Development Platform/ARM Juno
Development Platform, BIOS EDK II Sep 2 2020
pstate: 80000005 (Nzcv daif -PAN -UAO BTYPE=--)
pc : mailbox_chan_free+0x2c/0x70 [scmi_module]
lr : idr_for_each+0x6c/0xf8
Call trace:
mailbox_chan_free+0x2c/0x70 [scmi_module]
idr_for_each+0x6c/0xf8
scmi_remove+0xa8/0xf0 [scmi_module]
platform_drv_remove+0x34/0x58
device_release_driver_internal+0x118/0x1f0
driver_detach+0x58/0xe8
bus_remove_driver+0x64/0xe0
driver_unregister+0x38/0x68
platform_driver_unregister+0x1c/0x28
scmi_driver_exit+0x38/0x44 [scmi_module]
---[ end trace 17bde19f50436de9 ]---
Kernel panic - not syncing: Fatal exception
SMP: stopping secondary CPUs
Kernel Offset: 0x1d0000 from 0xffff800010000000
PHYS_OFFSET: 0x80000000
CPU features: 0x0240022,25806004
Memory Limit: none
---[ end Kernel panic - not syncing: Fatal exception ]---
Link: https://lore.kernel.org/r/20200908112611.31515-1-sudeep.holla@arm.com
Fixes: 5c8a47a5a9 ("firmware: arm_scmi: Make scmi core independent of the transport type")
Cc: Cristian Marussi <cristian.marussi@arm.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>
Tested-by: Cristian Marussi <cristian.marussi@arm.com>
Reviewed-by: Cristian Marussi <cristian.marussi@arm.com>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Add SCMI device for system power protocol by just adding the name "syspower"
to the list of supported core protocol devices.
Link: https://lore.kernel.org/r/20200907174657.32466-3-cristian.marussi@arm.com
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Add bare protocol support for SCMI system power protocol as needed by
an OSPM agent: basic initialization and SYSTEM_POWER_STATE_NOTIFIER
core notification support.
No event-handling logic is attached to such notification..
Link: https://lore.kernel.org/r/20200907174657.32466-2-cristian.marussi@arm.com
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
The perf_ops are not modified through this pointer. Make them const to
indicate that. This is in preparation to make the scmi-ops pointers in
scmi_handle const.
Link: https://lore.kernel.org/r/20200906230452.33410-2-rikard.falkeborn@gmail.com
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rikard Falkeborn <rikard.falkeborn@gmail.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
GISB breakpoint interrupts can be raised when a breakpoint has been
enabled to match a specific master and/or GISB register address. Being
able to print a message, similar to those done during target abort or
timeout greatly helps debug systems.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Change the RACPREFDATA(x) setting to prefetch the next 256-byte line
after 4 consecutive lines have been used, instead of after 2 consecutive
lines. This does improve the synthetic memcpy benchmark by an additional
+0.5% on top of the previous change for Cortex-A72 CPUs.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Change the RAC prefetch distance from +/- 1 to +/- 2 for Cortex-A72 CPUs
since this provides an average of a 3.8% performance increase for
synthetic memcpy benchmarks.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
72165 uses a Brahma-B53 CPU and its Bus Interface Unit, tune it
according to the existing values we have.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
72164 uses a Brahma-B53 CPU and its Bus Interface Unit, tune it
according to the existing values we have.
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
platform_get_irq() returns -ERRNO on error. In such case comparison
to 0 would pass the check.
Fixes: 54afbec0d5 ("memory: Freescale CoreNet Coherency Fabric error reporting driver")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20200827073315.29351-1-krzk@kernel.org
If CONFIG_OF is not set, make W=1 warns:
drivers/memory/omap-gpmc.c:987:12: warning: ‘gpmc_cs_remap’ defined but not used [-Wunused-function]
drivers/memory/omap-gpmc.c:926:20: warning: ‘gpmc_cs_get_name’ defined but not used [-Wunused-function]
drivers/memory/omap-gpmc.c:919:13: warning: ‘gpmc_cs_set_name’ defined but not used [-Wunused-function]
Move them to #ifdef CONFIG_OF block to fix this.
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Acked-by: Roger Quadros <rogerq@ti.com>
Link: https://lore.kernel.org/r/20200901112832.3084-1-yuehaibing%40huawei.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Commit 63a613fdb1 ("memory: tegra: Add gr2d and gr3d to DRM IOMMU
group") added the GPU to the DRM IOMMU group, which doesn't make any
sense. This causes problems when Nouveau tries to attach to the SMMU
and causes it to fall back to using the DMA API.
Remove the GPU from the DRM groups to restore the old behaviour. The
GPU should always have its own IOMMU domain to make sure it can map
buffers into contiguous chunks (for big page support) without getting
in the way of mappings from the DRM group.
Cc: <stable@vger.kernel.org>
Fixes: 63a613fdb1 ("memory: tegra: Add gr2d and gr3d to DRM IOMMU group")
Reported-by: Matias Zuniga <matias.nicolas.zc@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Reviewed-by: Dmitry Osipenko <digetx@gmail.com>
Link: https://lore.kernel.org/r/20200901153248.1831263-1-thierry.reding@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Common pattern of handling deferred probe can be simplified with
dev_err_probe(). Less code and the error value gets printed.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Markus Mayer <mmayer@broadcom.com>
Link: https://lore.kernel.org/r/20200828153747.22358-1-krzk@kernel.org
Add missing kerneldoc to struct exynos5_dmc and correct the existing
kerneldoc in other places to fix W=1 warnings like:
drivers/memory/samsung/exynos5422-dmc.c:107: warning: Function parameter or member 'freq_hz' not described in 'dmc_opp_table'
drivers/memory/samsung/exynos5422-dmc.c:154: warning: Function parameter or member 'dev' not described in 'exynos5_dmc'
drivers/memory/samsung/exynos5422-dmc.c:357: warning: Excess function parameter 'param' description in 'exynos5_set_bypass_dram_timings'
drivers/memory/samsung/exynos5422-dmc.c:630: warning: Function parameter or member 'flags' not described in 'exynos5_dmc_get_volt_freq'
drivers/memory/samsung/exynos5422-dmc.c:962: warning: cannot understand function prototype: 'struct devfreq_dev_profile exynos5_dmc_df_profile = '
drivers/memory/samsung/exynos5422-dmc.c:1011: warning: Function parameter or member 'reg_timing_row' not described in 'create_timings_aligned'
drivers/memory/samsung/exynos5422-dmc.c:1011: warning: Excess function parameter 'idx' description in 'create_timings_aligned'
drivers/memory/samsung/exynos5422-dmc.c:1345: warning: Excess function parameter 'set' description in 'exynos5_dmc_set_pause_on_switching'
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Lukasz Luba <lukasz.luba@arm.com>
Link: https://lore.kernel.org/r/20200822163218.21857-3-krzk@kernel.org
The struct exynos5_dmc members bypass_rate, mx_mspll_ccore_phy,
mout_mx_mspll_ccore_phy and opp_bypass are not actually used.
Apparently there was a plan to store the OPP for the bypass mode in
opp_bypass member, but driver fails to do it and instead always sets
target voltage during bypass mode.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20200822163218.21857-2-krzk@kernel.org
The driver has file-scope arrays defining fields of timing registers
(e.g. struct timing_reg timing_row) and actual values for these
registers per each OPP in state container (struct
exynos5_dmc.timing_row). The meanings of these are different so use
different names to avoid confusion.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Lukasz Luba <lukasz.luba@arm.com>
Link: https://lore.kernel.org/r/20200822163218.21857-1-krzk@kernel.org
When the optee driver is compiled into the kernel while the i2c core
is configured as a module, the i2c symbols are not available.
This commit addresses the situation by disabling the i2c support for
this use case while allowing it in all other scenarios:
i2c=y, optee=y
i2c=m, optee=m
i2c=y, optee=m
i2c=m, optee=y (not supported)
Fixes: c05210ab97 ("drivers: optee: allow op-tee to access devices on the i2c bus")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Now, Renesas SoC drivers are under menu, but current descriptions are
not aligned.
This patch aligns them.
- Emma Mobile EV2
- RZ/A1H (R7S72100)
...
- R-Car H2 (R8A77900)
...
- Renesas R-Car H3 ES1.x SoC Platform
...
- R-Car H2 System Controller support
- R-Car M2-W/N System Controller support
- R-Car V2H System Controller support
- R-Car E2 System Controller support
- R-Car H3 System Controller support
- R-Car M3-W System Controller support
- R-Car M3-W+ System Controller support
- R-Car M3-N System Controller support
+ SoC Platform support for Emma Mobile EV2
+ SoC Platform support for RZ/A1H+
...
+ SoC Platform support for R-Car H2
...
+ SoC Platform support for R-Car H3 ES1.x
...
+ System Controller support for R-Car H2
+ System Controller support for R-Car M2-W/N
+ System Controller support for R-Car V2H
+ System Controller support for R-Car E2
+ System Controller support for R-Car H3
+ System Controller support for R-Car M3-W
+ System Controller support for R-Car M3-W+
+ System Controller support for R-Car M3-N
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87zh6kyedc.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Callers are generally not supposed to check the return values from
debugfs functions. Debugfs functions never return NULL so this error
handling will never trigger. (Historically debugfs functions used to
return a mix of NULL and error pointers but it was eventually deemed too
complicated for something which wasn't intended to be used in normal
situations).
Delete all the error handling.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Santosh Shilimkar <ssantosh@kernel.org>
Link: https://lore.kernel.org/r/20200826113759.GF393664@mwanda
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
If CONFIG_OF is n, gcc fails:
drivers/memory/omap-gpmc.o: In function `gpmc_omap_onenand_set_timings':
omap-gpmc.c:(.text+0x2a88): undefined reference to `gpmc_read_settings_dt'
Add gpmc_read_settings_dt() helper function, which zero the gpmc_settings
so the caller doesn't proceed with random/invalid settings.
Fixes: a758f50f10 ("mtd: onenand: omap2: Configure driver from DT")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Acked-by: Roger Quadros <rogerq@ti.com>
Link: https://lore.kernel.org/r/20200827125316.20780-1-yuehaibing@huawei.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
These comparisons should be >= instead of > to prevent reading one
element beyond the end of the gpmc_cs[] array.
Fixes: cdd6928c58 ("ARM: OMAP2+: Add device-tree support for NOR flash")
Fixes: f37e4580c4 ("ARM: OMAP2: Dynamic allocator for GPMC memory space")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Roger Quadros <rogerq@ti.com>
Link: https://lore.kernel.org/r/20200825104707.GB278587@mwanda
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Renesas related SoC settings are located on TOP level menu,
thus it is very verbose.
This patch groups Renesas related settings into
"Renesas SoC driver support" menu.
And it aligns config menu names.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87k0xxho7t.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
This code was using get_user_pages*(), in a "Case 2" scenario
(DMA/RDMA), using the categorization from [1]. That means that it's
time to convert the get_user_pages*() + put_page() calls to
pin_user_pages*() + unpin_user_pages() calls.
Factor out a new, small release_registered_pages() function, in
order to consolidate the logic for discerning between
TEE_SHM_USER_MAPPED and TEE_SHM_KERNEL_MAPPED pages. This also
absorbs the kfree() call that is also required there.
There is some helpful background in [2]: basically, this is a small
part of fixing a long-standing disconnect between pinning pages, and
file systems' use of those pages.
[1] Documentation/core-api/pin_user_pages.rst
[2] "Explicit pinning of user-space pages":
https://lwn.net/Articles/807108/
Cc: Jens Wiklander <jens.wiklander@linaro.org>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: tee-dev@lists.linaro.org
Cc: linux-media@vger.kernel.org
Cc: dri-devel@lists.freedesktop.org
Cc: linaro-mm-sig@lists.linaro.org
Signed-off-by: John Hubbard <jhubbard@nvidia.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
We would overrun the error_text array if we hit a TIMEOUT condition,
because we were using the error code "ETIMEDOUT" (which is 110) as an
array index.
We fix the problem by correcting the array index and by providing a
function to retrieve error messages rather than accessing the array
directly. The function includes a bounds check that prevents the array
from being overrun.
Link: https://lore.kernel.org/linux-arm-kernel/38d00022-730c-948a-917c-d86382df8cb9@canonical.com/
Link: https://lore.kernel.org/r/20200822205000.15841-1-mmayer@broadcom.com
Fixes: 2f330caff5 ("memory: brcmstb: Add driver for DPFE")
Reported-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Markus Mayer <mmayer@broadcom.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Adds support to indicate NULL pointers instead of a valid buffer when
querying the needed size of a buffer.
-----BEGIN PGP SIGNATURE-----
iQJOBAABCgA4FiEEFV+gSSXZJY9ZyuB5LinzTIcAHJcFAl8/ncEaHGplbnMud2lr
bGFuZGVyQGxpbmFyby5vcmcACgkQLinzTIcAHJfiMw//cH0FRlBW9rT/vU+cBJEG
7SbxiW8r0Yz7apfV0u4mufR7ouKBjCHDYKevqAZff1lJnjj2uP11MFOKktm8mfQS
k2qMI7WVMtqulThcfI8SZW7bqkJcycGD2UyrnGDpWjP3qhDT3oPxVo6mtHJcKJZR
E9v1/lh5q1tS4twqPtXXTf7f0PxEmd6IE0wi3RjYR0JWyQtBDVz8cC+nVdXeeIwL
0MkGWZsPYsjn/bnztM72cS21+r1OFcVfSumYFyPLk7rTxdzbKk0yy0IZXaULJn4D
r+/uCEoJrOS2iG3kIwSZeLZScPcM/F0Xci1krVxDmkq+f2w2aDeCqhjozCHvrvpF
U9Hrc4DUyzEVKk2A1oYa9TUAUsHpOtLqwYNE7eFY46W8XqYDr0lTzKKqZxe134OS
jrinLBZJiEPOjTh8uSB46lni9rQx4wT6El7FoFjfofV5K6VEkvds9Ch+lCBA7JGT
8KfIfHhapjuQBnz/XsQtL4cb19C2FELEryfDRUmlGZHrCSmHADsGufU+YeqGifag
wPWJ7wzwIrGK4wk8KVNxm6r6sNnTCcqCSFXnsvN6hXU4C4/fEmGHIV8T5/fCl3pJ
X4mZxJuU/tlAUXWx9jzUvb48vQx2hNpxBbqjpCA87M3d2dF7dUpX47yRQC6m4TuR
vp2svTA7QFq89zhswYMM4D8=
=wZ1T
-----END PGP SIGNATURE-----
Merge tag 'tee-memref-null-for-v5.10' of git://git.linaro.org/people/jens.wiklander/linux-tee into arm/drivers
Handle NULL pointer indication from tee client
Adds support to indicate NULL pointers instead of a valid buffer when
querying the needed size of a buffer.
* tag 'tee-memref-null-for-v5.10' of git://git.linaro.org/people/jens.wiklander/linux-tee:
driver: tee: Handle NULL pointer indication from client
Link: https://lore.kernel.org/r/20200821102535.GA1872111@jade
Signed-off-by: Olof Johansson <olof@lixom.net>
Extends the OP-TEE RPC protocol to enable I2C device access. This allows
a driver in secure world to access devices on a normal world I2C bus.
-----BEGIN PGP SIGNATURE-----
iQJOBAABCgA4FiEEFV+gSSXZJY9ZyuB5LinzTIcAHJcFAl8/mP8aHGplbnMud2lr
bGFuZGVyQGxpbmFyby5vcmcACgkQLinzTIcAHJfawBAAwG6byXCVGTFOtQ3JW4Yv
c4WI0DdMyPqKxPkV3JnblQrgNHrkIeGQKINsBN8mxlov15O7wlKhXJtekGCb9Piq
HS4a4k65e9xeEVDncpWKVrdtrpEhKpLocnuNNjrsZp3N9y60ZIxf0OGdz0s4rQ+G
6mruD90qeBs3G6cig3/VJsbVnwzrBcM8Y55zvXUi1s4oPsHGH9IlcauZJJTAMJyK
55MYpKCZiouUpTjV41cXfSmk5oUSNUlkcOzsMeAbIjFh6JZnJh2hiOtG/O3GqN/U
r1CSRLd8wtsYtEetc8tx/VRFiI94lUFK+7YQXvRm3omZs65t3N1Pzi2LK4C7KoRk
zH+Y605OSILclkTRxAW0wFknJvbdJ7WyINycP0s044b8oD54M63NXgpZozsWTiA1
NsupkqayFuK9p5cHUu1izKmz73mxjW4H7sPu77UMs/O4etxopYqWRZ1JKo5kUpOm
ES45lUC/mxOAyyChVNedCZhfWfuTPR/RGIeFgEF9quzgabA5WCAYwwh1vdRgzPRR
VFHO2NnXihtBubHqK4lwhi3fRZES66gc5vSqh8oSXrVc0cwfZfo8TzD7OhWwqU2Q
MGfJ4lybueNLSOlIyu56JpuggMkUi4M5y+BgSRdeA3pmiftuBlVqK3MwKpuXHrHP
YlCkLaWZWLdUfymCcM4AIFo=
=gH+H
-----END PGP SIGNATURE-----
Merge tag 'optee-i2c-for-v5.10' of git://git.linaro.org/people/jens.wiklander/linux-tee into arm/drivers
Enable i2c device access from OP-TEE RPC
Extends the OP-TEE RPC protocol to enable I2C device access. This allows
a driver in secure world to access devices on a normal world I2C bus.
* tag 'optee-i2c-for-v5.10' of git://git.linaro.org/people/jens.wiklander/linux-tee:
drivers: optee: allow op-tee to access devices on the i2c bus
Link: https://lore.kernel.org/r/20200821100532.GA1868056@jade
Signed-off-by: Olof Johansson <olof@lixom.net>
Some secure elements like NXP's SE050 sit on I2C buses. For OP-TEE to
control this type of cryptographic devices it needs coordinated access
to the bus, so collisions and RUNTIME_PM dont get in the way.
This trampoline driver allow OP-TEE to access them.
Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>