Arnd asks for the DCC driver to be dropped for now, in order to allow
for more thorough review, by a wider audience, of the ABI introduced.
The Devicetree binding is adequately describing the hardware block, so
this is kept.
Requested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Remove PARIDE core and high level protocols, taking care not to break
low-level drivers (used by pata_parport). Also update documentation.
Signed-off-by: Ondrej Zary <linux@zary.sk>
Acked-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
MT8195 VPPSYS 0/1 should be probed from mtk-mmsys driver to
populate device by platform_device_register_data then start
its own clock driver.
Signed-off-by: Moudy Ho <moudy.ho@mediatek.com>
Link: https://lore.kernel.org/r/20230118031509.29834-2-moudy.ho@mediatek.com
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Add MT7981 clock support, include topckgen, apmixedsys, infracfg and
ethernet subsystem clocks.
The drivers are based on clk-mt7981.c which can be found in MediaTek's
SDK sources. To be fit for upstream inclusion the driver has been split
into clock domains and the infracfg part has been significantly
de-bloated by removing all the 1:1 factors (aliases).
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Link: https://lore.kernel.org/r/8136eb5b2049177bc2f6d3e0f2aefecc342d626f.1674703830.git.daniel@makrotopia.org
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
[sboyd@kernel.org: Add module license]
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Add MT7981 clock dt-bindings, include topckgen, apmixedsys,
infracfg, and ethernet subsystem clocks.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Link: https://lore.kernel.org/r/e353d32b5a4481766519a037afe1ed44e31ece1a.1674703830.git.daniel@makrotopia.org
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
There are no more non-common calls in clk_mt7986_topckgen_probe():
migrate this driver to mtk_clk_simple_probe().
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Miles Chen <miles.chen@mediatek.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20230120092053.182923-24-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Instead of calling clk_prepare_enable() on a bunch of clocks at probe
time, set the CLK_IS_CRITICAL flag to the same as these are required
to be always on, and this is the right way of achieving that.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: Miles Chen <miles.chen@mediatek.com>
Link: https://lore.kernel.org/r/20230120092053.182923-23-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Migrate away from custom probe functions and use the commonized
mtk_clk_simple_{probe, remove}().
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Miles Chen <miles.chen@mediatek.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20230120092053.182923-22-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
As done with MT8192, migrate MT8186 topckgen away from a custom probe
function and use mtk_clk_simple_{probe, remove}().
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Miles Chen <miles.chen@mediatek.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20230120092053.182923-21-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Since the common simple probe function for MediaTek clock drivers can
now register the MFG MUX notifier, it's possible to migrate MT8192's
topckgen to that, allowing for some code size reduction.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Tested-by: Miles Chen <miles.chen@mediatek.com>
Link: https://lore.kernel.org/r/20230120092053.182923-20-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
In preparation for commonizing topckgen probe on various MediaTek SoCs
clock drivers, add the ability to register the MFG MUX notifier in
mtk_clk_simple_probe() by passing a custom notifier register function
pointer, as this function will be slightly different across different
SoCs.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Tested-by: Miles Chen <miles.chen@mediatek.com>
Link: https://lore.kernel.org/r/20230120092053.182923-19-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Join the two to register them in one shot.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20230120092053.182923-18-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Like done for MT8192, join the two to register them in one shot, as
there's no point in doing that separately from one another.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230120092053.182923-17-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
These two are both mtk_composite arrays, one dependent on another, but
that's something that the clock framework is supposed to sort out and
anyway registering them separately isn't going to ease the framework's
job in checking dependencies.
Put the contents of top_adj_divs in top_muxes to join them together
and register them in one shot.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Tested-by: Miles Chen <miles.chen@mediatek.com>
Link: https://lore.kernel.org/r/20230120092053.182923-16-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
This driver is registered early in clk_mt8192_top_init_early() and
then again in clk_mt8192_top_probe(): the difference between the
two is that the early one is probed with CLK_OF_DECLARE_DRIVER and
the latter is regularly probed as a platform_driver.
Knowing that it is not necessary for this platform to register the
TOP_CSW_F26M_D2 clock that early, move it to top_divs and register
it with the others during platform_driver probe for topckgen;
While at it, since the only reason why the early probe existed was
to register that clock, remove that entirely - leaving this driver
to use only platform_driver.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Miles Chen <miles.chen@mediatek.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Tested-by: Miles Chen <miles.chen@mediatek.com>
Link: https://lore.kernel.org/r/20230120092053.182923-15-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Function mtk_clk_simple_probe() gained the ability to register multiple
clock types: migrate MT8173's pericfg and topckgen to this common
probe function to reduce duplication and code size.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Miles Chen <miles.chen@mediatek.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20230120092053.182923-14-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
As a preparation to increase probe functions commonization across
various MediaTek SoC clock controller drivers, extend function
mtk_clk_simple_probe() to be able to register not only gates, but
also fixed clocks, factors, muxes and composites.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Miles Chen <miles.chen@mediatek.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Tested-by: Miles Chen <miles.chen@mediatek.com>
Link: https://lore.kernel.org/r/20230120092053.182923-13-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
mtk_clk_simple_probe() is a function that registers mtk gate clocks
and, if reset data is present, a reset controller and across all of
the MTK clock drivers, such a function is duplicated many times:
switch to the common mtk_clk_simple_probe() function for all of the
clock drivers that are registering as platform drivers.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Miles Chen <miles.chen@mediatek.com>
Tested-by: Miles Chen <miles.chen@mediatek.com>
Link: https://lore.kernel.org/r/20230120092053.182923-12-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Split the giant clock driver for MT8173 into smaller drivers and
make it possible to build the non boot critical clock controller
drivers as modules by adding remove functions and both module
description and license where needed.
While at it, also change a mtk_register_reset_controller() call
to mtk_register_reset_controller_with_dev() in mt8173-infracfg.
Some spare code style cleanups were also performed.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230120092053.182923-11-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
The entire point of mtk_clk_enable_critical() is to raise the refcount
of some clocks so that they won't be turned off during runtime, but
this is the same as what the CLK_IS_CRITICAL flag does.
Set CLK_IS_CRITICAL on all of the critical clocks and remove the
aforementioned function as a cleanup.
No functional changes.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20230120092053.182923-10-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
This driver is using CLK_OF_DECLARE() for all clocks: while this
definitely works, it's not preferred as this makes it impossible
to compile non boot critical clock drivers as modules and to take
advantage of clock controller Runtime PM.
As a preparation for a larger cleanup, migrate all of the clock
controller drivers for MT8173 to platform_driver and use the
common mtk_clk_simple_probe() where possible; while at it, also
add proper error handling to the various probe functions.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Link: https://lore.kernel.org/r/20230120092053.182923-9-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
In order to migrate some (few) old clock drivers to the common
mtk_clk_simple_probe() function, add dummy clock ops to be able
to insert a dummy clock with ID 0 at the beginning of the list.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Miles Chen <miles.chen@mediatek.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Tested-by: Miles Chen <miles.chen@mediatek.com>
Link: https://lore.kernel.org/r/20230120092053.182923-8-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Like done for other clocks, propagate struct device for mtk mux clocks
registered through clk-mux helpers to enable runtime pm support.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Tested-by: Miles Chen <miles.chen@mediatek.com>
Link: https://lore.kernel.org/r/20230120092053.182923-7-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Like done for cpumux clocks, propagate struct device for composite
clocks registered through clk-mtk helpers to be able to get runtime
pm support for MTK clocks.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Tested-by: Miles Chen <miles.chen@mediatek.com>
Link: https://lore.kernel.org/r/20230120092053.182923-6-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Take a pointer to a struct device in mtk_clk_register_cpumuxes() and
propagate the same to mtk_clk_register_cpumux() => clk_hw_register().
Even though runtime pm is unlikely to be used with CPU muxes, this
helps with code consistency and possibly opens to commonization of
some mtk_clk_register_(x) functions.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: Markus Schneider-Pargmann <msp@baylibre.com>
Tested-by: Miles Chen <miles.chen@mediatek.com>
Link: https://lore.kernel.org/r/20230120092053.182923-5-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Commit e4c23e19aa ("clk: mediatek: Register clock gate with device")
introduces a helper function for the sole purpose of propagating a
struct device pointer to the clk API when registering the mtk-gate
clocks to take advantage of Runtime PM when/where needed and where
a power domain is defined in devicetree.
Function mtk_clk_register_gates() then becomes a wrapper around the
new mtk_clk_register_gates_with_dev() function that will simply pass
NULL as struct device: this is essential when registering drivers
with CLK_OF_DECLARE instead of as a platform device, as there will
be no struct device to pass... but we can as well simply have only
one function that always takes such pointer as a param and pass NULL
when unavoidable.
This commit removes the mtk_clk_register_gates() wrapper and renames
mtk_clk_register_gates_with_dev() to the former and all of the calls
to either of the two functions were fixed in all drivers in order to
reflect this change; also, to improve consistency with other kernel
functions, the pointer to struct device was moved as the first param.
Since a lot of MediaTek clock drivers are actually registering as a
platform device, but were still registering the mtk-gate clocks
without passing any struct device to the clock framework, they've
been changed to pass a valid one now, as to make all those platforms
able to use runtime power management where available.
While at it, some much needed indentation changes were also done.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: Markus Schneider-Pargmann <msp@baylibre.com>
Tested-by: Miles Chen <miles.chen@mediatek.com>
Link: https://lore.kernel.org/r/20230120092053.182923-4-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
Convert instances of mtk_clk_register_gates() to use the newer
mtk_clk_register_gates_with_dev() to propagate struct device to
the clk framework.
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Tested-by: Miles Chen <miles.chen@mediatek.com>
Link: https://lore.kernel.org/r/20230120092053.182923-3-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
If anything fails during probe of the clock controller(s), unregister
(and kfree!) whatever we have previously registered to leave with a
clean state and prevent leaks.
Fixes: 710573dee3 ("clk: mediatek: Add MT8192 basic clocks support")
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
Reviewed-by: Markus Schneider-Pargmann <msp@baylibre.com>
Tested-by: Miles Chen <miles.chen@mediatek.com>
Link: https://lore.kernel.org/r/20230120092053.182923-2-angelogioacchino.delregno@collabora.com
Tested-by: Mingming Su <mingming.su@mediatek.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
The pata_parport is a libata-based replacement of the old PARIDE
subsystem - driver for parallel port IDE devices.
It uses the original paride low-level protocol drivers but does not
need the high-level drivers (pd, pcd, pf, pt, pg). The IDE devices
behind parallel port adapters are handled by the ATA layer.
This will allow paride and its high-level drivers to be removed.
Unfortunately, libata drivers cannot sleep so pata_parport claims
parport before activating the ata host and keeps it claimed (and
protocol connected) until the ata host is removed. This means that
no devices can be chained (neither other pata_parport devices nor
a printer).
paride and pata_parport are mutually exclusive because the compiled
protocol drivers are incompatible.
Tested with:
- Imation SuperDisk LS-120 and HP C4381A (EPAT)
- Freecom Parallel CD (FRPW)
- Toshiba Mobile CD-RW 2793008 w/Freecom Parallel Cable rev.903 (FRIQ)
- Backpack CD-RW 222011 and CD-RW 19350 (BPCK6)
The following bugs in low-level protocol drivers were found and will
be fixed later:
Note: EPP-32 mode is buggy in EPAT - and also in all other protocol
drivers - they don't handle non-multiple-of-4 block transfers
correctly. This causes problems with LS-120 drive.
There is also another bug in EPAT: EPP modes don't work unless a 4-bit
or 8-bit mode is used first (probably some initialization missing?).
Once the device is initialized, EPP works until power cycle.
So after device power on, you have to:
echo "parport0 epat 0" >/sys/bus/pata_parport/new_device
echo pata_parport.0 >/sys/bus/pata_parport/delete_device
echo "parport0 epat 4" >/sys/bus/pata_parport/new_device
(autoprobe will initialize correctly as it tries the slowest modes
first but you'll get the broken EPP-32 mode)
Note: EPP modes are buggy in FRPW, only modes 0 and 1 work.
Signed-off-by: Ondrej Zary <linux@zary.sk>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Acked-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
The Q variable was being used but never correctly set up. Add the
setting up and use in place of @.
Signed-off-by: Ian Rogers <irogers@google.com>
Link: https://lore.kernel.org/r/20230126190606.40739-3-irogers@google.com
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Including from tools/lib can create inadvertent dependencies. Install
libsubcmd in the objtool build and then include the headers from
there.
Signed-off-by: Ian Rogers <irogers@google.com>
Link: https://lore.kernel.org/r/20230126190606.40739-2-irogers@google.com
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
The recent commit 76d588dddc ("powerpc/imc-pmu: Fix use of mutex in
IRQs disabled section") fixed warnings (and possible deadlocks) in the
IMC PMU driver by converting the locking to use spinlocks.
It also converted the init-time nest_init_lock to a spinlock, even
though it's not used at runtime in IRQ disabled sections or while
holding other spinlocks.
This leads to warnings such as:
BUG: sleeping function called from invalid context at include/linux/percpu-rwsem.h:49
in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1, name: swapper/0
preempt_count: 1, expected: 0
CPU: 7 PID: 1 Comm: swapper/0 Not tainted 6.2.0-rc2-14719-gf12cd06109f4-dirty #1
Hardware name: Mambo,Simulated-System POWER9 0x4e1203 opal:v6.6.6 PowerNV
Call Trace:
dump_stack_lvl+0x74/0xa8 (unreliable)
__might_resched+0x178/0x1a0
__cpuhp_setup_state+0x64/0x1e0
init_imc_pmu+0xe48/0x1250
opal_imc_counters_probe+0x30c/0x6a0
platform_probe+0x78/0x110
really_probe+0x104/0x420
__driver_probe_device+0xb0/0x170
driver_probe_device+0x58/0x180
__driver_attach+0xd8/0x250
bus_for_each_dev+0xb4/0x140
driver_attach+0x34/0x50
bus_add_driver+0x1e8/0x2d0
driver_register+0xb4/0x1c0
__platform_driver_register+0x38/0x50
opal_imc_driver_init+0x2c/0x40
do_one_initcall+0x80/0x360
kernel_init_freeable+0x310/0x3b8
kernel_init+0x30/0x1a0
ret_from_kernel_thread+0x5c/0x64
Fix it by converting nest_init_lock back to a mutex, so that we can call
sleeping functions while holding it. There is no interaction between
nest_init_lock and the runtime spinlocks used by the actual PMU routines.
Fixes: 76d588dddc ("powerpc/imc-pmu: Fix use of mutex in IRQs disabled section")
Tested-by: Kajol Jain<kjain@linux.ibm.com>
Reviewed-by: Kajol Jain<kjain@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20230130014401.540543-1-mpe@ellerman.id.au
Missed some Tegra-specific quirks when reworking ACR to support Ampere.
Fixes: 2541626cfb ("drm/nouveau/acr: use common falcon HS FW code for ACR FWs")
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Tested-by: Diogo Ivo <diogo.ivo@tecnico.ulisboa.pt>
Tested-by: Nicolas Chauvet <kwizart@gmail.com>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230130223715.1831509-3-bskeggs@redhat.com
Turing apparently needs to use the same register we use on Ampere.
Not executing the scrubber ucode when required would result in large
areas of VRAM being inaccessible to the driver.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230130223715.1831509-2-bskeggs@redhat.com
Starting from Turing, the driver is no longer responsible for initiating
DEVINIT when required as the GPU started loading a FW image from ROM and
executing DEVINIT itself after power-on.
However - we apparently still need to wait for it to complete.
This should correct some issues with runpm on some systems, where we get
control of the HW before it's been fully reinitialised after resume from
suspend.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230130223715.1831509-1-bskeggs@redhat.com
The IRQ core expects that users of the default hardirq handler specify
IRQF_ONESHOT to keep interrupts disabled until the threaded handler
runs. That meets the CXL driver's expectations since it is an edge
triggered MSI and this flag would have been passed by default using
pci_request_irq() instead of devm_request_threaded_irq().
Fixes: a49aa8141b ("cxl/mem: Wire up event interrupts")
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Julia Lawall <julia.lawall@lip6.fr>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Cc: Ira Weiny <ira.weiny@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
- mark D1 CPUX clock as critical
- reuse D1 driver for R528/T113
- cleanup sunxi-ng kconfig
- fix sunxi-ng kernel-doc issues
- model H3/H5 DRAM clock as fixed clock
-----BEGIN PGP SIGNATURE-----
iHUEABYIAB0WIQSPRixG1tysKC2PKM10Ba7+DO8kkwUCY9RR7AAKCRB0Ba7+DO8k
kwtnAQCF0dEsAEoD4/I1f0TPcHldCEvXqhbF4FlMEVo8KAruuQEAl9vMMDCiG3eh
+G4e2aS4q3rqkg+szT4A8PIl8XXoSAw=
=uDD3
-----END PGP SIGNATURE-----
Merge tag 'sunxi-clk-for-6.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into clk-allwinner
Pull Allwinner clk driver updates from Jernej Skrabec:
- add D1 CAN bus gates and resets
- mark D1 CPUX clock as critical
- reuse D1 driver for R528/T113
- cleanup sunxi-ng kconfig
- fix sunxi-ng kernel-doc issues
- model H3/H5 DRAM clock as fixed clock
* tag 'sunxi-clk-for-6.3-1' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
clk: sunxi-ng: d1: Add CAN bus gates and resets
dt-bindings: clock: Add D1 CAN bus gates and resets
clk: sunxi-ng: d1: Mark cpux clock as critical
clk: sunxi-ng: d1: Allow building for R528/T113
clk: sunxi-ng: Move SoC driver conditions to dependencies
clk: sunxi-ng: Remove duplicate ARCH_SUNXI dependencies
clk: sunxi-ng: Avoid computing the rate twice
clk: sunxi-ng: h3/h5: Model H3 CLK_DRAM as a fixed clock
clk: sunxi-ng: fix ccu_mmc_timing.c kernel-doc issues
This reverts commit cf517fef60.
The commit cf517fef60 ("pinctrl: aspeed: Force to disable the
function's signal") exposed a problem with fetching the regmap for
reading the GFX register.
The Romulus machine the device tree contains a gpio hog for GPIO S7.
With the patch applied:
Muxing pin 151 for GPIO
Disabling signal VPOB9 for VPO
aspeed-g5-pinctrl 1e6e2080.pinctrl: Failed to acquire regmap for IP block 1
aspeed-g5-pinctrl 1e6e2080.pinctrl: request() failed for pin 151
The code path is aspeed-gpio -> pinmux-g5 -> regmap -> clk, and the
of_clock code returns an error as it doesn't have a valid struct clk_hw
pointer. The regmap call happens because pinmux wants to check the GFX
node (IP block 1) to query bits there.
For reference, before the offending patch:
Muxing pin 151 for GPIO
Disabling signal VPOB9 for VPO
Want SCU8C[0x00000080]=0x1, got 0x0 from 0x00000000
Disabling signal VPOB9 for VPOOFF1
Want SCU8C[0x00000080]=0x1, got 0x0 from 0x00000000
Disabling signal VPOB9 for VPOOFF2
Want SCU8C[0x00000080]=0x1, got 0x0 from 0x00000000
Enabling signal GPIOS7 for GPIOS7
Muxed pin 151 as GPIOS7
gpio-943 (seq_cont): hogged as output/low
We can't skip the clock check to allow pinmux to proceed, because the
write to disable VPOB9 will try to set a bit in the GFX register space
which will not stick when the IP is in reset. However, we do not want to
enable the IP just so pinmux can do a disable-enable dance for the pin.
For now, revert the offending patch while a correct solution is found.
Fixes: cf517fef60 ("pinctrl: aspeed: Force to disable the function's signal")
Link: https://github.com/openbmc/linux/issues/218
Signed-off-by: Joel Stanley <joel@jms.id.au>
Link: https://lore.kernel.org/r/20230130220845.917985-1-joel@jms.id.au
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* Add ~4kOhm bias support to Intel pin control drivers
* Convert Intel pin control drivers to use INTEL_COMMUNITY_*()
* Add struct pinfunction and use it in Intel pin control drivers
* Make pin control documentation up to date
* Miscellaneous cleanups
The following is an automated git shortlog grouped by driver:
pinctrl:
- Proofreading and updating the documentation accordingly
- Proofreading and updating the documentation (part 2)
alderlake:
- Replace ADL_COMMUNITY() by INTEL_COMMUNITY_GPPS()
baytrail:
- Convert to use new memeber in struct intel_function
broxton:
- Replace BXT_COMMUNITY() by INTEL_COMMUNITY_SIZE()
cannonlake:
- Replace CNL_COMMUNITY() by INTEL_COMMUNITY_GPPS()
cedarfork:
- Replace CDF_COMMUNITY() by INTEL_COMMUNITY_GPPS()
cherryview:
- Convert to use new memeber in struct intel_function
denverton:
- Replace DNV_COMMUNITY() by INTEL_COMMUNITY_GPPS()
elkhartlake:
- Replace EHL_COMMUNITY() by INTEL_COMMUNITY_GPPS()
emmitsburg:
- Replace EBG_COMMUNITY() by INTEL_COMMUNITY_GPPS()
geminilake:
- Replace GLK_COMMUNITY() by INTEL_COMMUNITY_SIZE()
icelake:
- Replace ICL_COMMUNITY() by INTEL_COMMUNITY_GPPS()
intel:
- Get rid of unused members in struct intel_function
- Make use of struct pinfunction and PINCTRL_PINFUNCTION()
- Define maximum pad number in the group
- Use same order of bit fields for PADCFG2
- Add ~4k bias support
- Add definitions to all possible biases
- Deduplicate some code in intel_config_set_pull()
- Add default case to intel_config_set_pull()
- Convert to generic_handle_domain_irq()
- Always use gpp_num_padown_regs in the main driver
- Introduce INTEL_COMMUNITY_*() to unify community macros
Introduce struct pinfunction and PINCTRL_PINFUNCTION() macro:
- Introduce struct pinfunction and PINCTRL_PINFUNCTION() macro
jasperlake:
- Replace JSL_COMMUNITY() by INTEL_COMMUNITY_GPPS()
lakefield:
- Replace LKF_COMMUNITY() by INTEL_COMMUNITY_GPPS()
lewisburg:
- Replace LBG_COMMUNITY() by INTEL_COMMUNITY_SIZE()
lynxpoint:
- Convert to use new memeber in struct intel_function
merrifield:
- Convert to use new memeber in struct intel_function
meteorlake:
- Replace MTL_COMMUNITY() by INTEL_COMMUNITY_GPPS()
moorefield:
- Convert to use new memeber in struct intel_function
sunrisepoint:
- Replace SPT_COMMUNITY() by INTEL_COMMUNITY_*()
tigerlake:
- Replace TGL_COMMUNITY() by INTEL_COMMUNITY_GPPS()
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEqaflIX74DDDzMJJtb7wzTHR8rCgFAmPYCVAACgkQb7wzTHR8
rCgn8g//csD+K8oI/IvvY61EiTO/3P+tBgVSphKGgxeVPVJ28nSkqSXaCp7PzgOq
IWKxfjIzX0IHtJ9Kdm0+P0966FzGz9dS1wo9yIW8/z5ZJ63RStRqW72Kg+99dC+w
T1k+JwqUY/qYYEqkYlOV2QzTNCAjDLKokI6gReSvsDeLJw7r9RMkh3xjYRieuIPE
g3anUadyVY7IEPJ/Jt1b6veolAV7vZmYO7fRzoXlhYh+KijSAqAKb16nygl1u1AR
BN1Db8rSIYFPdhMl2b/JEywCf2GO25DYDjczHt5tffzMNgFvbWce8CmQLYvXm7oR
303GM1tBY6ACgRzSIw9R7+1MRpCz90ftimK48HGq+6Gr93eJ+87OAwZMJf7pZktN
xCF73hqkXxIG9p47qhnAsg4StWqpkT7/YpicBwoRWqVx4gAhXxtVesO3bpB2C3Eg
8u+Fpmo2lTIxepRXsemDaMfRfJxk/bChiVGls7FLHHPgQfKuuaSMcApvx0FyWDen
m4AJ8tuWJ7mbOpzZUbaUb3zi1vpdrNmucf56YLjHS24zGgq1dha5iBwRDAYHOUgf
t5OiiYtVMNlUvFbL/yWlrc/bUxs2lqlzUhWAj+ixopP9bIAVMHz2i+vResgNcFI5
fRnSkZszV3kEltiEGD3iyeplp5rE9Ijdpkwde2KhMR7zmbPdDx0=
=ZLEJ
-----END PGP SIGNATURE-----
Merge tag 'intel-pinctrl-v6.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pinctrl/intel into devel
intel-pinctrl for v6.3-1
* Add ~4kOhm bias support to Intel pin control drivers
* Convert Intel pin control drivers to use INTEL_COMMUNITY_*()
* Add struct pinfunction and use it in Intel pin control drivers
* Make pin control documentation up to date
* Miscellaneous cleanups
The following is an automated git shortlog grouped by driver:
pinctrl:
- Proofreading and updating the documentation accordingly
- Proofreading and updating the documentation (part 2)
alderlake:
- Replace ADL_COMMUNITY() by INTEL_COMMUNITY_GPPS()
baytrail:
- Convert to use new memeber in struct intel_function
broxton:
- Replace BXT_COMMUNITY() by INTEL_COMMUNITY_SIZE()
cannonlake:
- Replace CNL_COMMUNITY() by INTEL_COMMUNITY_GPPS()
cedarfork:
- Replace CDF_COMMUNITY() by INTEL_COMMUNITY_GPPS()
cherryview:
- Convert to use new memeber in struct intel_function
denverton:
- Replace DNV_COMMUNITY() by INTEL_COMMUNITY_GPPS()
elkhartlake:
- Replace EHL_COMMUNITY() by INTEL_COMMUNITY_GPPS()
emmitsburg:
- Replace EBG_COMMUNITY() by INTEL_COMMUNITY_GPPS()
geminilake:
- Replace GLK_COMMUNITY() by INTEL_COMMUNITY_SIZE()
icelake:
- Replace ICL_COMMUNITY() by INTEL_COMMUNITY_GPPS()
intel:
- Get rid of unused members in struct intel_function
- Make use of struct pinfunction and PINCTRL_PINFUNCTION()
- Define maximum pad number in the group
- Use same order of bit fields for PADCFG2
- Add ~4k bias support
- Add definitions to all possible biases
- Deduplicate some code in intel_config_set_pull()
- Add default case to intel_config_set_pull()
- Convert to generic_handle_domain_irq()
- Always use gpp_num_padown_regs in the main driver
- Introduce INTEL_COMMUNITY_*() to unify community macros
Introduce struct pinfunction and PINCTRL_PINFUNCTION() macro:
- Introduce struct pinfunction and PINCTRL_PINFUNCTION() macro
jasperlake:
- Replace JSL_COMMUNITY() by INTEL_COMMUNITY_GPPS()
lakefield:
- Replace LKF_COMMUNITY() by INTEL_COMMUNITY_GPPS()
lewisburg:
- Replace LBG_COMMUNITY() by INTEL_COMMUNITY_SIZE()
lynxpoint:
- Convert to use new memeber in struct intel_function
merrifield:
- Convert to use new memeber in struct intel_function
meteorlake:
- Replace MTL_COMMUNITY() by INTEL_COMMUNITY_GPPS()
moorefield:
- Convert to use new memeber in struct intel_function
sunrisepoint:
- Replace SPT_COMMUNITY() by INTEL_COMMUNITY_*()
tigerlake:
- Replace TGL_COMMUNITY() by INTEL_COMMUNITY_GPPS()
Otherwise, last .atomic_write_task will be remained in structure
f2fs_inode_info, resulting in aborting atomic_write accidentally
in race case. Meanwhile, clear original_i_size as well.
Fixes: 7a10f0177e ("f2fs: don't give partially written atomic data from process crash")
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Commit 3db1de0e58 ("f2fs: change the current atomic write way")
removed old tracepoints, but it missed to add new one, this patch
fixes to introduce trace_f2fs_replace_atomic_write_block to trace
atomic_write commit flow.
Fixes: 3db1de0e58 ("f2fs: change the current atomic write way")
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
- Add pin groups for Video-In channels 4 and 5 on R-Car H3 ES1.x,
- Miscellaneous fixes and improvements.
-----BEGIN PGP SIGNATURE-----
iHUEABYIAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCY9OikgAKCRCKwlD9ZEnx
cOR6AP44CdQSYTJyvmVXgpAXWOXOi9Sb8qepzd+W8KTRnpKjjwEAsw0s47FX2UKn
42t+ogdLb9eqGezdciNJOsXF5ybJ4Ao=
=NQNh
-----END PGP SIGNATURE-----
Merge tag 'renesas-pinctrl-for-v6.3-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers into devel
pinctrl: renesas: Updates for v6.3
- Add pin groups for Video-In channels 4 and 5 on R-Car H3 ES1.x,
- Miscellaneous fixes and improvements.
- Merge of immutable bindings branch with Reset & power domain binding
- New boards:
- Odroid-N2L (Smaller version of Odroid-N2+)
- BananaPi M2-Pro (Variant of BPI=M5 with on-board wifi)
- Radxa Zero2 (New version of Radza Zero with A311D SoC)
- Add DT node for the VIPNano-QI on the A311D
- DT bindings fixups covering all SoC families
- MAC address nodes
- ethernet PHY node name
- scpi & child node names
- SD/SDIO node name
- USB supply name
- invalid clock-names
- rng node name
- rtc node name
- ETH phy mux node name
- button & adc keys node name
- leds node names
- RK818 pmic properties
- remove CPU opps below 1GHz for G12A boards, like it was done for G12B/SM1
- Fix WiFi/Bt definition around P212 & Khadas VIM1
- Add audio node to P212
- Fix FAN trip definition to Odroid-HC4
- Fix gpio-fan gpios definition
- Permit Radxa Zero OTG on USB1
- Fix VDDIO_C enable gpio by using OPEN DRAIN flag
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmPXyPgACgkQd9zb2sjI
SdGEThAArSPnao6jiA/XNx/Rdx1BASsLRsDRzK0KyZheekq6JyN9/X8Vp/t1bgxM
jYCvI2MsAeBx3YAsRVMfwK8FrDVe3vg/3C6H0UiUTb7GkhmSIb4aUEK/exTU2bGf
FbGK6S/RhTPg518xtw2ydRKQ74P+uPo1nPATqcJ7y5IcCTIKrdvdDe2bFC+aVgHb
44egFwqsG3HnkaHM0XcQeP3ttWPEc6dF29BG989JeW/LteU4P8ORfjj8xqI78l+m
1/mpl5/pHa+gurvPEsYTr1isDBEj/l5OHABvq/e/pO+7Rcl5Kk/iaV6cxvAmCgUz
MKAQveNcVjv5kh5fl1GEufCcdszqtmZKyjUthh3l4jHsmtgt5vSX/QTT5tgSPCe4
ppsuYnCxIkyaWNlCmvQeOOKIEJkGaTcvZxF+tL9uhLpvhsoB0jJWlERz5mHQTT4A
eo+ePoISW1nCJwHLV/tG+0SzyF44uFDbgnC48RlQ2kBv4bFYFSHsvC7cOk+y6K+g
BE4RVIrQkS1nMH79uS9OR9EdyD6BSdgarLIAv8aXtpfArZ6iOAMy4eeAyB5z2vy8
LaCXpRAJ+TchVytut+GDYG5XI4XBXUtXFBnbMKXC8WO9eVYPndpWNRz4pXGTDpvi
ZSkv0Nn/JTW7z1CONRkGyz2smBADkJHtrsrJXUECVg+MAtag+A0=
=OkGG
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPYP+gACgkQmmx57+YA
GNk7GBAAn6+qkRN6Kto6Drt7gNk/aiBMM9eFD22c1uuVqwBK5mQSQXIvR2uTr5Nn
3e1Dx3VC24Le7RkzNMP3FdH0xRsQApG7ooyYUFBlT8v257t298wBDa/XmkTkuH/m
gC3kaTJUO/heW2On2wF7BWKpkB6XnxjZtlbCKfan6rhcV4ozQDZd8pPF9UsMew7a
A82X8lT9UKTUxRpiJjD8u7hbYot7+9rOLQ79zPSnqKtrk8CzPDvQvcDKWZHTCjr3
TKl6O4dsXpr+TiUyAXCbrQwvru50TLKWKos+QgWBdoXlufZ82SI57vry4WNTI6hC
rxzez/B30c9u8GCZ2lMSNO75vxneGYRCEylyHsDeTWmeyWablb/N1PE+/WBgUTB8
V2RWoFinbKRfOfRGnAaCl2QsVOQocFjEZqltPz6lkp456QJJ2vimQ7B44f0Z8Qv0
SDZNUP6Npf3ksYl8Fis+q4DRyeIPbIxgrXS0A52uR6JL89QkV+sJ3rw29fGp71Fs
kKtHUuTyiWADkBGJ2wxPpG/Zub8suLKjWgz6ePaKgVfsjmLXV3SC/f5HfQ6qlJHp
UvM7lLFo1cTJkgY3lGSyFWGpGAi3a0AVEvHsp2yrhWGj7/2VYXXw9HEhtuKSPlMo
2KZAUB0bCw5/DqWARYk74U5WCxQrEw/MRk5QtYsozDV41E8K0I0=
=871y
-----END PGP SIGNATURE-----
Merge tag 'amlogic-arm64-dt-for-v6.3' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into arm/dt
Amlogic ARM64 DT changes for v6.3:
- Merge of immutable bindings branch with Reset & power domain binding
- New boards:
- Odroid-N2L (Smaller version of Odroid-N2+)
- BananaPi M2-Pro (Variant of BPI=M5 with on-board wifi)
- Radxa Zero2 (New version of Radza Zero with A311D SoC)
- Add DT node for the VIPNano-QI on the A311D
- DT bindings fixups covering all SoC families
- MAC address nodes
- ethernet PHY node name
- scpi & child node names
- SD/SDIO node name
- USB supply name
- invalid clock-names
- rng node name
- rtc node name
- ETH phy mux node name
- button & adc keys node name
- leds node names
- RK818 pmic properties
- remove CPU opps below 1GHz for G12A boards, like it was done for G12B/SM1
- Fix WiFi/Bt definition around P212 & Khadas VIM1
- Add audio node to P212
- Fix FAN trip definition to Odroid-HC4
- Fix gpio-fan gpios definition
- Permit Radxa Zero OTG on USB1
- Fix VDDIO_C enable gpio by using OPEN DRAIN flag
* tag 'amlogic-arm64-dt-for-v6.3' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux: (43 commits)
arm64: dts: meson: add support for Radxa Zero2
dt-bindings: arm: amlogic: add support for Radxa Zero2
arm64: dts: meson: add support for BananaPi M2-Pro
dt-bindings: arm: amlogic: add support for BananaPi M2-Pro
arm64: dts: meson: bananapi-m5: convert dts to dtsi
arm64: dts: meson: bananapi-m5: remove redundant status from sound node
arm64: dts: meson: bananapi-m5: switch VDDIO_C pin to OPEN_DRAIN
arm64: dts: meson: radxa-zero: allow usb otg mode
arm64: dts: meson-gxm-khadas-vim2: use gpio-fan matrix instead of an array
arm64: dts: meson-g12b-odroid: Add initial support for Hardkernel ODROID-N2L
arm64: dts: meson-g12b: move common node into new odroid.dtsi
dt-bindings: arm: amlogic: document Odroid-N2L
arm64: dts: amlogic: meson-sm1-odroid-hc4: fix active fan thermal trip
arm64: dts: meson: add audio playback to S905X-P212 dts
arm64: dts: meson: remove WiFi/BT nodes from Khadas VIM1
arm64: dts: meson: move pwm_ef node in P212 dtsi
arm64: dts: meson: add Broadcom WiFi to P212 dtsi
arm64: dts: amlogic: meson-g12b-odroid-go-ultra: fix rk818 pmic properties
arm64: dts: amlogic: meson-gxbb-kii-pro: fix led node name
arm64: dts: amlogic: meson-gxl-s905d-phicomm-n1: fix led node name
...
Link: https://lore.kernel.org/r/c1641ffd-71c9-9ac9-89d9-c22da4acea10@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- New board support: i.MX8MP Beacon Kit, Debix Model A Board,
Verdin Yavia boards.
- Add Flexcan and ADC support for i.MX93.
- A series from Krzysztof Kozlowski to align LED node names with
dtschema and use generic node name for rave-sp.
- Move PCIe controller clock setup from board dts to SoC dtsi.
- Add clock-cells to i.MX8MP hsio-blk-ctrl device.
- Add TMU phandle to calibration data in OCOTP for i.MX8M.
- Improve bluetooth UART on DH electronics i.MX8M Plus DHCOM.
- Drop sd-vsel-gpios from i.MX8M Verdin SoM and DHCOM SoM.
- A series from Peng Fan to improve iomuxc-gpr device for i.MX8M.
- Declare IOMMU cache-coherent page table walk feature for LS1028A and
LS1088A.
- A few small corrections and random updates.
-----BEGIN PGP SIGNATURE-----
iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmPXKqYUHHNoYXduZ3Vv
QGtlcm5lbC5vcmcACgkQUFdYWoewfM4N/gf/dx6v8lsL2Y05nlqZM0CqYc1cZSdx
eW/3LV0iBjLta5BzOTL5M/IjJoZ5xvPXNUqWPEN8dSu49nllLi5jW0e5h234mBca
ZeR100K2puJt4FO/KuTzVaVmRB+cclLSY2imNUU15ehVPyhMpPQa5iFHoOrkrnUR
dyqP3IlmtnsgOTCyCMFmAqLZwjhTISMEcD8jAGBpsZrZ4XK7ulD7rwz0joJbbUec
FtvhsY+2eNvKJ+mrIovJa2uP1qjz6a7JqtXf1QFuDHozqQShObpd28Ah4eBITIab
rGKoxeuuiCuhWk8COoFCbWlguvMq6P/GwDDZrdPl+g5f/vJIrPPQ1z8CCg==
=LIfH
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPYPxoACgkQmmx57+YA
GNmOpg/7BjP4E0fTpwW3LH38AhDFgWfytS19p/gCxK3sZ1/vvUJ30l+Fo+MsTAgX
uEUdpYfU1SwbyhAaLHsfk8YRjGFfJh05xeRc+gkBS3uqbFHS6VmpD2sowzu5ff/y
BJGLYImAbKRaUtqDK8omrNZtyC1DOUAEq90JfHU7VGZCI6aGR6gCE/385szrUMkO
lAA6xLriQ331WJ9ZdHsp2HtiNVh3byHOSLD7eVKbICdphSE/mCxyVDCu6jidJhXM
hfOXPT4O9mQupqIG13wtrPSKragc1YPJmZDRDzJ31XRejXSnWyshIA0nrs53gTPk
/usW9MBpCyJCHm0QQToBywnuacn63+qzmR/emoK3MmY3Y8GBpCG6Vj7w/uxPhv+r
i4k1/scfGKsxVtJg022gnk4NC3qw/0maWbFRGSqU7dP+cTVZHkEuctbUh6RwVJEX
GA9t9fbpUirmFPM7hxepZXJLCrxpwEpfOu4y3uTQDHE75zr5ZxXIpJPfgHA0BzJ4
/5AdcIJNDvnNS4DNYAUTDanoEM7eMjEnlJ+8kIo7KHKmgVfVs70wL1W2U6mX468x
LXGqrhZTbpqr+yqfzyEVQE3XnMvGjI7VwEpjWWWJgUFbG+hVbpvtbyUbEhxs5IxQ
6+OWdLJFyOWKUeGn3JT7QKqnS6sXwNzfvw7L4eN0jMxPjd+DxMs=
=t6jZ
-----END PGP SIGNATURE-----
Merge tag 'imx-dt64-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt
i.MX arm64 device tree change for 6.3:
- New board support: i.MX8MP Beacon Kit, Debix Model A Board,
Verdin Yavia boards.
- Add Flexcan and ADC support for i.MX93.
- A series from Krzysztof Kozlowski to align LED node names with
dtschema and use generic node name for rave-sp.
- Move PCIe controller clock setup from board dts to SoC dtsi.
- Add clock-cells to i.MX8MP hsio-blk-ctrl device.
- Add TMU phandle to calibration data in OCOTP for i.MX8M.
- Improve bluetooth UART on DH electronics i.MX8M Plus DHCOM.
- Drop sd-vsel-gpios from i.MX8M Verdin SoM and DHCOM SoM.
- A series from Peng Fan to improve iomuxc-gpr device for i.MX8M.
- Declare IOMMU cache-coherent page table walk feature for LS1028A and
LS1088A.
- A few small corrections and random updates.
* tag 'imx-dt64-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (50 commits)
arm64: ls1046ardb: Use in-band-status for SFP module
arm64: dts: imx8mp-verdin: Add yavia carrier board
arm64: dts: imx8mm-verdin: Add yavia carrier board
arm64: dts: imx8q: use generic node name for rave-sp
arm64: dts: imx8mp-verdin-dev: Do not include dahlia dtsi
arm64: dts: imx8mm-verdin-dev: Do not include dahlia dtsi
arm64: dts: imx8mp: Drop sd-vsel-gpios from i.MX8M Plus DHCOM SoM
arm64: dts: imx8mp: Drop sd-vsel-gpios from i.MX8M Plus Verdin SoM
arm64: dts: imx8mm: Drop sd-vsel-gpios from i.MX8M Mini Verdin SoM
arm64: dts: imx8mp: Improve bluetooth UART on DH electronics i.MX8M Plus DHCOM
arm64: dts: freescale: Introduce imx8mp-beacon-kit
arm64: dts: imx8mm-evk: use correct gpio-expander compatible
arm64: dts: imx93: add ADC support
arm64: dts: imx8mp: Reorder clock to match fsl,imx6q-pcie.yaml
arm64: dts: imx8mq: Deduplicate PCIe clock-names property
arm64: dts: imx8mm: Deduplicate PCIe clock-names property
arm64: dts: verdin-imx8mp: unify gpio-key node name
arm64: dts: ls1028a: sl28: get MAC addresses from VPD
arm64: dts: freescale: Add LVDS overlay for TQMa8MPxL
arm64: dts: imx8mp: Add LCDIF2 & LDB nodes
...
Link: https://lore.kernel.org/r/20230130023947.11780-5-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Use $(KHDR_INCLUDES) as lookup path for kernel headers. This prevents
building against kernel headers from the build environment in scenarios
where kernel headers are installed into a specific output directory
(O=...).
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: linux-kselftest@vger.kernel.org
Cc: Ingo Molnar <mingo@redhat.com>
Cc: <stable@vger.kernel.org> # 5.18+
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
- New board support: SK-iMX53, DHCOM i.MX6ULL based boards.
- Increase MMC maximum frequency for i.MXRT1050.
- A series from Krzysztof Kozlowski to align LED node names with
dtschema, and use use generic node name for rave-sp device.
- Use new media bus type macros for i.MX device trees.
- A series from Marcel Ziswiler to improve gpio-key for Colibri and
Apalis device trees.
- A series from Marek Vasut to drop interrupt-names from dma-apb device.
- A series from Philippe Schenker to disable USB over-current for
Colibri and Apalis boards.
- A few other small corrections and random changes.
-----BEGIN PGP SIGNATURE-----
iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmPXJMsUHHNoYXduZ3Vv
QGtlcm5lbC5vcmcACgkQUFdYWoewfM42WggAioylsMA3X2/Wq8m19Gwm49Xc8DGa
Fi12vlbkQy08LUFPH7/2vrE2AvhHcgc9MNnOTOyKBtG3ihqvFPFem3t15BZ8qdrt
O30qJYX9+uJf5dA3CI2UodNVSXTbuZifDxil9OPFzkYZDCxR/v620R/EfVwlWEH+
QFEqxOmsTFkELTXeHzpw1y+DbaVt3SMRNxXiZfBvY0J7vXEyMu7BsAKeR+IXyjfV
LYg8TZO9cB53axeikvv/Ebx1F5SCfb3OB9k/qDC20cBM7ENeZkTDweOs7OME17OB
r6ROTmP0E452o5/yyU6Ib1dgjolrd+Cl9HMjY/qaotw0KqDCG62tP4wk1g==
=Rwqo
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPYPq4ACgkQmmx57+YA
GNnH0xAAmmsxql/31QrZygfwRbIBSGKCOEPb33ORm/ARd33k9d1+J2l65pPRu4y/
EVef3T+zgFeC++egP45qrFe25J/pCrD2iNapya5P0ybT/G0QeM4UsGr4JSsq95nC
V1TNRlqlqL78QOfFIrtEbMtmZBuRn3oVg9KgJnxnBumDF+y6EEjdqNe9sUAbFJeN
dnC7K3g4tsijbWmOZbYBCL9FBegDKVw6j9pPAcT6BQevJCsb4nHGJ1JzMuYjqXXl
R8QzOIjGKicMuxTNpl1uVnyuaK2pmGiwa3r9fRlaz3eQxqSslHWNprcPLRnAZf2e
votSsldneDzYCY0BQYGUEneSp7rIwWjWTTPfcvJXRj7mniP97+O8QyheK1P/YMOA
a2KwriIexx7t6bZv/XMMrgjB9/04alEzpL/8AXXF7qglyaeoFis3eUiJQuRGD1OB
wjmYyeCf9HoYeKwWbTLddzKGgT84iOoV3Wa786n05iVrHQBdMMGUlrV2zX5chBxg
2p6lqr4lmkSUdIDCoEfRy4YqJqnMrMUH90445w6rwTxxSE3S1bc/7sfDJkyFKr7J
GJHb/wjHDAlojBWP51nKFinD0QcM0xM7RwYnQKqyVPpHKO9HXGvpAb6KBpaPqUBo
aTVsYgFExPkKhzN93jiyfTJOJLoKM8KODas52bRYhahTDHRxKak=
=1aTN
-----END PGP SIGNATURE-----
Merge tag 'imx-dt-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt
i.MX arm device tree change for 6.3:
- New board support: SK-iMX53, DHCOM i.MX6ULL based boards.
- Increase MMC maximum frequency for i.MXRT1050.
- A series from Krzysztof Kozlowski to align LED node names with
dtschema, and use use generic node name for rave-sp device.
- Use new media bus type macros for i.MX device trees.
- A series from Marcel Ziswiler to improve gpio-key for Colibri and
Apalis device trees.
- A series from Marek Vasut to drop interrupt-names from dma-apb device.
- A series from Philippe Schenker to disable USB over-current for
Colibri and Apalis boards.
- A few other small corrections and random changes.
* tag 'imx-dt-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (29 commits)
ARM: dts: imx6ull-dhcom: Add DHSOM based DRC02 board
ARM: dts: imx6ull-dhcom: Add DHCOM based PicoITX board
ARM: dts: imx6ull-dhcom: Add DH electronics DHCOM i.MX6ULL SoM and PDK2 board
ARM: dts: imx7s: correct iomuxc gpr mux controller cells
ARM: dts: imx: use generic node name for rave-sp
ARM: dts: ls1021a: Disable CAN nodes by default
ARM: dts: apalis/colibri-imx6/6ull/7: proper gpio-key node names
ARM: dts: colibri-imx6ull: improve wake-up with gpio key
ARM: dts: colibri-imx6: improve wake-up with gpio key
ARM: dts: imx: e70k02: Add touchscreen
ARM: dts: vfxxx: Swap SAI DMA order
ARM: dts: freescale: Use new media bus type macros
ARM: dts: tqma6ul + mba6ulx: Fix temperature sensor compatible
ARM: dts: imx: Add support for SK-iMX53 board
ARM: dts: imx7s: Drop dma-apb interrupt-names
ARM: dts: imx6ul: Drop dma-apb interrupt-names
ARM: dts: imx6sx: Drop dma-apb interrupt-names
ARM: dts: imx6qdl: Drop dma-apb interrupt-names
ARM: dts: mxs: Drop dma-apb interrupt-names
ARM: dts: imx6qdl: use MAC-address from nvmem
...
Link: https://lore.kernel.org/r/20230130023947.11780-4-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
- New board compatibles: Beacon EmbeddedWorks i.MX8M Plus kit,
DHCOM PDK2, PicoITX and DRC02, Enumerate Debix, Starterkit SK-iMX53,
verdin yavia carrier-board.
- Add vendor prefix for Polyhex Technology Co.
- A series from Krzysztof Kozlowski to fix up fsl,imx-gpc bindings.
- Add clock cells for imx8mp-hsio-blk-ctrl bindings.
- A series from Marek Vasut to shuffle i.MX8MM board entries.
- A couple changes from Stefan Wahren to update compatibles for i.MX28
based boards.
-----BEGIN PGP SIGNATURE-----
iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmPXHOQUHHNoYXduZ3Vv
QGtlcm5lbC5vcmcACgkQUFdYWoewfM6glgf/a3qSfIg5wGK3C0KEXqWzFfWIFRUk
ya3idK8x4rvCKEau4MpTZTQSW0o4+BuMMD/A0p+Eaz4y+vGeMNMNelD8lPhc1JuF
zxaatveiydrPFxRiKSUc3EE+RCtDLcJnqPSAcvX4Lzl0RAdVg8P+VjWMliWt5ZL1
iDkRA2xYkmkkzBmPzaShZyZ+o/d4r1r3hrqUwRu7SYsJwWGX5lT3DLZtafVciVFp
RbHTxKM7cQiboXZvj667LynUqdjrkrxjX5Bz24xxyKWL7omgwYWHyTYd6HLqkksQ
5GpVC+Dmo4gWaXuDbHIPn55utSdUhDChmaRGANPuXmyQPSLIin5yY+jgkw==
=+USu
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmPYPnMACgkQmmx57+YA
GNnQJBAAwkVek51qyNbZZBeQeQHoep+zK456N80TYb7VPk2JW+eh1XQFxt4NeGm2
yZ8w5BdVWZcGqXdEL2BvYkAg5L8/6yOe9k0vB3wd/yTU7BJDU2VyMy3wuENw0elX
ywGkNnaUZnhdtmtAeEvynldMFaT3dnGhnGvbvjb8V3P0vgwToKcKXTK30oULJq66
J887utqGUfJfjYfthJujzonvtWPXc/l4Xr3XCehW05OiCIcqzFWszCXqjv2lxHCQ
p5xxZe0TYST6wjUJKtCSPyP4/utB94Bre+CDxvIb45/tG8FcPURvIYDuWfuog5Bn
qu2YrHNYkSRKOoTy8ChkREw5U8RQECrgrYsrIx6HF2EuXIvnF6B+d5kVwLtgn+Dv
PcLE+PAzcdLgfCx4SGDOHVs54CkWAGpS6StRGty8znz+SKyQ6A751fyrcdYRdWpb
DzsThZLxi32Z9PXG1Xp7iL8PMfrZ8FnpBuFsJYWf0Gj2ZvaNILxPQ/YJZYIiMjOq
y5PURPo6lj9ys37NsOAQM//ctrMOP8eJLF9Gb3pKwY7+Ae3QadVx3HlF5haIw7yb
NKV3ywEOMm1Uiv4PUY62ysCCgwq6yQYDwiUna10QcDZH/9hrZJEzHE3ECbxVgk4w
rzOgLBSmT65I4CK3YghFLnAgq7DjjuIKyNbqDdAU6/Hs8rKruRw=
=pCXd
-----END PGP SIGNATURE-----
Merge tag 'imx-bindings-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/dt
i.MX DT bindings for 6.3:
- New board compatibles: Beacon EmbeddedWorks i.MX8M Plus kit,
DHCOM PDK2, PicoITX and DRC02, Enumerate Debix, Starterkit SK-iMX53,
verdin yavia carrier-board.
- Add vendor prefix for Polyhex Technology Co.
- A series from Krzysztof Kozlowski to fix up fsl,imx-gpc bindings.
- Add clock cells for imx8mp-hsio-blk-ctrl bindings.
- A series from Marek Vasut to shuffle i.MX8MM board entries.
- A couple changes from Stefan Wahren to update compatibles for i.MX28
based boards.
* tag 'imx-bindings-6.3' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
dt-bindings: arm: fsl: Add verdin yavia carrier-board
dt-bindings: arm: fsl: Add PDK2, PicoITX and DRC02 boards for the DHCOM i.MX6ULL SoM
dt-bindings: arm: Document the rest of i.MX28 based boards
dt-bindings: arm: fsl: Fix bindings for APF28Dev board
dt-bindings: power: fsl,imx-gpc: document interrupt-controller
dt-bindings: power: fsl,imx-gpc: correct compatibles
dt-bindings: power: fsl,imx-gpc: document fsl,imx6ul-gpc compatible
dt-bindings: arm: Add Beacon EmbeddedWorks i.MX8M Plus kit
dt-bindings: arm: Move i.MX8MM Cloos PHG Board to TQM entry
dt-bindings: arm: Split i.MX8M Plus DHCOM based boards
dt-bindings: arm: Split i.MX8M Mini NITROGEN SoM based boards
dt-bindings: arm: Move MX8Menlo board to i.MX8M Mini Toradex Verdin SoM entry
dt-bindings: soc: imx: add IOMUXC GPR support
dt-bindings: arm: fsl: Add the Starterkit SK-iMX53 board
dt-bindings: vendor-prefixes: add Startkit
dt-bindings: soc: imx8mp-hsio-blk-ctrl: add clock cells
dt-bindings: arm: fsl: Enumerate Debix Model A Board
dt-bindings: vendor-prefixes: Add Polyhex Technology Co.
Link: https://lore.kernel.org/r/20230130023947.11780-3-shawnguo@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>