Similarly to what I did to iwl_run_init_mvm_ucode, there is no
need to pass the read_nvm parameter. Either we have an NVM
and we don't need to read it, or we don't and we need to read it.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20201209231352.1b764faecfee.I2da0ada577fc16268125a4a15b5e725c18c643ee@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Curretly we only mark HW error state "after" trying to collect HW data,
but if any HW error happens while colleting HW data we go into endless
loop. avoid this by setting HW error state "before" collecting HW data.
Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20201209231352.4c7e5a87da15.Ic35b2f28ff08f7ac23143c80f224d52eb97a0454@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Add support to the 6GHz band (aka. Ultra High Band or UHB). This
allows us to scan and connect to channels in that band, including all
the relevant features, such as preferred scan channels, colocated
channels etc.
Co-developed-by: Haim Dreyfuss <haim.dreyfuss@intel.com>
Signed-off-by: Haim Dreyfuss <haim.dreyfuss@intel.com>
Co-developed-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Co-developed-by: Tova Mussai <tova.mussai@intel.com>
Signed-off-by: Tova Mussai <tova.mussai@intel.com>
Co-developed-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Co-developed-by: Tali Levi Rovinsky <Tali.Levi-rovinsky@intel.com>
Signed-off-by: Tali Levi Rovinsky <Tali.Levi-rovinsky@intel.com>
Co-developed-by: Avraham Stern <avraham.stern@intel.com>
Signed-off-by: Avraham Stern <avraham.stern@intel.com>
Co-developed-by: Ayala Beker <ayala.beker@intel.com>
Signed-off-by: Ayala Beker <ayala.beker@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20201210000657.0fdbfc3d7352.Idb648536faf21716e2ab2c6d6890d3e49f719cd3@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
This data is not necessarily the same across devices as we may
modify it due to the number of antennas and for overrides (though
in practice overrides are likely to be identical), so modifying
the global data is wrong.
Make a copy of it in the NVM data and modify it there instead.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20201209231352.6b4ee30c59e4.I0c30ef78b3bf727fe80b16a19c7588016d6b04bf@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
We no longer need code that was introduced to differentiate
between two early versions of 8260.
We can remove this convoluted way to get the hardware version
that was needed because of a bug in the register's
configuration.
Moreover, since we no longer need to access the PRPH
registers, we no longer need to wake up the device,
request ownership, etc...
Remove all that.
This allows us to get the rid of the obsolete comment
about the AUX bus MISC address space which should have
been moved when this code was moved away from here.
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20201209231352.4a5665ccd8a6.Iff3879405c15758ba661c430e77dc2160ddada1c@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
This command should be used only when there's a real client station.
Currently it works, but since soon the driver will stop actually having
an auxiliary station by default, and this command requires _some_ valid
station, it needs to be removed from this flow.
Signed-off-by: Naftali Goldstein <naftali.goldstein@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20201209231352.81b2acfe292b.I8c7372e6f72279e22966a2d0a9066521f9d2f1a0@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Fix the following sparse warning:
drivers/firmware/xilinx/zynqmp.c:32:1: warning: symbol 'pm_api_features_map' was not declared. Should it be static?
Signed-off-by: Zou Wei <zou_wei@huawei.com>
Link: https://lore.kernel.org/r/1606823513-121578-1-git-send-email-zou_wei@huawei.com
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
The check_spi_bus_bridge() in scripts/dtc/checks.c requires that the node
have "spi-slave" property must with "#address-cells = <0>" and
"#size-cells = <0>". But currently both "#address-cells" and "#size-cells"
properties are deleted, the corresponding default values are 2 and 1. As a
result, the check fails and below warnings is displayed.
arch/arm/boot/dts/mmp2.dtsi:472.23-480.6: Warning (spi_bus_bridge): \
/soc/apb@d4000000/spi@d4037000: incorrect #address-cells for SPI bus
also defined at arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts:225.7-237.3
arch/arm/boot/dts/mmp2.dtsi:472.23-480.6: Warning (spi_bus_bridge): \
/soc/apb@d4000000/spi@d4037000: incorrect #size-cells for SPI bus
also defined at arch/arm/boot/dts/mmp2-olpc-xo-1-75.dts:225.7-237.3
arch/arm/boot/dts/mmp2-olpc-xo-1-75.dtb: Warning (spi_bus_reg): \
Failed prerequisite 'spi_bus_bridge'
Because the value of "#size-cells" is already defined as zero in the node
"ssp3: spi@d4037000" in arch/arm/boot/dts/mmp2.dtsi. So we only need to
explicitly add "#address-cells = <0>" and keep "#size-cells" no change.
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Link: https://lore.kernel.org/r/20201207084752.1665-2-thunder.leizhen@huawei.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Header adds defines for the gpio number of each pad from the driver view.
The gpio block seems to have enough registers for 128 lines but what line
is mapped to a physical pin depends on the chip. The gpio block also seems
to contain some registers that are not related to gpio but needed somewhere
to go.
Because of the above the driver itself uses the index of a pin's offset in
an array of the possible offsets for a chip as the gpio number.
Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
In the commit 1c96dcceae
("KVM: x86: fix apic_accept_events vs check_nested_events"),
we accidently started latching SIPIs that are received while the cpu is not
waiting for them.
This causes vCPUs to never enter a halted state.
Fixes: 1c96dcceae ("KVM: x86: fix apic_accept_events vs check_nested_events")
Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
Message-Id: <20201203143319.159394-2-mlevitsk@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
For the sake of consistency add leading 0 to first register offsets
to make them all of the same width.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Currently header file uses partially BIT() and GENMASK() macros.
Switch it to use those macros in all cases where it's applicable
for the sake of consistency.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Starting with
commit 75820314de ("i2c: core: add generic I2C GPIO recovery")
GPIO bus recovery is supported by the I2C core, so we can remove the
driver implementation and use that one instead.
Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
When a driver tries to send an I2C message while the adapter is
suspended, this typically fails with:
i2c-sh_mobile e60b0000.i2c: Transfer request timed out
Avoid accessing the adapter while it is suspended by marking it
suspended during suspend. This allows the I2C core to catch this, and
print a warning:
WARNING: CPU: 1 PID: 13 at drivers/i2c/i2c-core.h:54
__i2c_transfer+0x4a4/0x4e4
i2c i2c-6: Transfer while suspended
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Add S500 variant to the list of devices supported by the Actions Semi
Owl I2C driver.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
Convert the Actions Semi Owl I2C DT binding to a YAML schema for
enabling DT validation.
Additionally, add a new compatible string corresponding to the I2C
controller found in the S500 variant of the Actions Semi Owl SoCs
family.
Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@gmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
This series contains the remaining genpd changes for omap4/5,
and dra7 to add the power domain and reset control data to
omap-prm driver. We also update several devices to probe without
platform data to get us closer to booting omap4/5, and dra7
without platform data.
There is also a build fix for the earlier am437x series that
I should have applied into a separate branch on top of the
am437x breaking commit. It ended here as I was originally
planning to send out a single pull request for all the genpd
changes, but then decided to break it down to smaller chunks.
It's all really a larger single git branch though, so this
should be OK and I really did not want to start reorganizing
the branch after testing it and having it sit in Linux next.
The changes done here are:
- Clock driver needs idlest check dropped for IVA for omap4
and dra7
- Add remaining power domain and reset control data to
omap-prm driver for omap4/5 and dra7
- Add device tree data for remaining power domains and
reset control for omap4/5 and dra7 dts files
- Update dss, dsp, iva and gpmc dts files to use genpd
and to drop the remaining platform data
- Update dss for omap5 to use genpd
- Update dra7 iva to to use genpd and to drop the remaining
platform data
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAl/F638RHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXPU8A//VkYz9rymFJ9ijKeZknzv0v8CTXXRyHDw
yOsOQq54gWgALzUdnk/V/fi0jBBuSvGmu+yy9bHlMu7SjhFaMcwO50bcmRce5izP
z6psqkkJE2q2lNaKqrZGWBVI7BMYFMsZ8FNZvwWCW6Qqv2uD8MpYj36xcXEgUCoC
Z6fUqhbEteHrd6zWGnn4t5PMnSynczJ0oaobvkgtu4XIAH9MLhLdMMRP94gbvIu6
VhcwZfd3xMK6MgOBME2GSckvEjT4Kd8sZdETU4B9A71/HqZnjQHq1kxId7L+v7xj
4VHXimaG+RMAxAGZ4/AD2Waw6JFfpQW+iGscAmvPMYHStvJsI8k8PqBuXxY0bx+3
sHl2f5SMIU1GhvuoAc/q0U2vYCldb7Q9QHZyogqhbKw0yA0B8QeDdLLU1lP9mwFu
Nks2PKnROeUahWdF2QZkPRjeh/t38kjx4RITn98ERF7WHiMB5Pxrc4o/HQrfjVH8
vjexU3hDyTzu9gkLaZfEzeyjHihMoVWFiSjdiegi987nHzbJ6pGX9D6jqffs5/zI
lTx3MVyJEzrGc3jsOr6adtPTiLv0R+oWiytJPcCKKlmPNbcpsfj64qkO2n2VteGP
PFLJ0UBZZKno/xKMzEjNN8EeEL+bBNnm04tCGOe6PXrYb+a+2MTWp81FkkdYXpBZ
Re0GS8Vi95w=
=XwQW
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v5.11/genpd-rest-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/omap-genpd
Remaining genpd changes for omaps for v5.11
This series contains the remaining genpd changes for omap4/5,
and dra7 to add the power domain and reset control data to
omap-prm driver. We also update several devices to probe without
platform data to get us closer to booting omap4/5, and dra7
without platform data.
There is also a build fix for the earlier am437x series that
I should have applied into a separate branch on top of the
am437x breaking commit. It ended here as I was originally
planning to send out a single pull request for all the genpd
changes, but then decided to break it down to smaller chunks.
It's all really a larger single git branch though, so this
should be OK and I really did not want to start reorganizing
the branch after testing it and having it sit in Linux next.
The changes done here are:
- Clock driver needs idlest check dropped for IVA for omap4
and dra7
- Add remaining power domain and reset control data to
omap-prm driver for omap4/5 and dra7
- Add device tree data for remaining power domains and
reset control for omap4/5 and dra7 dts files
- Update dss, dsp, iva and gpmc dts files to use genpd
and to drop the remaining platform data
- Update dss for omap5 to use genpd
- Update dra7 iva to to use genpd and to drop the remaining
platform data
* tag 'omap-for-v5.11/genpd-rest-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: Fix am4 only build after genpd changes
ARM: dts: Configure power domain for omap5 dss
ARM: dts: omap5: add remaining PRM instances
soc: ti: omap-prm: omap5: add genpd support for remaining PRM instances
ARM: OMAP2+: Drop legacy platform data for dra7 gpmc
ARM: dts: Configure interconnect target module for dra7 iva
ARM: dts: dra7: add remaining PRM instances
soc: ti: omap-prm: dra7: add genpd support for remaining PRM instances
clk: ti: dra7: Drop idlest polling from IVA clkctrl clocks
ARM: OMAP2+: Drop legacy platform data for omap4 gpmc
ARM: OMAP2+: Drop legacy platform data for omap4 iva
ARM: dts: Configure power domain for omap4 dsp
ARM: dts: Configure power domain for omap4 dss
ARM: dts: omap4: add remaining PRM instances
soc: ti: omap-prm: omap4: add genpd support for remaining PRM instances
clk: ti: omap4: Drop idlest polling from IVA clkctrl clocks
Link: https://lore.kernel.org/r/pull-1606806458-694517@atomide.com-4
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Similar to am335x, we can now update am437x dts files to boot
with genpd and simple-pm-bus, and drop the related platform data.
To do that, we need to do the following changes for am437x:
- Update the clock driver to keep the l3_main clock always on for
suspend and resume to work
- Add power domain and reset controller data to omap-prm driver
- Configure interconnect clocks for system timers as those are
now managed separately by the drivers/clocksource drivers
- Update control module, wkup_m3, emif, ocmcram, mpuss and l3_noc
for device tree data and drop the legacy platform data
- Update the interconnect instances to boot with gendp and
simple-pm-bus
- Drop the remaining platform data for am437x
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAl/F5xkRHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXMYLg/9Fxe3ruwrkHRdFY85Xa+6oImhYx6cJ2BS
N9yDNxgdS+gumtKYslz6hGH/DYuXTIvU7pTP+fU4b8a/c/p4vUgymDJErr/oEMqQ
gQK+80cdFDkJ2Vizh5i1eXGtrU3Ued1AgkP+/tEi3GQxNaqwffmapdN6OlUYosMt
cwS6HRinke4unBluf1YYWhM0me/VkRy1ZC21+3DLv/iv13IQcRf29ZGDeAuxZCaD
zXnpKHLN1u23L4tz53ZMPpWYc3AoyUhRa0bR4pYU0XUES4KxpzQwUTFS6+yVfHgo
hYRzloosGrZV3p+oOp3fJfffMIPCW1Gc5jlCYVF8P1ftIyztxrqZPm93v9qLlSK5
72oQmaC2QQofYZNN38ScuRwOXT7oB4YZ+kck5vmZudwrHBhoIPxb+kCY1/cR1G0w
zrj62h9MDoRTbsdBRoIYI7tKnLpaNovn8HKBS52gYI4PVEMwOZ6+jGK55sIDTagi
XE57ARzN3hS6iPmFG9vVW0cgrWv+ZTmVmakc4RIp3lWnw6CpOVbHHiyCTaR9i8fp
ggfxvHsj6Ga/MKGiZ+M44cVX6osCt+IC1iZJ6rc50wYQrqG6PawCAG+2BD11gcmX
pRb5lL6YvNJaoIV5g+d0XBS3uT0c/b7gjUK6vk050WqFoXPI0BU/I3vvTR1A/+VT
BkztNOABDdM=
=pL35
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v5.11/genpd-am437x-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/omap-genpd
Update am473x to boot without platform data
Similar to am335x, we can now update am437x dts files to boot
with genpd and simple-pm-bus, and drop the related platform data.
To do that, we need to do the following changes for am437x:
- Update the clock driver to keep the l3_main clock always on for
suspend and resume to work
- Add power domain and reset controller data to omap-prm driver
- Configure interconnect clocks for system timers as those are
now managed separately by the drivers/clocksource drivers
- Update control module, wkup_m3, emif, ocmcram, mpuss and l3_noc
for device tree data and drop the legacy platform data
- Update the interconnect instances to boot with gendp and
simple-pm-bus
- Drop the remaining platform data for am437x
* tag 'omap-for-v5.11/genpd-am437x-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: Drop legacy remaining legacy platform data for am4
ARM: dts: Use simple-pm-bus for genpd for am4 l3
ARM: dts: Move am4 l3 noc to a separate node
ARM: dts: Use simple-pm-bus for genpd for am4 l4_per
ARM: dts: Use simple-pm-bus for genpd for am4 l4_fast
ARM: dts: Use simple-pm-bus for genpd for am4 l4_wkup
ARM: OMAP2+: Drop legacy platform data for am4 mpuss
ARM: OMAP2+: Drop legacy platform data for am4 ocmcram
ARM: OMAP2+: Drop legacy platform data for am4 emif
ARM: OMAP2+: Drop legacy platform data for am4 wkup_m3
ARM: dts: Configure interconnect target module for am4 wkup_m3
ARM: dts: Configure RTC powerdomain for am4
ARM: OMAP2+: Drop legacy platform data for am4 control module
ARM: dts: Configure also interconnect clocks for am4 system timer
ARM: dts: am43xx: add remaining PRM instances
soc: ti: omap-prm: am4: add genpd support for remaining PRM instances
clk: ti: am437x: Keep am4 l3 main clock always on for genpd
Link: https://lore.kernel.org/r/pull-1606806458-694517@atomide.com-3
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
With the driver updates done for genpd support, we can now update
am335x dts files to boot with genpd and simple-pm-bus, and drop
the related platform data.
To do that, we need to do the following changes for am335x:
- Add the remaining power domain and reset controller instances
- Configure interconnect clocks for system timers as those are
now managed separately by the drivers/clocksource drivers
- Update control module, RTC, gpmc, debugss, emif, ocmcram,
instr, and mpuss for device tree data and drop the legacy
platform data
- Update the interconnect instances to boot with gendp and
simple-pm-bus
- Drop the remaining platform data for am335x
- Add kconfig option for OMAP_HWMOD to build it only for the
SoCs that need it
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAl/F4nwRHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXNsWRAAlwakVozZ5W/MyXk1cCwLsiAb/I7F7WCZ
46SPfqQO6vVdXeYH3QethbW20lSqCcij0MJUA257Ct0AKD+oKnqH852gLSKSspWb
Z1Bk7EFcRU7+yuUUANVQnF0QKiX8R1OTrqAssgsdS4n0QclNa3/0z333s5ZhZENd
zMCHPUU1ksV/+TaPgLPUCZccefZKG4ZgqdHSSNoPKofGl0llxUJ5nvSddW0fdYYf
Xri1hJhNwQDVkm3bdyY+0zm7C5pOL1eXdbsaCCFiGqCRe8p5n7OTgFp55j61oJ3+
M8sE35W+IdnKpb2k8FypQIJZSP7gxrJ+fxUYGavZkuWcXSncTiqEh/dD/JOJ/lu7
nJapP5Wo/RxUnxDvvN9JV9/1YgPJlHgYb5YanVgmRS4Hn7z7yIuQ1H2iMszMObmz
CdTBX2X4OoU79RpbvtJLBw9qst2z8rOExZZ4lp30ac9s3Y0P4xYYARKhAFOKPp7U
nwBjUWCDG2XyssKfVqu4Jv5KojYeV7eINj0U1y8Roe6pNvclnF84WXtChobBqirU
6mKTDgqAe1j5rem4cAU4xnD38/SXCWzm+3BWZVhByhIHJ/OZjwEx0KTF9ILs1ZnF
5ZlwlOQzPmAkTAzGMdl0ICcFprKZ6isuW/Qam3PIsNNyZzUvVN8Lxcxk1VsNjeGK
rYIk9OM6OKc=
=bUX2
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v5.11/genpd-am335x-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/omap-genpd
Update am335x to boot without platform data
With the driver updates done for genpd support, we can now update
am335x dts files to boot with genpd and simple-pm-bus, and drop
the related platform data.
To do that, we need to do the following changes for am335x:
- Add the remaining power domain and reset controller instances
- Configure interconnect clocks for system timers as those are
now managed separately by the drivers/clocksource drivers
- Update control module, RTC, gpmc, debugss, emif, ocmcram,
instr, and mpuss for device tree data and drop the legacy
platform data
- Update the interconnect instances to boot with gendp and
simple-pm-bus
- Drop the remaining platform data for am335x
- Add kconfig option for OMAP_HWMOD to build it only for the
SoCs that need it
* tag 'omap-for-v5.11/genpd-am335x-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
ARM: OMAP2+: Build hwmod related code as needed
ARM: OMAP2+: Drop legacy remaining legacy platform data for am3
ARM: dts: Use simple-pm-bus for genpd for am3 l3
ARM: dts: Use simple-pm-bus for genpd for am3 l4_per
ARM: dts: Use simple-pm-bus for genpd for am3 l4_fast
ARM: dts: Use simple-pm-bus for genpd for am3 l4_wkup
ARM: OMAP2+: Drop legacy platform data for am3 mpuss
ARM: OMAP2+: Drop legacy platform data for am3 instr
ARM: OMAP2+: Drop legacy platform data for am3 ocmcram
ARM: OMAP2+: Drop legacy platform data for am3 emif
ARM: OMAP2+: Drop legacy platform data for am3 debugss
ARM: OMAP2+: Drop legacy platform data for am3 and am4 gpmc
ARM: OMAP2+: Drop legacy platform data for am3 wkup_m3
ARM: dts: Configure interconnect target module for am3 wkup_m3
ARM: dts: Configure RTC powerdomain for am3
ARM: OMAP2+: Drop legacy platform data for am3 control module
ARM: dts: Configure also interconnect clocks for am4 system timer
ARM: dts: am33xx: add remaining PRM instances
Link: https://lore.kernel.org/r/pull-1606806458-694517@atomide.com-2
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This series of changes allows booting am335x with genpd and
device tree data without the legacy platform data. Also at
least am437x can be booted with gendp with power domain and
dts data. The SoC specific dts changes will be a separate
pull request.
We need the following driver changes merged before the dts
changes can be done:
- platform code needs a few improvments to probe l4_wkup first
for clocks, and to bail out when there is no platform data
- ti-sysc driver needs a non-urgent fix for asserting rstctrl
reset only after disabling the clocks, to probe modules with
no known control registers, and added quirk handling for gpmc
devices
- omap-prm driver needs a non-urgent fix for reset status bit,
support added for pm_clk, and then we add the rest of am335x
power domain data
- clock driver for am335x needs to keep l3_main clock enabled
with genpd for suspend and resume to work
- wkup_m3 remoteproc driver needs support added for reset
control if available instead of the legacy pdata callbacks
- pm33xx driver needs PM runtime support added for genpd
The am335x specific driver changes for the clock, wkup_m3,
pm33xx and remoteproc drivers are quite trivial and have not
caused merge conflicts in Linux next. I did not get acks for
these changes except from Santosh but had already pushed out
the branch already at that point. So I've added the related
driver maintainers to Cc.
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEEkgNvrZJU/QSQYIcQG9Q+yVyrpXMFAl/F39ARHHRvbnlAYXRv
bWlkZS5jb20ACgkQG9Q+yVyrpXPlMxAAopqsCU/8vqw9EiLrvwhxuXQ6ZesvoqWO
5JjIyksRA9DOtQvgLzQCnIzeJs/Rdb5dFR9Qs3DS3WCAVWE5aSQ298xSRbBVuGte
E0idXRpib7LAtyMqkvYjtbm6vullINI0+LzhKuo4aeBQjW2go6jf+XEDUlopV3WF
/PxpQ0jhBrJ3uaBA5PyKtDvj/d2rqMv87Dcw77PJYxxg39JbmAJhfuaGfA1eCm+k
f4tIEcYVzyxV727NY5eHoUVWwlQ+JfBf0GtjVbYMeTABaWOZX2NfLje/zNK3Ub+j
ZDzLhtFEyU12HQnth0cetEFUb71RGR32jzzoV2Z2jMO7hdxa5qDI/tv+YtX843e8
kgibmNVoSt4RModNZVM9tUvsHF7xdEWcxdTqKLhbWfr6iMHFMY05IF+f6p59eEMm
zBkw7lGk8j84CpzuYVtSekDiZ3Qcj8nwSjssDXSrb82zm0dyaDH/Gegcuo33WW+c
cHgH9L2i+roQ1L3Fzdh/CEf6Ij97FnLTGqw4ReZaiT1YWiS0MeoBIB5wNWds91XR
EBhtatqH5p8czt5c0nzcponTuyNCKyQtOPCoiUN94HCSg8Z7U38ehia5wDT8ARTX
OnXFnSNGKSpS1OsOUJ+WgUI9La5WCL0ewp8eOk/e5G4b7oM8N2cyrhcypQ9KgT2R
/ks8kVb0l4k=
=V41a
-----END PGP SIGNATURE-----
Merge tag 'omap-for-v5.11/genpd-drivers-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into arm/omap-genpd
Driver changes for omaps for genpd for v5.11 merge window
This series of changes allows booting am335x with genpd and
device tree data without the legacy platform data. Also at
least am437x can be booted with gendp with power domain and
dts data. The SoC specific dts changes will be a separate
pull request.
We need the following driver changes merged before the dts
changes can be done:
- platform code needs a few improvments to probe l4_wkup first
for clocks, and to bail out when there is no platform data
- ti-sysc driver needs a non-urgent fix for asserting rstctrl
reset only after disabling the clocks, to probe modules with
no known control registers, and added quirk handling for gpmc
devices
- omap-prm driver needs a non-urgent fix for reset status bit,
support added for pm_clk, and then we add the rest of am335x
power domain data
- clock driver for am335x needs to keep l3_main clock enabled
with genpd for suspend and resume to work
- wkup_m3 remoteproc driver needs support added for reset
control if available instead of the legacy pdata callbacks
- pm33xx driver needs PM runtime support added for genpd
The am335x specific driver changes for the clock, wkup_m3,
pm33xx and remoteproc drivers are quite trivial and have not
caused merge conflicts in Linux next. I did not get acks for
these changes except from Santosh but had already pushed out
the branch already at that point. So I've added the related
driver maintainers to Cc.
* tag 'omap-for-v5.11/genpd-drivers-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
remoteproc/wkup_m3: Use reset control driver if available
soc: ti: pm33xx: Enable basic PM runtime support for genpd
soc: ti: omap-prm: am3: add genpd support for remaining PRM instances
soc: ti: omap-prm: Add pm_clk for genpd
clk: ti: am33xx: Keep am3 l3 main clock always on for genpd
bus: ti-sysc: Implement GPMC debug quirk to drop platform data
bus: ti-sysc: Support modules without control registers
ARM: OMAP2+: Probe PRCM first to probe l4_wkup with simple-pm-bus
ARM: OMAP2+: Check for inited flag
bus: ti-sysc: Assert reset only after disabling clocks
soc: ti: omap-prm: Do not check rstst bit on deassert if already deasserted
bus: ti-sysc: Fix bogus resetdone warning on enable for cpsw
bus: ti-sysc: Fix reset status check for modules with quirks
ARM: OMAP2+: Fix missing select PM_GENERIC_DOMAINS_OF
ARM: OMAP2+: Fix location for select PM_GENERIC_DOMAINS
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Not resetting the SMT siblings might leave them in unpredictable
state. One of the observed problems was that the CPU timer wasn't
reset and therefore large system time values where accounted during
CPU bringup.
Cc: <stable@kernel.org> # 4.0
Fixes: 10ad34bc76 ("s390: add SMT support")
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Currently only idle_task_exit() explicitly switches (switch_mm) to
init_mm. This causes the kernel asce to be loaded into cr7 and
therefore it would be used for potential user space accesses.
This is currently no problem since idle_task_exit() is nearly the last
thing a CPU executes before it is taken down. However things might
change - and therefore make sure that always the invalid asce is used
for cr7 when active_mm is init_mm.
This makes sure that all potential user space accesses will fail,
instead of accessing kernel address space.
Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
When a machine check interrupt is triggered during idle, the code
is using the async timer/clock for idle time calculation. It should use
the machine check enter timer/clock which is passed to the macro.
Fixes: 0b0ed657fe ("s390: remove critical section cleanup from entry.S")
Cc: <stable@vger.kernel.org> # 5.8
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
During removal of the critical section cleanup the calculation
of mt_cycles during idle was removed. This causes invalid
accounting on systems with SMT enabled.
Fixes: 0b0ed657fe ("s390: remove critical section cleanup from entry.S")
Cc: <stable@vger.kernel.org> # 5.8
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
More and more functionality from the early boot phase gets carried over
to the decompressor. With this the complexity of the code and thus the
chance to introduce bugs increases. In order to be able to debug these
early boot bugs the distributions have to package the decompressors
vmlinux together with the other debuginfos. However for that the
distributions require the vmlinux to contain a build-id.
Per default the section containing the build-id is placed first in the
section table. So make sure to move it behind the .text section
otherwise the image would be unbootable.
Signed-off-by: Philipp Rudo <prudo@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
diag308 subcode 0 performes a clear reset which inlcudes the reset of
all registers in the system. While this is the preferred behavior when
loading a normal kernel via kexec it prevents the crash kernel to store
the register values in the dump. To prevent this use subcode 1 when
loading a crash kernel instead.
Fixes: ee337f5469 ("s390/kexec_file: Add crash support to image loader")
Cc: <stable@vger.kernel.org> # 4.17
Signed-off-by: Philipp Rudo <prudo@linux.ibm.com>
Reported-by: Xiaoying Yan <yiyan@redhat.com>
Tested-by: Lianbo Jiang <lijiang@redhat.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Use of sch->dev reference after the put_device() call could trigger
the use-after-free bugs.
Fix this by simply adjusting the position of put_device.
Fixes: 37db8985b2 ("s390/cio: add basic protected virtualization support")
Reported-by: Hulk Robot <hulkci@huawei.com>
Suggested-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Qinglang Miao <miaoqinglang@huawei.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Vineeth Vijayan <vneethv@linux.ibm.com>
[vneethv@linux.ibm.com: Slight modification in the commit-message]
Signed-off-by: Vineeth Vijayan <vneethv@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
The stm32 timers example name should match the pattern timer@. Also,
the example is based on stm32mp1 timer 2, so the identifier should be
'1' instead of '0' (e.g. timer 1).
Fixes: bfbcbf88f9 ("dt-bindings: timer: Convert stm32 timer bindings to json-schema")
Signed-off-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
Link: https://lore.kernel.org/r/1606913114-25693-1-git-send-email-fabrice.gasnier@foss.st.com
Signed-off-by: Rob Herring <robh@kernel.org>
The vrf_add_mac_header_if_unset() is defined within a conditional
compilation block which depends on the CONFIG_IPV6 macro.
However, the vrf_add_mac_header_if_unset() needs to be called also by IPv4
related code and when the CONFIG_IPV6 is not set, this function is missing.
As a consequence, the build process stops reporting the error:
ERROR: implicit declaration of function 'vrf_add_mac_header_if_unset'
The problem is solved by *only* moving functions
vrf_add_mac_header_if_unset() and vrf_prepare_mac_header() out of the
conditional block.
Reported-by: kernel test robot <lkp@intel.com>
Fixes: 0489390882 ("vrf: add mac header for tunneled packets when sniffer is attached")
Signed-off-by: Andrea Mayer <andrea.mayer@uniroma2.it>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://lore.kernel.org/r/20201208175210.8906-1-andrea.mayer@uniroma2.it
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1. Mark PM functions of newly added clkout module as unused to silence
!CONFIG_PM warnings.
2. Initialize ChipID driver later - in arch initcall.
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAl/N3LYQHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD1ypgEACCrGfUogzHx4fnqx6C4awccW6zm+ZfZFOv
XkPu42tj5GaxpHUn0X4ICTsyEjOnZRp0DSKLwyUQuxTY9Y7jftceo59fiG1jZjtE
tabhwGfqC63KSftVkgNa0vvmvn6D4z99/ogbAG7O6X+X68g+ha6nIOba0tKpWMMZ
MXa9zdKxJmUBvo80glYmsJuA+GtPWNDEnVvM3LLvZo8j+9v1EdCCMMjrX2rl3V7q
RRuvyzmAiVTM6K5WZ4KNvnFUCU6qGPBRVATp1WVDO3cpHrfvw91//Hv7+p/df2KG
hyhq5N6is0WYJnKEcPuqtBNUzFwjt2xN5LSCJu8dCGzn+VdXkT5WTrc14cLq4QAS
LsclYkaKz/nEwwR9lfM6ELLM+Mj76T8/t0ZC+XV/fJo4kocDCeDSWlDkNmPJ6yqe
1+T/Zda/MED9DFVbmPnYqgbVDLXLpt+2S1OD0AGeVyrcWAPvRVMEXvcM21Vej0OB
KeLKX5HLm1JRNkMbNN6h//pgxL//8c3Z4AE4272nP7I5ZvodUNg/LIHrapOha92j
EJYE40ek4925OwLBtp2tjE9M0IqLSDCPcjGlGtQXYU440Sjz+3MUbQQimbLAKBv/
d67OuLsXTu+9JTA8U/8y+OxS55gBKbk/HdCNNehUGRg3YDjtQ3ih9NC2jUycAjY3
zlU56B20tw==
=VCRg
-----END PGP SIGNATURE-----
Merge tag 'samsung-drivers-5.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/drivers
Samsung SoC drivers changes for v5.11, part two
1. Mark PM functions of newly added clkout module as unused to silence
!CONFIG_PM warnings.
2. Initialize ChipID driver later - in arch initcall.
* tag 'samsung-drivers-5.11-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
clk: samsung: mark PM functions as __maybe_unused
soc: samsung: exynos-chipid: initialize later - with arch_initcall
soc: samsung: exynos-chipid: order list of SoCs by name
Link: https://lore.kernel.org/r/20201207074528.4475-1-krzk@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Tigerlake is plagued by spontaneous DMAR faults [reason 7, next page
table ptr is invalid] which lead to GPU hangs. These faults occur when
an iommu map is immediately reused. Adding further clflushes and
barriers around either the GTT PTE or iommu PTE updates do not prevent
the faults. So far the only effect has been from inducing a delay
between reuse of the iommu on the GPU, and applying the delay at the
iommu map allows for the smallest stable delay.
Note that such a delay is hideous and clearly does not fix the root cause,
and so should only be a bandaid until a complete solution is found. The
delay was determined by running igt/gem_exec_fence/parallel in a loop for
a few hours (unpatched MTBF is about 10s).
We have also seen such DMAR fault [reason 7] errors on other platforms,
notably gen9-gen11, but so far it has only been trivially and
consistently reproduced on Tigerlake.
v2: Leave a tell-tale to know when we apply the vt'd quirk, and as a
reminder to remove it again. Hopefully.
Testcase: igt/gem_exec_fence/parallel
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Acked-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201209164008.5487-2-chris@chris-wilson.co.uk
A call to wait for the GT to idle from inside the put_pages fallback is
prone to cause an uninterruptible livelock. As it does not provide
adequate serialisation with new requests, simply fallback to a trivial
sleep.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201209164008.5487-1-chris@chris-wilson.co.uk
Since ext4_data_block_valid() has been renamed to ext4_inode_block_valid(),
the related comments need to be updated.
Signed-off-by: Chunguang Xu <brookxu@tencent.com>
Reviewed-by: Andreas Dilger <adilger@dilger.ca>
Link: https://lore.kernel.org/r/1604764698-4269-5-git-send-email-brookxu@tencent.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
In commit a2d375eda7 ("dyndbg: refine export, rename to
dynamic_debug_exec_queries()"), a string is copied before checking it
isn't NULL. Fix this, report a usage/interface error, and return the
proper error code.
Fixes: a2d375eda7 ("dyndbg: refine export, rename to dynamic_debug_exec_queries()")
Cc: stable@vger.kernel.org
--
-v2 drop comment tweak, improve commit message
Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
Link: https://lore.kernel.org/r/20201209183625.2432329-1-jim.cromie@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Checking !list_empty(&ctx->cq_overflow_list) around noflush in
io_cqring_events() is racy, because if it fails but a request overflowed
just after that, io_cqring_overflow_flush() still will be called.
Remove the second check, it shouldn't be a problem for performance,
because there is cq_check_overflow bit check just above.
Cc: <stable@vger.kernel.org> # 5.5+
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
It's not safe to call io_cqring_overflow_flush() for IOPOLL mode without
hodling uring_lock, because it does synchronisation differently. Make
sure we have it.
As for io_ring_exit_work(), we don't even need it there because
io_ring_ctx_wait_and_kill() already set force flag making all overflowed
requests to be dropped.
Cc: <stable@vger.kernel.org> # 5.5+
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
IOPOLL allows buffer remove/provide requests, but they doesn't
synchronise by rules of IOPOLL, namely it have to hold uring_lock.
Cc: <stable@vger.kernel.org> # 5.7+
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>