* Add legacy clocks for SCI for SoCs that do not yet have CCF support.
This is to allow SCI (serial) devices to be enabled using DT and
will be removed after CCF support is added for each SoC.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTxKxCAAoJENfPZGlqN0++Bt4QAIr9N0wh2V77cQSMegTDlRRg
sawwaTStkG8mbuRdUrYGS/kWJg1UvKvvB4pNG5IHm5vjycg5f4ya8a9fK5rXwXGx
lW1G8xKxb9LSgOtZaMLXzZPI1v6C1GOVzDmouhZ19WvlFtRI7OJKrX7dvvWnU3+R
8XxsU/XRX8o0NWa/vZg/524+pwyffZihREY30LUcJwsFbFpChwki6KETl/RuTB8J
SqlpbXv964D9CZ9fF4UkTkN64wGODxPYTsUTfOl7QlMIkHb9ajA/OordGg5zZWvJ
phk0tgfr0Y/Lar9LzKheR9qLPRdD1oqVsQ+7COpleIiF+Iey8ICsV13CXgsp9qA9
FqFyUd7xneZ0Jeigw4vgCT474I84E9Q/cXLnN/ExBgStAGhf/IDB7U+CvKaDd6qB
+UVKFRjGJgDjzXy05WYtckrH2xHMS4HYdkg+XxKgxXmTl/0NEFRvZa9B1aE3A0FK
adzdxLckOzebgIIpN1IL7V8851h+Yo0YnigMmrf0zlv2QVwn9bjQ3XSfxVCTEhjJ
Qp1ECqGJIluKQ2HC5KDjsxShdTZGicIQlOn2DW6gZPF1zWqTv/A7cD4tP+lwhLhg
ThKALzIj4jPWIKCO0C9Fe73LXZXoQ8NShIGBKhGaIxVYJgz6B8KYv9dkHD+Q262X
mdUAYDVpoKPfpFd8jRyE
=HQjb
-----END PGP SIGNATURE-----
Merge tag 'renesas-clock2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Merge "Second Round of Renesas ARM Based SoC Clock Updates for v3.17" from
Simon Horman:
- Add legacy clocks for SCI for SoCs that do not yet have CCF support.
This is to allow SCI (serial) devices to be enabled using DT and
will be removed after CCF support is added for each SoC.
* tag 'renesas-clock2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: sh73a0: add SCI clock support for DT
ARM: shmobile: r8a7740: correct SCI clock support for DT
ARM: shmobile: r8a73a4: add SCI clock support for DT
ARM: shmobile: r8a7778: add SCI clock support for DT
Signed-off-by: Olof Johansson <olof@lixom.net>
* Consistently use tabs for indentation
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTwT1uAAoJENfPZGlqN0++vu8P/jTrBKS7x+tVb183afwY3cft
sQkeFALjBxPot0hSDeHnhGEnnSZf/Q7WVfBXqN6yiRbiyOskZdashJH4xkMGljfd
eMkb4FmXXnqd2tTB4vJIiZDLlvpwg4uafiRA6Aiqwl8c5qAmxtqwmcQ/nd0+26p1
0mFkfCoxe/Ygp2L4Ab6Mnl238idZscsAf1BerIYxmSlfcjAydw1in73UHNVqEjiw
RL56Tsk3vBShte5DEx11ULChEPKlXHNXUZFBFJ0OlmqVzeMdTteqr4c4ahLOQ/Ws
jm2Ln6gt4akp1bxQUp+HJNonHbv4CC8gsLif5q5SszBSzlafL0YVShVqLcIL0lcV
wUl5997ibpY8dS1Bz3yjwDP8QP5uPvYTO6McOCKwCZIwfMf7xeFFIWqpSBi3Zj5J
RqgPS4ws7AlkfCFm3kucIioglZ483yZiWUSWFf9ZA3xxaw9V9bCXU3ai1mPDIoQ9
jEBPHzpIWeGMqlLwf4RI+2ooQF7Bd7T3G8z/bxW1jJw35K8eMDY0riDsL2gs7SjR
p+lVc/Z7DaFZV66Gpab7OmiBq/cvxTK/Gt97mt3oAdiE6oqyO/T+FL2XKhoNdTyG
7cOh3dsBE1h9TzxsNGhtCpa5auZVf9j+KUiwyagGLIA/q8M1W8oTrME9VH5cKuxK
7DN7WlXHE3ko4dOEsuM/
=2i0p
-----END PGP SIGNATURE-----
Merge tag 'renesas-r8a7779-multiplatform3-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Merge "Third Round of Renesas ARM Based SoC r8a7779-multiplatform Updates
for v3.17" from Simon Horman:
- Consistently use tabs for indentation
* tag 'renesas-r8a7779-multiplatform3-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: marzen: Consistently use tabs for indentation
Signed-off-by: Olof Johansson <olof@lixom.net>
* Remove opps table check for cpufreq as this is already handled
by the driver
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTwTxuAAoJENfPZGlqN0++MRYQAIzgvlo3xRl5CP56Hs2a5WUk
U4HdwA1Yp0K/oFK14s+JkaBLImeiqQzdSghOAWQNEc0NB1LJ5rkQertHnXn73FdV
pCsHrPtvMLK29r0QmpJ8p7KgDawkiDcHCqhlfEgyXJn2fbXLbxS6brgZsxYlkjx9
LWlsR0g5Toh7GvfHgsskX4R02sJYMVc6nMgntmK4XKCpo87H20J7bRJ0uSvdzsy1
rWQzefREDxwjJ2MrzxuqYhWojevUQmlPjckNeBp+tHHuUDXA9FU3hhsrv4iRbuzP
D8mmGf2i5IDprdszdJgOGkZgFA8SIOpmCQg8Z2bdrV+HlxOwbUa/0skD8vqVRsCT
NIy5jo4TuIDwe8kfjClqSCy0iQG1mRa89C7ByG7uqjBZq1D9HR6JBwT4IzHaiWgQ
9jA+1myZSX91y81o517JqMMfYFoCGj2l6iFQKKN5YPsMEylXiQVTfk7aIXwL+HAY
avHdz9novGUM3kUpA1hLiWvYhCXUUO0eLe6gYDUYbmmC/efLE5R/uzq2qNbCEa/5
pJfnun5lvVvX3NhxjdP6w//FuZtZJtZiqcxJMl8njItbfjkC9cg/k/XgHS/NGWqw
D7CocDoj7vRAHbaCxcFIAyiC0maPNUe59dbWlH0SYQ0a6tdRHRy1wu93yujdkgQl
ZXYHF415CYd7btKe2/qe
=sB8x
-----END PGP SIGNATURE-----
Merge tag 'renesas-cpufreq2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Merge "Second Round of Renesas ARM Based SoC CPUFreq Updates for v3.17" from
Simon Horman:
- Remove opps table check for cpufreq as this is already handled
by the driver
* tag 'renesas-cpufreq2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Remove opps table check for cpufreq
Signed-off-by: Olof Johansson <olof@lixom.net>
* Correct build failure in APMU code in the case of !SUSPEND
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTu7j2AAoJENfPZGlqN0++pAsP/Rqq55nfgeIpLPipSgANcg+L
vd+NQdm6xGq6XcNDnk/tDoAWEWvPD/fv43vHurBQSeBZHAnW5zG+G0eSrHjYzf/V
PvNJO0arvfW3ahPLt3hiW2zM5JEr5PS9OtKPV2cUqGh+UujhVqugm+Mi4wA6D1Jq
1Naambrt9REmIpKNMjWyQIavrkzpd17x7MmPKLoWBQ2mqFxXNQDadgpVI9iZHSpr
L+xecMFoGXZV4hRCUtSRWQCbSGKzG3BneAX9hXHehxI5m6hH0hybmqb+KiU0fTeb
IlBqf/FVjZaFpxsiiJZjWJDNxjAYepmJZwOi5HxQPmojxbGP2NsLQ85tF5pIyarH
hBirqGDqRa0g9D+bj6bAp4i6SzBHdgRAk3sxBwojEqgQDKjCP4T1wMqL3Yp4vJCZ
7kAFENey64lEEbfWVKw+SB6172aZRq+sCdgxgqu2Nr0oXIOh+wBX1CtPCrFRgst3
vGLIX/yPxghRLGb92QjWcHyXiqxrdZHskS6gP5rniW/xbPFS6UT7nws8uSEISoTB
DGRfOXaRpU+xMZU6UobZ978dJ/ZB8uY53RK34zScCuk9dBTuT8P5Add8N7LosyDV
bhPVFg6hOYpC60noV0ieUU26uGHWmJvla7IF4wRtUl+1j8tqNby31XOxY9HTvqr4
MYtwHge0TagF05uRSYqG
=/k+c
-----END PGP SIGNATURE-----
Merge tag 'renesas-soc3-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Merge "Third Round of Renesas ARM Based SoC Updates for v3.17" from Simon
Horman:
- Correct build failure in APMU code in the case of !SUSPEND
* tag 'renesas-soc3-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: fix shmobile_smp_apmu_suspend_init build failure for !SUSPEND
Signed-off-by: Olof Johansson <olof@lixom.net>
* Suspend on non-SMP update for r8a7790
* Move r8a7791.h out of mach directory.
This is part of a multi-stage effort to move headers
out of that directory.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTsf7FAAoJENfPZGlqN0++d2IP/jzdPy6gazqzLaGDvdwxpF/i
hnJrcrfez5grzzfuYn/2MY3W1eeMc3I9JTs9lUhQOZzdvRRvA4Ghn7yvfZNFaCsO
zML5jTdo1X4+h+LiIhEyUt23AZuhG7rk6cQ2RCTvGllLvqaJwvV3aIHl6MmfUkUm
KeS4PqLwq8bFcgP0pxI5BHDfTEZ9A2OQNnDjJ9JD6hHlqKGBDYkj1SVDcVXJOezA
Mjv5nWpmoIbYs9wgswY+fIlYPUO/ZJ3X4aycydqQGX0Uj1L/9vBU1caDZ88/jIRE
NyiRKK5AOvmnxSHE4puq5g7eSAyJRLZ9BW88h6aB7YXkoEljgkiQ2tInp5sWVwHg
lw1PumVhvbMQjsWh09Wvt80Pdfkahh8oe8keaTNVvmq/7ikAovcGd5jyvLnqb54r
l1U4YWk+ihBwLviuu1tdM43hiDd5DAnfmH0Qw7VQWvAIFie7ACsrN7EFXO4iLDUm
1EAkmJsLrG70YzCc6DspOOUbBIs/Y4Znl0kmurkwSdgEJlFs9w8XOGuayxCUg5Cq
7PbgZw7PZWwzJ4DQXz88+yK4QzqhhMlFZrmBZjiwWO6V5XAaY0vxmqAlpz52aaAi
jZOfYr6Wb4KIfAgX10mMvFTsyaorjToQ3okn1Y2/ORTEvxG02lfU6fOpX+bWzFhj
ppD6lPvbHL/+HND6KzQ4
=mQ5+
-----END PGP SIGNATURE-----
Merge tag 'renesas-soc2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Merge "Second Round of Renesas ARM Based SoC Updates for v3.17" from Simon
Horman:
* Suspend on non-SMP update for r8a7790
* Move r8a7791.h out of mach directory.
This is part of a multi-stage effort to move headers
out of that directory.
* tag 'renesas-soc2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Allow r8a7791 to build non-SMP APMU code
ARM: shmobile: Move r8a7791 reset code to pm-r8a7791.c
ARM: shmobile: Allow r8a7790 to build non-SMP APMU code
ARM: shmobile: Move r8a7790 reset code to pm-r8a7790.c
ARM: shmobile: Use __init for APMU suspend init function
ARM: shmobile: Adjust APMU code to build for non-SMP
ARM: shmobile: Allow use of boot code for non-SMP case
ARM: shmobile: Move r8a7791.h
Signed-off-by: Olof Johansson <olof@lixom.net>
* Move r8a7779.h out of mach directory.
This is part of a multi-stage effort to move headers
out of that directory.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTsfwOAAoJENfPZGlqN0++uAAP/0VefX1OFTFFfSbBF0srIMGp
LbwxFjxfip8MSQnwL8R93C51jP9OWO1ePKM5EE3uMDicEszlmr5otXTC5m8/c8Mn
BLK8hf0DCF2VH2lnNegH8QuLoNh3p3N7Ck8/PgIh/S0uUiOF0QdOKUEeFaCNqeg5
CTwUVv3xK8kteXcMxgUpB6F1dZA/Kw2KtlMIO4pH07M2bKif8W5wgCbr3GIHiGYP
DawE4s0kxCb0bTM6f+T0Q+KezstgTglYq4zjK4WezH+xAXGfmPRDQnXw/CHCRqdB
Ku87pqa9GSB68aqdk7kLSDk9WRaaPIeeRtsTkejmoXLtO2KesDBlWXV9fU88ueSt
zx/2VUTr2w75N6CvQidtvjU7vO3knokxC+CTKfUWXmw1ge90tMjB97q5NYlx+vxk
yLN5yQbzCED5kK8GUNZ3JptEUqD2rlD9pYz5BqXWh4JmCxNPsPK/4zU9IPZsM1Ga
zmK6hyCBogWPsy0WtdDhSrRSeWaCuE7XPU2tai3TdLl00W9sSgGUBsy86Am2vYq9
bENBVPw7qKOO83A0BnFkwZGQo8cR8FvAlkw1fP1wPgAUGOyivaEzEdbbL1GOl8eV
ucREW8dTkI00dQvByjl0w+6t3mP2cjJbJqNH2jSbeM2PlP+0oGm/olZ89zfFkJO8
snXaY03X+0nY4rtIy2MT
=RNdD
-----END PGP SIGNATURE-----
Merge tag 'renesas-r8a7779-multiplatform2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Merge "Second Round of Renesas ARM Based SoC r8a7779-multiplatform
Updates for v3.17" from Simon Horman:
- Move r8a7779.h out of mach directory.
This is part of a multi-stage effort to move headers
out of that directory.
* tag 'renesas-r8a7779-multiplatform2-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Move r8a7779.h
Signed-off-by: Olof Johansson <olof@lixom.net>
This will be used when initialising SCI devices using DT
until common clock framework support is added.
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
When initialising SCI devices their names will be .serial
not .sci.
This will be used when initialising SCI devices using DT
until common clock framework support is added.
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
This will be used when initialising SCI devices using DT
until common clock framework support is added.
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
This will be used when initialising SCI devices using DT
until common clock framework support is added.
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
This patch is based on feedback from Viresh Kumar.
Since cpufreq-cpu0 driver has already check opp table, there is no
need to same check in mach-shmobile.
Signed-off-by: Gaku Inami <gaku.inami.xw@bp.renesas.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
- SMP support for BG2 and BG2Q
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTsWd4AAoJEN2kpao7fSL4Uq8P/2cRieGwUc7KBKIeK9pGIOrf
9rLXyK57siZIgdBCTR0/EitNs+SuHNMy9NEYwVc0EasnarJW70Gy1Iq+F3WlaiVi
OZrXqdl//pjGpmzAUujZiacsbg75AAvMKudqCLKeVK0CLvLAviRtHhtOE2878ase
YGDEcFqdYqE4cktX6wOnF0MWzJa+s4V/ekh4450P+1XObR+Qluc4S2Q2U7BVfIN3
jSNtyYO1QV5dTwuCYlDA+t0dyxU1ZF7HVHvEZX7nAQQhmS0YKRJP3OdhqTRZCAj4
H0/5nJP298zbqioZ2ilGYz5o17Dn+gNL6+RDiK/rvWxeeUU7z3ZoYEOV1ddwBAxw
cMto/v5gILRfQ8aROOQ6++1J0tutcMIvAdnTZ9GHfID1oGbBb9h8BD37+XB5teFX
0EwFzyZ1PPeznK4Ty803t+x5GDaz5wqe4KQpAfqNAXFwUfdpM7Tb+sFE1NDHCqmS
uP7J+0yCMQQy2WkUKin3vOV/+2RyFs11QUT8onh5uuiRkG+1IPEFyA3BQjgA+H5J
WZqhM923Wqx+9Y/oUK9zOP8MeJpCu5n4Q+f1FQX0Nx++HJZMTUaUIClasf36INo0
EyMqTrF8WrLaUCSiuu6/OsrMBcryFOZH+df5qMmCxVDd6Ztizo3F8rSU7fzXvRcz
lVHpsWJnNYiYCN18h7T4
=iBym
-----END PGP SIGNATURE-----
Merge tag 'berlin-soc-3.17-1' of git://git.infradead.org/users/hesselba/linux-berlin into next/soc
Merge "Berlin SoC changes for v3.17" from Sebastian Hesselbarth:
- SMP support for BG2 and BG2Q
* tag 'berlin-soc-3.17-1' of git://git.infradead.org/users/hesselba/linux-berlin:
ARM: berlin: add SMP support
Signed-off-by: Olof Johansson <olof@lixom.net>
- kirkwood
- add setup file for netxbig LEDs (non-trivial DT binding doesn't exist yet)
- mvebu
- staticize where needed
- add CPU hotplug for Armada XP
- add public datasheet for Armada 370
- don't apply thermal quirk by default
- get SoC ID from the system controller when possible
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
iQIcBAABAgAGBQJTsqSHAAoJEP45WPkGe8Zn/6QP/2cTEIpMUDVMHCIPqyu32xNX
3uprZuay6hL5vyLOM/p2iUHLGyMVKvEVVWJuB2bGZX9Nf47Uq92PQ4MEGxS7xJYU
EKh8qjX3rQBFpsX1mOyP4XStlYxI5QxM3Jie2n2lquo5mxMMNNU8FcNWWMw02W0g
EfyKwtxNRBkZi8KhgvDDGvE+Oe6qB394p/erFDaP8s9vLbGisoX/prnqBEYOWbAA
e8qy338lSVu/if/Q4U4ffjBRXFShw1uJK+AHS9xEH2veuBisR3FaHcIqvgYpeMqx
sIJWVyNaqWFs3kEAp4TlEkoEGUIc1Z/pL76WK69mgpnCO3X0OtnNFlrwMqb8rAwg
9ziHN9uxSmxcjSLeYlroCxHzt8XKZ0UPmPASZq78Sl/q9Gr0V6bPTPusUYPKDln4
uR7Px49Vvuc1ijn2mWRAQMW9wvDGCgUw8u3nhOHLktH2osWfD41SjAmbLEnysP//
7j3Rw+auxtbyFrKGQDfVon+l/yUrUT9jXW6yq7/ON/YpT4OSJTHWz19nvokyCmW1
aH8qlKS2oMy1ZfncWgHjgVCREmQP9lSfxfpqsHLxPVRPDuyhwp10EN3JeO+9MS85
Vf9YveGiYWuGhkZtYrTy8qFMLoHOaTum5HVONNor0KIlUpeC5Epc7G2jO0P/Nmfx
roK5zlcKzTGFyVZKDuur
=Uq4l
-----END PGP SIGNATURE-----
Merge tag 'mvebu-soc-3.17' of git://git.infradead.org/linux-mvebu into next/soc
Merge "mvebu SoC changes for v3.17" from Jason Cooper:
- kirkwood
* add setup file for netxbig LEDs (non-trivial DT binding doesn't exist yet)
- mvebu
* staticize where needed
* add CPU hotplug for Armada XP
* add public datasheet for Armada 370
* don't apply thermal quirk by default
* get SoC ID from the system controller when possible
* tag 'mvebu-soc-3.17' of git://git.infradead.org/linux-mvebu:
ARM: mvebu: Staticize mvebu_cpu_reset_init
ARM: mvebu: Staticize armada_370_xp_cpu_pm_init
ARM: mvebu: Staticize armada_375_smp_cpu1_enable_wa
ARM: mvebu: Use system controller to get the soc id when possible
ARM: mvebu: Use the a standard errno in mvebu_get_soc_id
ARM: mvebu: Don't apply the thermal quirk if the SoC revision is unknown
Documentation: arm: add URLs to public datasheets for the Marvell Armada 370 SoC
ARM: mvebu: implement CPU hotplug support for Armada XP
ARM: mvebu: export PMSU idle enter/exit functions
ARM: mvebu: slightly refactor/rename PMSU idle related functions
ARM: mvebu: remove stub implementation of CPU hotplug on Armada 375/38x
ARM: Kirkwood: Add setup file for netxbig LEDs
ARM: mvebu: mark armada_370_xp_pmsu_idle_prepare() as static
Signed-off-by: Olof Johansson <olof@lixom.net>
* Use shmobile_init_late on r8a7791 and r8a7790 whien booting using DT-only
* Support Core-Standby for Suspend to RAM on r8a7791 and r8a7790 SoCs
* Shared CMA reservation for R-Car Gen2 SoCs
* Add r8a7791 SYSC power management support
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTqnn+AAoJENfPZGlqN0++SZIP/jn48ADVugeEANLibUl10IBb
hWKh80Fr4/ELaXd0KJTa8SDzLW/JB3rr29bwBhkRWIcsMIeWObI2wJEnSVX2yZkO
ZBijr9FbdmhQ5VmkXEqjUqYkGKx/0IGHMFQ8R6Io3tiwpLXFdz2+moT8cu3Rl4TP
WNvP+xEPjvPUb/7PygXg2Ypdq5jmV4j24LUCJj+yo3ULP2zv92d620CuWT3P0zbv
5PRP3SvbzgwYHhINFF8e4StYsjrl++V+w5pjdm3XDcVNkDoc6p/e8Jqse6wjAYY+
2ShUXhfg7/D56BlEChHb6xwlJmImO81x1NrB5zM69vpvGGQ9fW1XwDAtrFzocDag
vDDp4KIY8TD/T6E6KhEpOdW1GSWYukJ2PBqsgxuYaY8eBO7HDPbG5klj8VEfACgu
ZeY0F2Uq/wb1mJNh32s1FIaWQPGAGPY5Yi77ShHbo3xKQBlqtY2M3Snw8hYLUKgS
tDowT94fWAdXXlFCtvOUMyPEa5+hqZ68PlYFU7Z0jvYcaUm9Ui/EEgo7YqdBWh9e
CVN1fG5SvV8HY5h81GqvC87B45EzALqMG28rhv4e0rSP9PxHuIGWd/m22ea+aV8G
eDKinQ0+EXeyG6BKjbx63s3zGiv60gNcj8anG7Kd6UNpyLnRGewWJkIpSonmqO9R
TQNXLY08LHnONq/gw5Xc
=6J6K
-----END PGP SIGNATURE-----
Merge tag 'renesas-soc-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Merge "Renesas ARM Based SoC Updates for v3.17" from Simon Horman:
- Use shmobile_init_late on r8a7791 and r8a7790 whien booting using DT-only
- Support Core-Standby for Suspend to RAM on r8a7791 and r8a7790 SoCs
- Shared CMA reservation for R-Car Gen2 SoCs
- Add r8a7791 SYSC power management support
* tag 'renesas-soc-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas:
ARM: shmobile: Remove ARCH_HAS_CPUFREQ config for shmobile
ARM: shmobile: rcar-gen2: update call to dma_contiguous_reserve_area
ARM: shmobile: rcar-gen2: correct return value of shmobile_smp_apmu_suspend_init
ARM: shmobile: rcar-gen2: Remove useless copied section for LongTrail
ARM: shmobile: rcar-gen2: Use "1ULL" instead of "(u64)1"
ARM: shmobile: rcar-gen2: Update for of_get_flat_dt_prop() update
ARM: shmobile: Add shared R-Car Gen2 CMA reservation code
ARM: shmobile: Use shmobile_init_late() on r8a7791 DT-only
ARM: shmobile: Use shmobile_init_late() on r8a7790 DT-only
ARM: shmobile: Mark all SoCs in shmobile as CPUFreq, capable
ARM: shmobile: r8a7791: Support Core-Standby for Suspend to RAM
ARM: shmobile: r8a7790: Support Core-Standby for Suspend to RAM
ARM: shmobile: APMU: Add Core-Standby-state for Suspend to RAM
ARM: shmobile: r8a7791 SYSC setup code
Signed-off-by: Olof Johansson <olof@lixom.net>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAABAgAGBQJTqdFdAAoJEMhvYp4jgsXiH0IH/iswt8+Vnk5XV+d5U18sxhcp
TG9UW3mOnaaNIq3oeyQIXanKbWoSSmiE6FeFO6JqUjHZlutAaah+3EhUfYihZyAC
+LsFHA1rzhBzKJlwso5/m52Gj+Feuk6FtUsthRqOYaM/uFz43/uAwX9I53TLUHzK
Ef3uEUMiddmwZwZ+ODQMLnVKp6gKEgBjB4YLVo8HZ//Tm3P6nuHdp3V/u/TTmU8r
SqGQ1Uyl/6nhRtfJS+6BcWU/V95lN1FoGORh758ZRh41xKfRM7T2q3/aN1Tqa3Bu
NqQJ1oDwBj18yHZAKDR2VMx0zIV0PE/gyWZufBi8F+5fTt7x+lFf0dlUyJelPbo=
=JWtP
-----END PGP SIGNATURE-----
Merge tag 'versatile-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux into next/soc
Merge "DT IRQ and clock support for Versatile platforms" from Rob Herring.
This branch moves IRQ and clock support over to DT for the versatile
platforms.
* tag 'versatile-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
clk: versatile: add versatile OSC support
dts: versatile: add clock tree
ARM: timer-sp: allow getting timer1 clock from DT to fallback to legacy clock
dt/bindings: add compatible string for versatile osc clock
dt/bindings: arm-boards: add binding for Versatile core module
dts: versatile: add pl180 compatible strings
ARM: versatile: remove init_irq hook for DT boot
ARM: integrator: convert to use irqchip_init
irqchip: versatile-fpga: add support for arm,versatile-sic
irqchip: versatile-fpga: Add IRQCHIP_DECLARE support
dts: versatile: add missing irq controller properties
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Olof Johansson <olof@lixom.net>
Tegra has a micro-second counter whose rate doesn't vary with cpufreq
changes. Register it so it can be used as the delay timer, so delays
aren't influenced by cpufreq.
I've made this a separate branch since it touches a few files outside
arch/arm/mach-tegra/. This can be merged anywhere that conflicts need
to be resolved, although I know of no such places at present.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iQIcBAABAgAGBQJTqJo3AAoJEMzrak5tbycxUbkP/1Rx2GqGYG2pvsQDEXuHGVJn
3WuFRC7kvc1A/4smpSs+1UhZMwbyewCcdEYbCSjI28UVcYokdRnWAgYrPit3Q0VB
8RGuqDXyW7nYJrRdwpeSddBlt+lW273nn1hz6BB5tvKYr+5IR8iUqkMB6e8Ri2cV
QNG0H4/+OKvnlM6Mfk0yZ2F12ZmUdey0j7mEhzHNtxZhN3JXm5g+Ta58knRibkCO
EJNip5nlZg6d07GAHkEtiegLPTfNsnBDh9RyiMq/FHb0NJ6WZxvCizesFg1Ph2rW
QVjShShivEXB5F/7bNVmMlsySGWA6WTiWYCvZ+GB4Jf6HMLTv0ekyTP28pJdeaMN
2A8Si4MueWx1E5sUPbHJznsk/zbB7A2Xgb+h59M3FyAbKNqMCf141cAg6YrPHkee
I50H4G4xe2KwKRM01ErwRqOU3MEsPiJ/8CBgseEZ8G71SMj4cGvGglKj9cr6V4hC
SzAyDkctJD9QNMozp6nyhhGEJ76WaNsvBV9FjqmthiRhTtRbusapyGle/tx5f0IP
ieS3vlt7WGeLFJQ9NkuOI9Dn1p7KDlWSbCgjm3dFVYlCZyiGeJf7L6GzGvePBhOB
eQ3O4zIXnjuW+HXOU9bEWU3yavviFewmf7IdygdjrYymq46KmDCT6fhxFppnSWTA
SIbgbOwiZHD63RQSuYFv
=flbE
-----END PGP SIGNATURE-----
Merge tag 'tegra-for-3.17-delay-timer' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/soc
Merge "ARM: tegra: use us counter as delay timer" from Stephen Warren:
Tegra has a micro-second counter whose rate doesn't vary with cpufreq
changes. Register it so it can be used as the delay timer, so delays
aren't influenced by cpufreq.
* tag 'tegra-for-3.17-delay-timer' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
clocksource: tegra: Use us counter as delay timer
ARM: choose highest resolution delay timer
kernel: add calibration_delay_done()
Signed-off-by: Olof Johansson <olof@lixom.net>
Move r8a7779 SoC and its Marzen board to use common clocks,
multiplatform and initialise SCIF (serial) devices using DT.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTp3onAAoJENfPZGlqN0++hxgP/j63EuB5yW4bejORhuzPfCQc
uPC7FFrHEbaJBnXx4oAFkwygD+yly8RAQ5SL2IXNguPQBnIEHQ/U11ajFupeZVOo
DTxVwuDZRXDCxkBT4ZwmAssxnAKiQacCH+KTFM1m0ruGlSdXDqAzd/0jgzG9lXvO
2pCRMoeSSi9EtSKhEf0cHdTBlaho4NrXWkEJ0KiSdwr6Xiwbef5VoLxNhMArocKL
xi+N+a/WgA7gduoWaM0tF/O+ZtX5i9BOQUvJH30lr3hHP5c7H3gLw+CZ73+iT2Cb
Jpj9CX/K4queau+nA7aSbko0RiBCHD0Lk9qTfgMYWqRj/Bq7cyfHi60MYhL1A+6q
zUVDYGEa7SaOa/G/GHR8ZxcJVUy0fcJEnq80d/h3eKiP7zfmshregoQJuhB0fY+e
o3mFpTaIjHZgPHekEumY2r2LUzZ8F762joRgKFxxhVX+tDi+92nwPob296V8NAAx
tcxEq/LVvaShZaTHYZCL1dWaRpp9u/NbXnobJiPn9G538UTvo0cDhzg7yMljUuB8
ATOXqZGeeLsHJk3GeAwSndR6U7ANXXRN07IcpcIUC4f8jPWaMGw9Jf1Nzng8l0yP
EAkjz0Az/NUeUu5UBt4c63brmGowADk3tJNCUkNlyhWizhyXYVkeS0MZxWme+1R1
EPk/39uwiM3J+HGc9uP1
=2zqe
-----END PGP SIGNATURE-----
Merge tag 'renesas-r8a7779-multiplatform-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc
Pull "Renesas ARM Based SoC r8a7779-multiplatform Updates for v3.17" from
Simon Horman:
Move r8a7779 SoC and its Marzen board to use common clocks,
multiplatform and initialise SCIF (serial) devices using DT.
* tag 'renesas-r8a7779-multiplatform-for-v3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (32 commits)
ARM: shmobile: marzen: Do not use workaround for scif devices
ARM: shmobile: marzen: Initialise SCIF devices using DT
ARM: shmobile: marzen: Remove early_printk from command line
ARM: shmobile: r8a7779: Add scif nodes to dtsi
ARM: shmobile: r8a7779 dtsi: Correct #address-cells/#size-cells for clocks
ARM: shmobile: r8a7779 dtsi: Update unit-addresses for clocks
ARM: shmobile: r8a7779: Remove unused r8a7779_init_delay()
ARM: shmobile: marzen-reference: Use DT CPU Frequency
ARM: shmobile: r8a7779: Use DT CPU Frequency in common case
ARM: shmobile: r8a7779: Add Maximum CPU Frequency to DTS
ARM: shmobile: marzen-reference: Remove legacy clock support
ARM: shmobile: Remove Marzen reference DTS
ARM: shmobile: Let Marzen multiplatform boot with Marzen DTB
ARM: shmobile: Remove non-multiplatform Marzen reference support
ARM: shmobile: marzen-reference: Instantiate clkdevs for SCIF and TMU
ARM: shmobile: marzen-reference: Initialize CPG device
ARM: shmobile: r8a7779: Initial multiplatform support
ARM: shmobile: marzen-reference: Move clock and OF device initialisation into board code
ARM: shmobile: r8a7779: Move r8a7779_earlytimer_init to clock-r8a7779.c
ARM: shmobile: r8a7779: Add helper to read mode pins
...
Signed-off-by: Olof Johansson <olof@lixom.net>
Patch d6d757c9a4 ("ARM: shmobile: APMU: Add Core-Standby-state for
Suspend to RAM") added both an inline wrapper for shmobile_smp_apmu_suspend_init
and an empty function in arch/arm/mach-shmobile/platsmp-apmu.c. We get a
build failure when both are present, so this patch removes the one in the .c
file and keeps the inline version.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
'mvebu_cpu_reset_init' is local to this file.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Link: https://lkml.kernel.org/r/1403610235-22654-4-git-send-email-sachin.kamat@samsung.com
Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <gregory.clement@free-electrons.com>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
'armada_370_xp_cpu_pm_init' is local to this file.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Link: https://lkml.kernel.org/r/1403610235-22654-3-git-send-email-sachin.kamat@samsung.com
Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <gregory.clement@free-electrons.com>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
'armada_375_smp_cpu1_enable_wa' is local to this file.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Link: https://lkml.kernel.org/r/1403610235-22654-2-git-send-email-sachin.kamat@samsung.com
Signed-off-by: Sachin Kamat <sachin.kamat@samsung.com>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Cc: Gregory Clement <gregory.clement@free-electrons.com>
Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
On Armada 38x it is possible to get the SoC Id and the revision
without using the PCI register. Accessing the PCI registers implies
enabling its clock and, because of the initialization issue, not
keeping them enable. So if possible it is better to avoid it.
Armada 370 and Armada XP provides the SoC ID values from the system
controller but not the revision.
Armada 375 provides both but the SoC ID value looks buggy (0x6660
instead of 0x6720).
Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Link: https://lkml.kernel.org/r/1403538128-27859-1-git-send-email-gregory.clement@free-electrons.com
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Pull ARM fixes from Russell King:
"Another round of ARM fixes. The largest change here is the L2 changes
to work around problems for the Armada 37x/380 devices, where most of
the size comes down to comments rather than code.
The other significant fix here is for the ptrace code, to ensure that
rewritten syscalls work as intended. This was pointed out by Kees
Cook, but Will Deacon reworked the patch to be more elegant.
The remainder are fairly trivial changes"
* 'fixes' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
ARM: 8087/1: ptrace: reload syscall number after secure_computing() check
ARM: 8086/1: Set memblock limit for nommu
ARM: 8085/1: sa1100: collie: add top boot mtd partition
ARM: 8084/1: sa1100: collie: revert back to cfi_probe
ARM: 8080/1: mcpm.h: remove unused variable declaration
ARM: 8076/1: mm: add support for HW coherent systems in PL310 cache
On the syscall tracing path, we call out to secure_computing() to allow
seccomp to check the syscall number being attempted. As part of this, a
SIGTRAP may be sent to the tracer and the syscall could be re-written by
a subsequent SET_SYSCALL ptrace request. Unfortunately, this new syscall
is ignored by the current code unless TIF_SYSCALL_TRACE is also set on
the current thread.
This patch slightly reworks the enter path of the syscall tracing code
so that we always reload the syscall number from
current_thread_info()->syscall after the potential ptrace traps.
Acked-by: Kees Cook <keescook@chromium.org>
Tested-by: Kees Cook <keescook@chromium.org>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Commit 1c2f87c (ARM: 8025/1: Get rid of meminfo) changed find_limits
to use memblock_get_current_limit for calculating the max_low pfn.
nommu targets never actually set a limit on memblock though which
means memblock_get_current_limit will just return the default
value. Set the memblock_limit to be the end of DDR to make sure
bounds are calculated correctly.
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
The CFI mapping is now perfect so we can expose the top block, read only.
There isn't much to read, though, just the sharpsl_params values.
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Reverts commit d26b17edaf
ARM: sa1100: collie.c: fall back to jedec_probe flash detection
Unfortunately the detection was challenged on the defective unit used for tests:
one of the NOR chips did not respond to the CFI query.
Moreover that bad device needed extra delays on erase-suspend/resume cycles.
Tested personally on 3 different units and with feedback of two other users.
Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
The sync_phys variable has been replaced by link time computation in
mcpm_head.S before the code was submitted upstream.
Signed-off-by: Nicolas Pitre <nico@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
When a PL310 cache is used on a system that provides hardware
coherency, the outer cache sync operation is useless, and can be
skipped. Moreover, on some systems, it is harmful as it causes
deadlocks between the Marvell coherency mechanism, the Marvell PCIe
controller and the Cortex-A9.
To avoid this, this commit introduces a new Device Tree property
'arm,io-coherent' for the L2 cache controller node, valid only for the
PL310 cache. It identifies the usage of the PL310 cache in an I/O
coherent configuration. Internally, it makes the driver disable the
outer cache sync operation.
Note that technically speaking, a fully coherent system wouldn't
require any of the other .outer_cache operations. However, in
practice, when booting secondary CPUs, these are not yet coherent, and
therefore a set of cache maintenance operations are necessary at this
point. This explains why we keep the other .outer_cache operations and
only ->sync is disabled.
While in theory any write to a PL310 register could cause the
deadlock, in practice, disabling ->sync is sufficient to workaround
the deadlock, since the other cache maintenance operations are only
used in very specific situations.
Contrary to previous versions of this patch, this new version does not
simply NULL-ify the ->sync member, because the l2c_init_data
structures are now 'const' and therefore cannot be modified, which is
a good thing. Therefore, this patch introduces a separate
l2c_init_data instance, called of_l2c310_coherent_data.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Pull x86 fixes from Peter Anvin:
"A pile of fixes related to the VDSO, EFI and 32-bit badsys handling.
It turns out that removing the section headers from the VDSO breaks
gdb, so this puts back most of them. A very simple typo broke
rt_sigreturn on some versions of glibc, with obviously disastrous
results. The rest is pretty much fixes for the corresponding fallout.
The EFI fixes fixes an arithmetic overflow on 32-bit systems and
quiets some build warnings.
Finally, when invoking an invalid system call number on x86-32, we
bypass a bunch of handling, which can make the audit code oops"
* 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
efi-pstore: Fix an overflow on 32-bit builds
x86/vdso: Error out in vdso2c if DT_RELA is present
x86/vdso: Move DISABLE_BRANCH_PROFILING into the vdso makefile
x86_32, signal: Fix vdso rt_sigreturn
x86_32, entry: Do syscall exit work on badsys (CVE-2014-4508)
x86/vdso: Create .build-id links for unstripped vdso files
x86/vdso: Remove some redundant in-memory section headers
x86/vdso: Improve the fake section headers
x86/vdso2c: Use better macros for ELF bitness
x86/vdso: Discard the __bug_table section
efi: Fix compiler warnings (unused, const, type)
Pull MIPS fixes from Ralf Baechle:
"This is dominated by a large number of changes necessary for the MIPS
BPF code. code. Aside of that there are
- a fix for the MSC system controller support code.
- a Turbochannel fix.
- a recordmcount fix that's MIPS-specific.
- barrier fixes to smp-cps / pm-cps after unrelated changes elsewhere
in the kernel.
- revert support for MSA registers in the signal frames. The
reverted patch did modify the signal stack frame which of course is
inacceptable.
- fix math-emu build breakage with older compilers.
- some related cleanup.
- fix Lasat build error if CONFIG_CRC32 isn't set to y by the user"
* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (27 commits)
MIPS: Lasat: Fix build error if CRC32 is not enabled.
TC: Handle device_register() errors.
MIPS: MSC: Prevent out-of-bounds writes to MIPS SC ioremap'd region
MIPS: bpf: Fix stack space allocation for BPF memwords on MIPS64
MIPS: BPF: Use 32 or 64-bit load instruction to load an address to register
MIPS: bpf: Fix PKT_TYPE case for big-endian cores
MIPS: BPF: Prevent kernel fall over for >=32bit shifts
MIPS: bpf: Drop update_on_xread and always initialize the X register
MIPS: bpf: Fix is_range() semantics
MIPS: bpf: Use pr_debug instead of pr_warn for unhandled opcodes
MIPS: bpf: Fix return values for VLAN_TAG_PRESENT case
MIPS: bpf: Use correct mask for VLAN_TAG case
MIPS: bpf: Fix branch conditional for BPF_J{GT/GE} cases
MIPS: bpf: Add SEEN_SKB to flags when looking for the PKT_TYPE
MIPS: bpf: Use 'andi' instead of 'and' for the VLAN cases
MIPS: bpf: Return error code if the offset is a negative number
MIPS: bpf: Use the LO register to get division's quotient
MIPS: mm: uasm: Fix lh micro-assembler instruction
MIPS: uasm: Add SLT uasm instruction
MIPS: uasm: Add s3s1s2 instruction builder
...
Kconfig doesn't select CRC32 so it's possible to build a Lasat kernel
without CONFIG_CRC32 resulting in a build error:
LD vmlinux
arch/mips/built-in.o: In function `lasat_init_board_info':
(.text+0x22c): undefined reference to `crc32_le'
arch/mips/built-in.o: In function `lasat_write_eeprom_info':
(.text+0x7fc): undefined reference to `crc32_le'
make: *** [vmlinux] Error 1
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Previously, the lower limit for the MIPS SC initialization loop was
set incorrectly allowing one extra loop leading to writes
beyond the MSC ioremap'd space. More precisely, the value of the 'imp'
in the last loop increased beyond the msc_irqmap_t boundaries and
as a result of which, the 'n' variable was loaded with an incorrect
value. This value was used later on to calculate the offset in the
MSC01_IC_SUP which led to random crashes like the following one:
CPU 0 Unable to handle kernel paging request at virtual address e75c0200,
epc == 8058dba4, ra == 8058db90
[...]
Call Trace:
[<8058dba4>] init_msc_irqs+0x104/0x154
[<8058b5bc>] arch_init_irq+0xd8/0x154
[<805897b0>] start_kernel+0x220/0x36c
Kernel panic - not syncing: Attempted to kill the idle task!
This patch fixes the problem
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Reviewed-by: James Hogan <james.hogan@imgtec.com>
Cc: stable@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7118/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
When allocating stack space for BPF memwords we need to use the
appropriate 32 or 64-bit instruction to avoid losing the top 32 bits
of the stack pointer.
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Daniel Borkmann <dborkman@redhat.com>
Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: netdev@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7135/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
When loading a pointer to register we need to use the appropriate
32 or 64bit instruction to preserve the pointers' top 32bits.
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Daniel Borkmann <dborkman@redhat.com>
Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: netdev@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7180/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
The skb->pkt_type field is defined as follows:
u8 pkt_type:3,
fclone:2,
ipvs_property:1,
peeked:1,
nf_trace:1
resulting to the following layout in big-endian systems
[pkt_type][fclone][ipvs_propery][peeked][nf_trace]
^ ^
| |
LSB MSB
As a result, the existing code did not work because it was trying to
match pkt_type == 7 whereas in reality it is 7<<5 on big-endian
systems.
This has been fixed in the interpreter in
0dcceabb0c
"net: filter: fix SKF_AD_PKTTYPE extension on big-endian"
The fix is to look for 7<<5 on big-endian systems for the pkt_type
field, and shift by 5 so the packet type will be at the lower 3 bits
of the A register.
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Daniel Borkmann <dborkman@redhat.com>
Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: netdev@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7132/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Remove BUG_ON() if the shift immediate is >=32 to avoid kernel crashes
due to malicious user input. If the shift immediate is >= 32,
we simply load the destination register with 0 since only
32-bit instructions are used by JIT so this will do the
correct thing even on MIPS64.
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Daniel Borkmann <dborkman@redhat.com>
Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: netdev@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7179/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Previously, update_on_xread() only set the reset flag if SEEN_X hasn't
been set already. However, SEEN_X is used to indicate that X is used
as destination or source register so there are some cases where X
is only used as source register and we really need to make sure that it
has been initialized in time. As a result of which, drop this function and
always set X to zero if it's used in any of the opcodes.
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Daniel Borkmann <dborkman@redhat.com>
Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: netdev@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7133/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
is_range() was meant to check whether the number is within
the s16 range or not. However the return values and consumers expected
the exact opposite. We fix that by inverting the logic in the function
to return 'true' for < s16 and 'false' for > s16.
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Reported-by: Alexei Starovoitov <ast@plumgrid.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Daniel Borkmann <dborkman@redhat.com>
Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: netdev@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7131/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
We should prevent spamming the logs during normal execution of bpf-jit.
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Suggested-by: Alexei Starovoitov <ast@plumgrid.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Daniel Borkmann <dborkman@redhat.com>
Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: netdev@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7129/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
If VLAN_TAG_PRESENT is not zero, then return 1 as expected by
classic BPF. Otherwise return 0.
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Daniel Borkmann <dborkman@redhat.com>
Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: netdev@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7128/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Using VLAN_VID_MASK is not correct to get the vlan tag. Use
~VLAN_PRESENT_MASK instead and make sure it's u16 so the top 16-bits
will be removed. This will ensure that the emit_andi() code will not
treat this as a big 32-bit unsigned value.
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Daniel Borkmann <dborkman@redhat.com>
Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: netdev@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7127/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
The sltiu and sltu instructions will set the scratch register
to 1 if A <= X|K so fix the emitted branch conditional to check
for scratch != zero rather than scratch >= zero which would complicate
the resuling branch logic given that MIPS does not have a BGT or BGET
instructions to compare general purpose registers directly.
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Daniel Borkmann <dborkman@redhat.com>
Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: netdev@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7126/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
The SKF_AD_PKTTYPE uses the skb pointer so make sure it's in the
flags so it will be initialized in time.
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Daniel Borkmann <dborkman@redhat.com>
Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: netdev@vger.kernel.org
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7125/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>