]> git.ipfire.org Git - people/ms/linux.git/log
people/ms/linux.git
3 years agodt-bindings: mmc: sdhci-msm: document resets
Robert Marko [Mon, 4 Jul 2022 14:35:53 +0000 (16:35 +0200)] 
dt-bindings: mmc: sdhci-msm: document resets

Commit "mmc: sdhci-msm: Reset GCC_SDCC_BCR register for SDHC" added
support for utilizing a hardware reset and parsing it from DT, however
the bindings were not updated along with it.

So, document the usage of "resets" property with the limit of only one
item.

Signed-off-by: Robert Marko <robimarko@gmail.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20220704143554.1180927-1-robimarko@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: sdhci-of-at91: fix set_uhs_signaling rewriting of MC1R
Eugen Hristev [Thu, 30 Jun 2022 09:09:26 +0000 (12:09 +0300)] 
mmc: sdhci-of-at91: fix set_uhs_signaling rewriting of MC1R

In set_uhs_signaling, the DDR bit is being set by fully writing the MC1R
register.
This can lead to accidental erase of certain bits in this register.
Avoid this by doing a read-modify-write operation.

Fixes: d0918764c17b ("mmc: sdhci-of-at91: fix MMC_DDR_52 timing selection")
Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
Tested-by: Karl Olsen <karl@micro-technic.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20220630090926.15061-1-eugen.hristev@microchip.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: core: Replace with already defined values for readability
ChanWoo Lee [Wed, 6 Jul 2022 00:48:40 +0000 (09:48 +0900)] 
mmc: core: Replace with already defined values for readability

SD_ROCR_S18A is already defined and is used to check the rocr value, so
let's replace with already defined values for readability.

Signed-off-by: ChanWoo Lee <cw9316.lee@samsung.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20220706004840.24812-1-cw9316.lee@samsung.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agodt-bindings: mmc: samsung,s3c6410-sdhci: convert to dtschema
Krzysztof Kozlowski [Sun, 26 Jun 2022 12:03:42 +0000 (14:03 +0200)] 
dt-bindings: mmc: samsung,s3c6410-sdhci: convert to dtschema

Convert the Samsung SoC SDHCI Controller bindings to DT schema.

The original bindings were quite old and incomplete, so add during
conversion typical (already used) properties like reg, clocks,
interrupts.

The bindings were not precising the clocks, although the upstream DTS
and Linux driver were expecting bus clocks in certain patterns in any
order.  Document the status quo even though it is not a proper approach
for bindings.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20220626120342.38851-6-krzysztof.kozlowski@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agostaging: r8188eu: remove HW_VAR_MLME_SITESURVEY from SetHwReg8188EU()
Michael Straube [Mon, 11 Jul 2022 17:44:17 +0000 (19:44 +0200)] 
staging: r8188eu: remove HW_VAR_MLME_SITESURVEY from SetHwReg8188EU()

Remove the HW_VAR_MLME_SITESURVEY case from SetHwReg8188EU() and move
the functionality to two new functions in rtw_mlme_ext.c. This is part
of the ongoing effort to get rid of SetHwReg8188EU().

Tested-by: Philipp Hortmann <philipp.g.hortmann@gmail.com> # Edimax N150
Signed-off-by: Michael Straube <straube.linux@gmail.com>
Link: https://lore.kernel.org/r/20220711174417.10721-1-straube.linux@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
3 years agommc: tmio: avoid glitches when resetting
Wolfram Sang [Sat, 25 Jun 2022 13:17:22 +0000 (15:17 +0200)] 
mmc: tmio: avoid glitches when resetting

If we reset because of an error, we need to preserve values for the
clock frequency. Otherwise, glitches may be seen on the bus.

To achieve that, we introduce a 'preserve' parameter to the reset
function and the IP core specific reset callbacks to handle everything
accordingly.

Reported-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Link: https://lore.kernel.org/r/20220625131722.1397-1-wsa@kernel.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agomemstick/ms_block: Use the bitmap API when applicable
Christophe JAILLET [Sat, 25 Jun 2022 12:56:05 +0000 (14:56 +0200)] 
memstick/ms_block: Use the bitmap API when applicable

Use bitmap_equal() instead of hand writing it. It improves semantic and
avoids some explicit computation to convert a number of bits to a number of
bytes.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/b216df8798f765ab14bce65739c220643320f376.1656155715.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agomemstick/ms_block: Fix a memory leak
Christophe JAILLET [Sat, 25 Jun 2022 12:55:56 +0000 (14:55 +0200)] 
memstick/ms_block: Fix a memory leak

'erased_blocks_bitmap' is never freed. As it is allocated at the same time
as 'used_blocks_bitmap', it is likely that it should be freed also at the
same time.

Add the corresponding bitmap_free() in msb_data_clear().

Fixes: 0ab30494bc4f ("memstick: add support for legacy memorysticks")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/b3b78926569445962ea5c3b6e9102418a9effb88.1656155715.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agomemstick/ms_block: Fix some incorrect memory allocation
Christophe JAILLET [Sat, 25 Jun 2022 12:55:25 +0000 (14:55 +0200)] 
memstick/ms_block: Fix some incorrect memory allocation

Some functions of the bitmap API take advantage of the fact that a bitmap
is an array of long.

So, to make sure this assertion is correct, allocate bitmaps with
bitmap_zalloc() instead of kzalloc()+hand-computed number of bytes.

While at it, also use bitmap_free() instead of kfree() to keep the
semantic.

Fixes: 0ab30494bc4f ("memstick: add support for legacy memorysticks")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/dbf633c48c24ae6d95f852557e8d8b3bbdef65fe.1656155715.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: renesas_sdhi: Fix typo's
Lad Prabhakar [Fri, 24 Jun 2022 18:14:38 +0000 (19:14 +0100)] 
mmc: renesas_sdhi: Fix typo's

Fix typo's,
* difference -> different
* alignment -> aligned

While at it updated the comment to make it clear that Renesas SDHI DMAC
needs buffers to be 128-byte aligned.

Reported-by: Pavel Machek <pavel@denx.de>
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20220624181438.4355-3-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: renesas_sdhi: Get the reset handle early in the probe
Lad Prabhakar [Fri, 24 Jun 2022 18:14:37 +0000 (19:14 +0100)] 
mmc: renesas_sdhi: Get the reset handle early in the probe

In case of devm_reset_control_get_optional_exclusive() failure we returned
directly instead of jumping to the error path to roll back initialization.

This patch moves devm_reset_control_get_optional_exclusive() early in the
probe so that we have the reset handle prior to initialization of the
hardware.

Fixes: b4d86f37eacb7 ("mmc: renesas_sdhi: do hard reset if possible")
Reported-by: Pavel Machek <pavel@denx.de>
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20220624181438.4355-2-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: sdhci-of-esdhc: Fixup use of of_find_compatible_node()
Liang He [Tue, 21 Jun 2022 06:52:59 +0000 (14:52 +0800)] 
mmc: sdhci-of-esdhc: Fixup use of of_find_compatible_node()

Callers of of_find_compatible_node() should drop the reference count
accordingly, so let's do that.

Signed-off-by: Liang He <windhl@126.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20220621065259.4079817-1-windhl@126.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: sdhci-pci-gli: Fix build error unused-function
Ren Zhijie [Sun, 19 Jun 2022 10:47:12 +0000 (18:47 +0800)] 
mmc: sdhci-pci-gli: Fix build error unused-function

If CONFIG_PM is not set.

make ARCH=x86_64 CROSS_COMPILE=x86_64-linux-gnu-, will be failed, like this:

drivers/mmc/host/sdhci-pci-gli.c:834:13: error: ‘gl9763e_set_low_power_negotiation’ defined but not used [-Werror=unused-function]
 static void gl9763e_set_low_power_negotiation(struct sdhci_pci_slot *slot, bool enable)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[3]: *** [drivers/mmc/host/sdhci-pci-gli.o] Error 1

To fix building warning, wrap all related code with CONFIG_PM.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Ren Zhijie <renzhijie2@huawei.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20220619104712.125364-1-renzhijie2@huawei.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: core: Do not evaluate HS400 capabilities if bus has no MMC capability
Alexander Stein [Tue, 14 Jun 2022 11:39:05 +0000 (13:39 +0200)] 
mmc: core: Do not evaluate HS400 capabilities if bus has no MMC capability

If 'no-mmc' is set but 'no-mmc-hs400' is not, this warning is raised.
Specifying 'no-mmc' should be enough though.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Link: https://lore.kernel.org/r/20220614113905.1458715-1-alexander.stein@ew.tq-group.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: host: Improve I/O read/write performance for GL9763E
Jason Lai [Mon, 13 Jun 2022 09:29:07 +0000 (17:29 +0800)] 
mmc: host: Improve I/O read/write performance for GL9763E

Due to flaws in hardware design, GL9763E takes long time to exit from L1
state. The I/O performance will suffer severe impact if it often enter and
exit L1 state during I/O requests.

To improve I/O read/write performance and take battery life into account,
let's turn on GL9763E L1 negotiation before entering runtime suspend and
turn off GL9763E L1 negotiation while executing runtime resume. That is to
say, GL9763E will not enter L1 state when executing I/O requests and enter
L1 state when PCIe bus idle.

Signed-off-by: Renius Chen <reniuschengl@gmail.com>
Signed-off-by: Jason Lai <jason.lai@genesyslogic.com.tw>
Link: https://lore.kernel.org/r/20220613092907.2502-1-jason.lai@genesyslogic.com.tw
[Ulf: Improved the commit message a bit]
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: sdhci-st: Obviously always return success in remove callback
Uwe Kleine-König [Fri, 10 Jun 2022 21:12:57 +0000 (23:12 +0200)] 
mmc: sdhci-st: Obviously always return success in remove callback

sdhci_pltfm_unregister() returns 0 unconditionally and returning an
error in a platform remove callback isn't very sensible. (The only
effect of the latter is that the device core emits a generic warning and
then removes the device anyhow.)

So return 0 unconditionally to make it obvious there is no error
forwarded to the upper layers.

This is a preparation for making platform remove callbacks return void.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20220610211257.102071-5-u.kleine-koenig@pengutronix.de
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: sdhci-of-arasan: Obviously always return success in remove callback
Uwe Kleine-König [Fri, 10 Jun 2022 21:12:56 +0000 (23:12 +0200)] 
mmc: sdhci-of-arasan: Obviously always return success in remove callback

sdhci_pltfm_unregister() returns 0 unconditionally and returning an
error in a platform remove callback isn't very sensible. (The only
effect of the latter is that the device core emits a generic warning and
then removes the device anyhow.)

So return 0 unconditionally to make it obvious there is no error
forwarded to the upper layers.

This is a preparation for making platform remove callbacks return void.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20220610211257.102071-4-u.kleine-koenig@pengutronix.de
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: dw_mmc: rockchip: Obviously always return success in remove callback
Uwe Kleine-König [Fri, 10 Jun 2022 21:12:55 +0000 (23:12 +0200)] 
mmc: dw_mmc: rockchip: Obviously always return success in remove callback

dw_mci_pltfm_remove() returns 0 unconditionally and returning an error
in a platform remove callback isn't very sensible. (The only effect of
the latter is that the device core emits a generic warning and then
removes the device anyhow.)

So return 0 unconditionally to make it obvious there is no error
forwarded to the upper layers.

This is a preparation for making platform remove callbacks return void.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20220610211257.102071-3-u.kleine-koenig@pengutronix.de
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: dw_mmc: hi3789cv200: Obviously always return success in remove callback
Uwe Kleine-König [Fri, 10 Jun 2022 21:12:54 +0000 (23:12 +0200)] 
mmc: dw_mmc: hi3789cv200: Obviously always return success in remove callback

dw_mci_pltfm_remove() returns 0 unconditionally and returning an error
in a platform remove callback isn't very sensible. (The only effect of
the latter is that the device core emits a generic warning and then
removes the device anyhow.)

So return 0 unconditionally to make it obvious there is no error
forwarded to the upper layers.

This is a preparation for making platform remove callbacks return void.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20220610211257.102071-2-u.kleine-koenig@pengutronix.de
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: dw_mmc: exynos: Obviously always return success in remove callback
Uwe Kleine-König [Fri, 10 Jun 2022 21:12:53 +0000 (23:12 +0200)] 
mmc: dw_mmc: exynos: Obviously always return success in remove callback

dw_mci_pltfm_remove() returns 0 unconditionally and returning an error
in a platform remove callback isn't very sensible. (The only effect of
the latter is that the device core emits a generic warning and then
removes the device anyhow.)

So return 0 unconditionally to make it obvious there is no error
forwarded to the upper layers.

This is a preparation for making platform remove callbacks return void.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Link: https://lore.kernel.org/r/20220610211257.102071-1-u.kleine-koenig@pengutronix.de
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: sdhci-brcmstb: Initialize base_clk to NULL in sdhci_brcmstb_probe()
Nathan Chancellor [Wed, 8 Jun 2022 15:27:57 +0000 (08:27 -0700)] 
mmc: sdhci-brcmstb: Initialize base_clk to NULL in sdhci_brcmstb_probe()

Clang warns a few times along the lines of:

  drivers/mmc/host/sdhci-brcmstb.c:302:6: warning: variable 'base_clk' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
          if (res)
              ^~~
  drivers/mmc/host/sdhci-brcmstb.c:376:24: note: uninitialized use occurs here
          clk_disable_unprepare(base_clk);
                                ^~~~~~~~

base_clk is used in the error path before it is initialized. Initialize
it to NULL, as clk_disable_unprepare() calls clk_disable() and
clk_unprepare(), which both handle NULL pointers gracefully.

Link: https://github.com/ClangBuiltLinux/linux/issues/1650
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20220608152757.82529-1-nathan@kernel.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: mmci: Fix typo in comment
Xiang wangx [Wed, 8 Jun 2022 13:08:47 +0000 (21:08 +0800)] 
mmc: mmci: Fix typo in comment

Delete the redundant word 'is'.

Signed-off-by: Xiang wangx <wangxiang@cdjrlc.com>
Link: https://lore.kernel.org/r/20220608130847.46359-1-wangxiang@cdjrlc.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agodt-bindings: mmc: renesas,sdhi: Add R-Car Gen4 clock requirements
Wolfram Sang [Wed, 8 Jun 2022 12:23:44 +0000 (14:23 +0200)] 
dt-bindings: mmc: renesas,sdhi: Add R-Car Gen4 clock requirements

The patch enabling generic Gen4 support forgot to add the clock
requirements which are the same as for Gen3. Update the binding.

Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20220608122344.3431-1-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agodt-bindings: mmc: renesas,sdhi: R-Car V3U is R-Car Gen4
Wolfram Sang [Wed, 8 Jun 2022 09:48:31 +0000 (11:48 +0200)] 
dt-bindings: mmc: renesas,sdhi: R-Car V3U is R-Car Gen4

Despite the name, R-Car V3U is the first member of the R-Car Gen4
family.  Hence move its compatible value to the R-Car Gen4 section.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20220608094831.8242-1-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: debugfs: Fix file release memory leak
Wei Yongjun [Wed, 8 Jun 2022 09:01:52 +0000 (09:01 +0000)] 
mmc: debugfs: Fix file release memory leak

When using single_open() for opening, single_release() should be
used instead of seq_release(), otherwise there is a memory leak.

Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/20220608090152.179395-1-weiyongjun1@huawei.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agodt-bindings: mmc: renesas,sdhi: Document R-Car S4-8 and generic Gen4 support
Wolfram Sang [Fri, 3 Jun 2022 23:38:10 +0000 (01:38 +0200)] 
dt-bindings: mmc: renesas,sdhi: Document R-Car S4-8 and generic Gen4 support

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20220603233810.21972-1-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: renesas_sdhi: add R-Car Gen4 fallback compatibility string
Wolfram Sang [Fri, 3 Jun 2022 23:33:00 +0000 (01:33 +0200)] 
mmc: renesas_sdhi: add R-Car Gen4 fallback compatibility string

For now, Gen4 is treated the same as Gen3. But we still want a seperate
fallback just in case.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20220603233300.21789-1-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agodt-bindings: mmc: convert mmc-spi-slot to yaml
Conor Dooley [Mon, 6 Jun 2022 20:13:41 +0000 (21:13 +0100)] 
dt-bindings: mmc: convert mmc-spi-slot to yaml

Convert the mmc-spi-slot text based binding doc to yaml,
with the side effect of cleaning up some of the riscv
dtbs_check warnings.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20220606201343.514391-2-mail@conchuod.ie
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agodt-bindings: mmc: samsung,exynos-dw-mshc: document Exynos5420 SMU
Krzysztof Kozlowski [Sun, 5 Jun 2022 16:37:10 +0000 (18:37 +0200)] 
dt-bindings: mmc: samsung,exynos-dw-mshc: document Exynos5420 SMU

Document the compatible for Samsung Exynos5420 SoC Synopsys Designware
MSHC with SMU, already used in DTS and driver.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20220605163710.144210-5-krzysztof.kozlowski@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agodt-bindings: mmc: samsung,exynos-dw-mshc: convert to dtschema
Krzysztof Kozlowski [Sun, 5 Jun 2022 16:37:09 +0000 (18:37 +0200)] 
dt-bindings: mmc: samsung,exynos-dw-mshc: convert to dtschema

Convert the Samsung Exynos SoC specific extensions to the Synopsys
Designware Mobile Storage Host Controller to DT schema.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20220605163710.144210-4-krzysztof.kozlowski@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: cqhci: Capture eMMC and SD card errors
Shaik Sajida Bhanu [Fri, 27 May 2022 17:53:56 +0000 (23:23 +0530)] 
mmc: cqhci: Capture eMMC and SD card errors

Add changes to capture eMMC and SD card errors.
This is useful for debug and testing.

Signed-off-by: Liangliang Lu <quic_luliang@quicinc.com>
Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com>
Signed-off-by: Bao D. Nguyen <quic_nguyenb@quicinc.com>
Signed-off-by: Ram Prakash Gupta <quic_rampraka@quicinc.com>
Signed-off-by: Shaik Sajida Bhanu <quic_c_sbhanu@quicinc.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/1653674036-21829-6-git-send-email-quic_c_sbhanu@quicinc.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: debugfs: Add debug fs error state entry for mmc driver
Shaik Sajida Bhanu [Fri, 27 May 2022 17:53:55 +0000 (23:23 +0530)] 
mmc: debugfs: Add debug fs error state entry for mmc driver

Add debug fs entry error state to query eMMC and SD card errors statistics.
If any errors occurred in eMMC and SD card driver level then
err_state value will be set to 1.

Signed-off-by: Liangliang Lu <quic_luliang@quicinc.com>
Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com>
Signed-off-by: Bao D. Nguyen <quic_nguyenb@quicinc.com>
Signed-off-by: Shaik Sajida Bhanu <quic_c_sbhanu@quicinc.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/1653674036-21829-5-git-send-email-quic_c_sbhanu@quicinc.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: debugfs: Add debug fs entry for mmc driver
Shaik Sajida Bhanu [Fri, 27 May 2022 17:53:54 +0000 (23:23 +0530)] 
mmc: debugfs: Add debug fs entry for mmc driver

Add debug fs entry to query eMMC and SD card errors statistics

Signed-off-by: Liangliang Lu <quic_luliang@quicinc.com>
Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com>
Signed-off-by: Bao D. Nguyen <quic_nguyenb@quicinc.com>
Signed-off-by: Shaik Sajida Bhanu <quic_c_sbhanu@quicinc.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/1653674036-21829-4-git-send-email-quic_c_sbhanu@quicinc.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: sdhci: Capture eMMC and SD card errors
Shaik Sajida Bhanu [Fri, 27 May 2022 17:53:53 +0000 (23:23 +0530)] 
mmc: sdhci: Capture eMMC and SD card errors

Add changes to capture eMMC and SD card errors.
This is useful for debug and testing.

Signed-off-by: Liangliang Lu <quic_luliang@quicinc.com>
Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com>
Signed-off-by: Bao D. Nguyen <quic_nguyenb@quicinc.com>
Signed-off-by: Shaik Sajida Bhanu <quic_c_sbhanu@quicinc.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/1653674036-21829-3-git-send-email-quic_c_sbhanu@quicinc.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: core: Capture eMMC and SD card errors
Shaik Sajida Bhanu [Fri, 27 May 2022 17:53:52 +0000 (23:23 +0530)] 
mmc: core: Capture eMMC and SD card errors

Add changes to capture eMMC and SD card errors.
This is useful for debug and testing.

Signed-off-by: Liangliang Lu <quic_luliang@quicinc.com>
Signed-off-by: Sayali Lokhande <quic_sayalil@quicinc.com>
Signed-off-by: Bao D. Nguyen <quic_nguyenb@quicinc.com>
Signed-off-by: Ram Prakash Gupta <quic_rampraka@quicinc.com>
Signed-off-by: Shaik Sajida Bhanu <quic_c_sbhanu@quicinc.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Link: https://lore.kernel.org/r/1653674036-21829-2-git-send-email-quic_c_sbhanu@quicinc.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: mtk-sd: fix typo
Fabien Parent [Mon, 30 May 2022 12:38:56 +0000 (14:38 +0200)] 
mmc: mtk-sd: fix typo

Fix a typo: Fianl -> Final.

Signed-off-by: Fabien Parent <fparent@baylibre.com>
Reviewed-by: Miles Chen <miles.chen@mediatek.com>
Link: https://lore.kernel.org/r/20220530123857.692076-1-fparent@baylibre.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: mxcmmc: Silence a clang warning
Fabio Estevam [Thu, 26 May 2022 01:00:22 +0000 (22:00 -0300)] 
mmc: mxcmmc: Silence a clang warning

Change the of_device_get_match_data() cast to (uintptr_t)
to silence the following clang warning:

drivers/mmc/host/mxcmmc.c:1028:18: warning: cast to smaller integer type 'enum mxcmci_type' from 'const void *' [-Wvoid-pointer-to-enum-cast]

Reported-by: kernel test robot <lkp@intel.com>
Fixes: 8223e885e74b ("mmc: mxc: Convert the driver to DT-only")
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Link: https://lore.kernel.org/r/20220526010022.1163483-1-festevam@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: sdhci-of-esdhc: Fix refcount leak in esdhc_signal_voltage_switch
Miaoqian Lin [Mon, 23 May 2022 14:42:54 +0000 (18:42 +0400)] 
mmc: sdhci-of-esdhc: Fix refcount leak in esdhc_signal_voltage_switch

of_find_matching_node() returns a node pointer with refcount
incremented, we should use of_node_put() on it when not need anymore.
Add missing of_node_put() to avoid refcount leak.
of_node_put() checks null pointer.

Fixes: ea35645a3c66 ("mmc: sdhci-of-esdhc: add support for signal voltage switch")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Link: https://lore.kernel.org/r/20220523144255.10310-1-linmq006@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: sdhci-brcmstb: Add ability to increase max clock rate for 72116b0
Kamal Dasu [Fri, 20 May 2022 18:31:08 +0000 (14:31 -0400)] 
mmc: sdhci-brcmstb: Add ability to increase max clock rate for 72116b0

The 72116B0 has improved SDIO controllers that allow the max clock
rate to be increased from a max of 100MHz to a max of 150MHz. The
driver will need to get the clock and increase it's default rate
and override the caps register, that still indicates a max of 100MHz.
The new clock will be named "sdio_freq" in the DT node's "clock-names"
list. The driver will use a DT property, "clock-frequency", to
enable this functionality and will get the actual rate in MHz
from the property to allow various speeds to be requested.

Signed-off-by: Al Cooper <alcooperx@gmail.com>
Signed-off-by: Kamal Dasu <kdasu.kdev@gmail.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Link: https://lore.kernel.org/r/20220520183108.47358-3-kdasu.kdev@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agodt-bindings: mmc: Add Broadcom optional sdio_freq clock
Kamal Dasu [Fri, 20 May 2022 18:31:07 +0000 (14:31 -0400)] 
dt-bindings: mmc: Add Broadcom optional sdio_freq clock

The 72116B0 has improved SDIO controllers that allow the max clock
rate to be increased from a max of 100MHz to a max of 150MHz.
Optional "sdio_freq" clock is used to drive the bus clock if present
optional property "clock-frequency" specifies a base clock frequency
in Hz that overrides the base clock frequency in the CAPS registers.

Signed-off-by: Kamal Dasu <kdasu.kdev@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Link: https://lore.kernel.org/r/20220520183108.47358-2-kdasu.kdev@gmail.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agodt-bindings: mmc: sdhci-msm: Fix issues in yaml bindings
Bhupesh Sharma [Sat, 14 May 2022 22:01:16 +0000 (03:31 +0530)] 
dt-bindings: mmc: sdhci-msm: Fix issues in yaml bindings

Rob pointed some remaining issues in the sdhci-msm yaml
bindings (via [1]).

Fix the same by first using the 'mmc-controller.yaml' as
'ref' and thereafter also fix the issues reported by
'make dtbs_check' check.

[1]. https://lore.kernel.org/linux-arm-msm/YnLmNCwNfoqZln12@robh.at.kernel.org/

Fixes: a45537723f4b ("dt-bindings: mmc: sdhci-msm: Convert bindings to yaml")
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Rob Herring <robh@kernel.org>
Cc: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Bhupesh Sharma <bhupesh.sharma@linaro.org>
Link: https://lore.kernel.org/r/20220514220116.1008254-1-bhupesh.sharma@linaro.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: sdhci-of-dwcmshc: add support for rk3588
Yifeng Zhao [Wed, 4 May 2022 21:32:41 +0000 (23:32 +0200)] 
mmc: sdhci-of-dwcmshc: add support for rk3588

Add support for RK3588's DWCMSHC controller, which is used for
providing the rootfs on the RK3588 evaluation board.

Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
[port from vendor BSP]
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20220504213251.264819-12-sebastian.reichel@collabora.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: sdhci-of-dwcmshc: rename rk3568 to rk35xx
Sebastian Reichel [Wed, 4 May 2022 21:32:40 +0000 (23:32 +0200)] 
mmc: sdhci-of-dwcmshc: rename rk3568 to rk35xx

Prepare driver for rk3588 support by renaming the internal data
structures.

Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20220504213251.264819-11-sebastian.reichel@collabora.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agommc: sdhci-of-dwcmshc: add reset call back for rockchip Socs
Yifeng Zhao [Wed, 4 May 2022 21:32:39 +0000 (23:32 +0200)] 
mmc: sdhci-of-dwcmshc: add reset call back for rockchip Socs

The reset function build in the SDHCI will not reset the logic
circuit related to the tuning function, which may cause data
reading errors. Resetting the complete SDHCI controller through
the reset controller fixes the issue.

Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
[rebase, use optional variant of reset getter]
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://lore.kernel.org/r/20220504213251.264819-10-sebastian.reichel@collabora.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
3 years agonet: marvell: prestera: fix missed deinit sequence
Yevhen Orlov [Sun, 10 Jul 2022 12:20:21 +0000 (15:20 +0300)] 
net: marvell: prestera: fix missed deinit sequence

Add unregister_fib_notifier as rollback of register_fib_notifier.

Fixes: 4394fbcb78cf ("net: marvell: prestera: handle fib notifications")
Signed-off-by: Yevhen Orlov <yevhen.orlov@plvision.eu>
Link: https://lore.kernel.org/r/20220710122021.7642-1-yevhen.orlov@plvision.eu
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
3 years agoDocumentation/process: Add embargoed HW contact for LLVM
Nick Desaulniers [Mon, 11 Jul 2022 18:10:58 +0000 (11:10 -0700)] 
Documentation/process: Add embargoed HW contact for LLVM

Should the need for toolchain mitigations ever be necessary, add a group
for toolchain ambassadors.

Add Nick Desaulniers as LLVM's ambassador for the embargoed hardware
issues process.

Signed-off-by: Nick Desaulniers <ndesaulniers@google.com>
Link: https://lore.kernel.org/r/20220711181101.1559558-1-ndesaulniers@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
3 years agoALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671
Meng Tang [Tue, 12 Jul 2022 09:22:22 +0000 (17:22 +0800)] 
ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671

On a HP 288 Pro G6, the front mic could not be detected.In order to
get it working, the pin configuration needs to be set correctly, and
the ALC671_FIXUP_HP_HEADSET_MIC2 fixup needs to be applied.

Signed-off-by: Meng Tang <tangmeng@uniontech.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20220712092222.21738-1-tangmeng@uniontech.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
3 years agoALSA: hda: cs35l41: Improve dev_err_probe() messaging
Andy Shevchenko [Mon, 11 Jul 2022 09:52:16 +0000 (12:52 +0300)] 
ALSA: hda: cs35l41: Improve dev_err_probe() messaging

Drop duplicate print of returned value in the messages and use pattern
return dev_err_probe(...) where it's possible.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20220711095219.36915-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
3 years agoALSA: hda: cs35l41: Fix comments wrt serial-multi-instantiate reference
Andy Shevchenko [Mon, 11 Jul 2022 10:01:29 +0000 (13:01 +0300)] 
ALSA: hda: cs35l41: Fix comments wrt serial-multi-instantiate reference

The comments are inconsistent and point to the wrong driver name.
The initially named i2c-multi-instantiate it was renamed to the
serial-multi-instantiate exactly due to support of the platforms
with multiple CS35L41 codecs.

Fix comments accordingly.

While at it, drop file names from the files.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20220711100129.37326-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
3 years agoALSA: hda - Add fixup for Dell Latitidue E5430
Meng Tang [Tue, 12 Jul 2022 06:00:05 +0000 (14:00 +0800)] 
ALSA: hda - Add fixup for Dell Latitidue E5430

Another Dell model, another fixup entry: Latitude E5430 needs the same
fixup as other Latitude E series as workaround for noise problems.

Signed-off-by: Meng Tang <tangmeng@uniontech.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20220712060005.20176-1-tangmeng@uniontech.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
3 years agoMerge tag 'misc-habanalabs-next-2022-07-12' of https://git.kernel.org/pub/scm/linux...
Greg Kroah-Hartman [Tue, 12 Jul 2022 08:53:21 +0000 (10:53 +0200)] 
Merge tag 'misc-habanalabs-next-2022-07-12' of https://git.kernel.org/pub/scm/linux/kernel/git/ogabbay/linux into char-misc-next

Oded writes:

This tag contains habanalabs driver changes for v5.20:

- Add Gaudi2 ASIC support. All the features required for Gaudi2 are included
  in this tag (except the networking aspect).

- Add more events to the eventfd support in the driver. With the new code, we
  expose three events that the user can register to get notification about them.

- re-factor soft reset code and replace its name to compute reset to better
  reflect the actual reset done in new ASICs

- Change the way Gaudi2 triggers an MSI-X interrupt due to h/w bug.

- Improve the code of the debugfs node that scrubs the device's memory.

- Add mechanism for better compatibility with older f/w versions

- Cleanup kernel log prints by moving some prints to debug and removing others.

- Many small bug fixes and minor changes.

* tag 'misc-habanalabs-next-2022-07-12' of https://git.kernel.org/pub/scm/linux/kernel/git/ogabbay/linux: (88 commits)
  habanalabs: move h/w dirty message to debug
  habanalabs: rename soft reset to compute reset
  habanalabs: add status of reset after device release
  habanalabs: fix update of is_in_soft_reset
  habanalabs: expose only valid debugfs nodes
  habanalabs/gaudi2: map virtual MSI-X doorbell memory for user
  habanalabs/gaudi2: modify decoder to use virtual MSI-X doorbell
  habanalabs/gaudi2: modify CS completion CQ to use virtual MSI-X doorbell
  habanalabs/gaudi2: replace defines for reserved sob/mob with enums
  habanalabs/gaudi2: configure virtual MSI-X doorbell interface
  habanalabs: add a value field to hl_fw_send_pci_access_msg()
  habanalabs: fixes to the poll-timeout macros
  habanalabs/gaudi2: use DIV_ROUND_UP_SECTOR_T instead of roundup
  habanalabs: initialize variable explicitly
  habanalabs: Use the bitmap API to allocate bitmaps
  habanalabs/gaudi2: remove unused defines
  habanalabs: make sure variable is set before used
  habanalabs: don't declare tmp twice in same function
  habanalabs: do not set max power on a secured device
  habanalabs/gaudi2: SM mask can only be 8-bit
  ...

3 years agom68k: defconfig: Update defconfigs for v5.19-rc1
Geert Uytterhoeven [Tue, 7 Jun 2022 07:12:53 +0000 (09:12 +0200)] 
m68k: defconfig: Update defconfigs for v5.19-rc1

  - Move CONFIG_USERFAULTFD=y (moved in commit 430529b5c6317493
    ("mm/uffd: move USERFAULTFD configs into mm/")),
  - Move CONFIG_SLAB=y (moved in commit 7b42f1041c98f5d7 ("mm: Kconfig:
    move swap and slab config options to the MM section")),
  - Replace CONFIG_ZPOOL=m by CONFIG_ZRAM=m (cfr. commit
    b3fbd58fcbb10725 ("mm: Kconfig: simplify zswap configuration")),
  - Replace CONFIG_CRYPTO_SM[34]=m by CONFIG_CRYPTO_SM[34]_GENERIC=m
    (cfr. commit d2825fa9365d0101 ("crypto: sm3,sm4 - move into crypto
    directory")),
  - Drop CONFIG_BITFIELD_KUNIT=m, CONFIG_BITS_TEST=m,
    CONFIG_CMDLINE_KUNIT_TEST=m, and CONFIG_RESOURCE_KUNIT_TEST=m
    (auto-modular since commit dcbb2ee24601fabb ("lib/Kconfig.debug:
    change KUnit tests to default to KUNIT_ALL_TESTS")).

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Link: https://lore.kernel.org/r/96e3b5c2b7f253449229993c8783478e6b7a9c5c.1654584908.git.geert@linux-m68k.org
3 years agom68k: Add common forward declaration for show_registers()
Geert Uytterhoeven [Wed, 6 Jul 2022 13:48:50 +0000 (15:48 +0200)] 
m68k: Add common forward declaration for show_registers()

There are several forward declarations for show_registers() in C source
files.  Replace these by a single common forward declaration in
<asm/processor.h>, and include <asm/processor.h> where needed.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Link: https://lore.kernel.org/r/d5b6a7f9af3e82f0ccb67edac09d9ee45d457932.1657114791.git.geert@linux-m68k.org
3 years agom68k: mac: Remove forward declaration for mac_nmi_handler()
Geert Uytterhoeven [Wed, 6 Jul 2022 13:48:46 +0000 (15:48 +0200)] 
m68k: mac: Remove forward declaration for mac_nmi_handler()

Move mac_nmi_handler() before its caller, so its forward declaration can
be dropped.  While at it, make the function static, and absorb the
variable in_nmi, which is only used inside the function.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Finn Thain <fthain@linux-m68k.org>
Link: https://lore.kernel.org/r/fa48394ecba7c29a2da354d13c1017b37237f25b.1657114783.git.geert@linux-m68k.org
3 years agoMerge branch 'mlx5-devlink-mutex-removal-part-1'
Paolo Abeni [Tue, 12 Jul 2022 08:26:28 +0000 (10:26 +0200)] 
Merge branch 'mlx5-devlink-mutex-removal-part-1'

Moshe Shemesh Says:
===================
1) Fix devlink lock in mlx5 devlink eswitch callbacks

Following the commit 14e426bf1a4d "devlink: hold the instance lock
during eswitch_mode callbacks" which takes devlink instance lock for all
devlink eswitch callbacks and adds a temporary workaround, this patchset
removes the workaround, replaces devlink API functions by devl_ API
where called from mlx5 driver eswitch callbacks flows and adds devlink
instance lock in other driver's path that leads to these functions.
While moving to devl_ API the patchset removes part of the devlink API
functions which mlx5 was the last one to use and so not used by any
driver now.

The patchset also remove DEVLINK_NL_FLAG_NO_LOCK flag from the callbacks
of port_new/port which are called only from mlx5 driver and the already
locked by the patchset as parallel paths to the eswitch callbacks using
devl_ API functions.

This patchset will be followed by another patchset that will remove
DEVLINK_NL_FLAG_NO_LOCK flag from devlink reload and devlink health
callbacks. Thus we will have all devlink callbacks locked and it will
pave the way to remove devlink mutex.
===================

Link: https://lore.kernel.org/r/20220711081408.69452-1-saeed@kernel.org
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
3 years agodevlink: Hold the instance lock in port_new / port_del callbacks
Moshe Shemesh [Mon, 11 Jul 2022 08:14:08 +0000 (01:14 -0700)] 
devlink: Hold the instance lock in port_new / port_del callbacks

Let the core take the devlink instance lock around port_new and port_del
callbacks and remove the now redundant locking in the only driver that
currently use them.

Signed-off-by: Moshe Shemesh <moshe@nvidia.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
3 years agonet/mlx5: Remove devl_unlock from mlx5_devlink_eswitch_mode_set
Moshe Shemesh [Mon, 11 Jul 2022 08:14:07 +0000 (01:14 -0700)] 
net/mlx5: Remove devl_unlock from mlx5_devlink_eswitch_mode_set

The callback mlx5_devlink_eswitch_mode_set() had unlocked devlink as a
temporary workaround once devlink instance lock was added to devlink
eswitch callbacks. Now that all flows triggered by this function
that took devlink lock are using devl_ API and all parallel paths are
locked we can remove this workaround.

Signed-off-by: Moshe Shemesh <moshe@nvidia.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
3 years agonet/mlx5: Use devl_ API in mlx5e_devlink_port_register
Moshe Shemesh [Mon, 11 Jul 2022 08:14:06 +0000 (01:14 -0700)] 
net/mlx5: Use devl_ API in mlx5e_devlink_port_register

As part of the flows invoked by mlx5_devlink_eswitch_mode_set() get to
mlx5_rescan_drivers_locked() which can call mlx5e_probe()/mlx5e_remove
and register/unregister mlx5e driver ports accordingly. This can lead to
deadlock once mlx5_devlink_eswitch_mode_set() will use devlink lock.
Use devl_port_register/unregister() instead of
devlink_port_register/unregister() and add devlink instance locks in the
driver paths to this function to have it locked while calling devl_ API
function.

If remove or probe were called by module init or module cleanup flows,
need to lock devlink just before calling devl_port_register(), otherwise
it is called by attach/detach or register/unregister flow and we can
have the flow locked. Added flag to distinguish between these cases.

This will be used by the downstream patch to invoke
mlx5_devlink_eswitch_mode_set() with devlink locked.

Signed-off-by: Moshe Shemesh <moshe@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
3 years agodevlink: Remove unused functions devlink_rate_leaf_create/destroy
Moshe Shemesh [Mon, 11 Jul 2022 08:14:05 +0000 (01:14 -0700)] 
devlink: Remove unused functions devlink_rate_leaf_create/destroy

The previous patch removed the last usage of the functions
devlink_rate_leaf_create() and devlink_rate_nodes_destroy(). Thus,
remove these function from devlink API.

Signed-off-by: Moshe Shemesh <moshe@nvidia.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
3 years agonet/mlx5: Use devl_ API in mlx5_esw_devlink_sf_port_register
Moshe Shemesh [Mon, 11 Jul 2022 08:14:04 +0000 (01:14 -0700)] 
net/mlx5: Use devl_ API in mlx5_esw_devlink_sf_port_register

The function mlx5_esw_devlink_sf_port_register() calls
devlink_port_register() and devlink_rate_leaf_create(). Use devl_ API to
call devl_port_register() and devl_rate_leaf_create() accordingly and
add devlink instance lock in driver paths to this function.

Similarly, use devl_ API to call devl_port_unregister() and
devl_rate_leaf_destroy() in mlx5_esw_devlink_sf_port_unregister() and
ensure locking devlink instance lock on all the paths to this function
too.

This will be used by the downstream patch to invoke
mlx5_devlink_eswitch_mode_set() with devlink lock held.

Note this patch is taking devlink lock on mlx5_devlink_sf_port_new/del()
which are devlink callbacks for port_new/del(). We will take these locks
off once these callbacks will be locked by devlink too.

Signed-off-by: Moshe Shemesh <moshe@nvidia.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
3 years agonet/mlx5: Use devl_ API in mlx5_esw_offloads_devlink_port_register
Moshe Shemesh [Mon, 11 Jul 2022 08:14:03 +0000 (01:14 -0700)] 
net/mlx5: Use devl_ API in mlx5_esw_offloads_devlink_port_register

The function mlx5_esw_offloads_devlink_port_register() calls
devlink_port_register() and devlink_rate_leaf_create(). Use devl_ API to
call devl_port_register() and devl_rate_leaf_create() accordingly and
add devlink instance lock in driver paths to this function.

Similarly, use devl_ API to call devl_port_unregister() and
devl_rate_leaf_destroy() in mlx5_esw_offloads_devlink_port_unregister()
and ensure locking devlink instance lock on the paths to this function
too.

This will be used by the downstream patch to invoke
mlx5_devlink_eswitch_mode_set() with devlink lock held.

Signed-off-by: Moshe Shemesh <moshe@nvidia.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
3 years agodevlink: Remove unused function devlink_rate_nodes_destroy
Moshe Shemesh [Mon, 11 Jul 2022 08:14:02 +0000 (01:14 -0700)] 
devlink: Remove unused function devlink_rate_nodes_destroy

The previous patch removed the last usage of the function
devlink_rate_nodes_destroy(). Thus, remove this function from devlink
API.

Signed-off-by: Moshe Shemesh <moshe@nvidia.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
3 years agonet/mlx5: Use devl_ API for rate nodes destroy
Moshe Shemesh [Mon, 11 Jul 2022 08:14:01 +0000 (01:14 -0700)] 
net/mlx5: Use devl_ API for rate nodes destroy

Use devl_rate_nodes_destroy() instead of devlink_rate_nodes_destroy().
Add devlink instance lock in the driver paths to this function to have
it locked while calling devl_ API function.

This will be used by the downstream patch to invoke
mlx5_devlink_eswitch_mode_set() with devlink lock held.

Signed-off-by: Moshe Shemesh <moshe@nvidia.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
3 years agonet/mlx5: Remove devl_unlock from mlx5_eswtich_mode_callback_enter
Moshe Shemesh [Mon, 11 Jul 2022 08:14:00 +0000 (01:14 -0700)] 
net/mlx5: Remove devl_unlock from mlx5_eswtich_mode_callback_enter

The function mlx5_eswtich_mode_callback_enter() was added as a temporary
workaround once devlink instance lock was added to devlink eswitch
callbacks. However, code review and testing show that all the callbacks
part to eswitch_mode_set don't take devlink instance lock in any flow
and so unlocking devlink instance lock while entering these functions is
not needed.

Remove devl_lock from mlx5_eswtich_mode_callback_enter() and devl_unlock
from mlx5_eswtich_mode_callback_exit(). Also remove the functions
mlx5_eswtich_mode_callback_enter()/exit() as they are not needed any
more. The callback eswitch_mode_set will be treated separately in the
following patches.

Signed-off-by: Moshe Shemesh <moshe@nvidia.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
3 years agoARM: dts: kswitch-d10: enable the USB device port
Michael Walle [Thu, 7 Jul 2022 13:25:00 +0000 (15:25 +0200)] 
ARM: dts: kswitch-d10: enable the USB device port

Now that there is driver support for the USB device, enable it.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Claudiu Beznea <claudiu.beznea@microchip.com>
Link: https://lore.kernel.org/r/20220707132500.1708020-2-michael@walle.cc
3 years agodrivers: mcb: directly use ida_alloc()/free()
keliu [Tue, 12 Jul 2022 06:50:08 +0000 (23:50 -0700)] 
drivers: mcb: directly use ida_alloc()/free()

Use ida_alloc()/ida_free() instead of deprecated
ida_simple_get()/ida_simple_remove() .

Signed-off-by: keliu <liuke94@huawei.com>
Signed-off-by: Johannes Thumshirn <jth@kernel.org>
Link: https://lore.kernel.org/r/480676bee970da16bf1fa8565277240014395ba3.1657607743.git.johannes.thumshirn@wdc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
3 years agointerconnect: qcom: icc-rpm: Set bandwidth and clock for bucket values
Leo Yan [Tue, 12 Jul 2022 01:59:29 +0000 (09:59 +0800)] 
interconnect: qcom: icc-rpm: Set bandwidth and clock for bucket values

This commit uses buckets for support bandwidth and clock rates.  It
introduces a new function qcom_icc_bus_aggregate() to calculate the
aggregate average and peak bandwidths for every bucket, and also it
calculates the maximum value of aggregated average bandwidth across all
buckets.

The maximum aggregated average is used to calculate the final bandwidth
requests.  And we can set the clock rate per bucket, we use SLEEP bucket
as default bucket if a platform doesn't enable the interconnect path
tags in DT binding; otherwise, we use WAKE bucket to set active clock
and use SLEEP bucket for other clocks.  So far we don't use AMC bucket.

Signed-off-by: Leo Yan <leo.yan@linaro.org>
Link: https://lore.kernel.org/r/20220712015929.2789881-6-leo.yan@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org>
3 years agointerconnect: qcom: icc-rpm: Support multiple buckets
Leo Yan [Tue, 12 Jul 2022 01:59:28 +0000 (09:59 +0800)] 
interconnect: qcom: icc-rpm: Support multiple buckets

The current interconnect rpm driver uses a single aggregate bandwidth to
calculate the clock rates for both active and sleep clocks; therefore,
it has no chance to separate bandwidth requests for these two kinds of
clocks.

This patch studies the implementation from interconnect rpmh driver to
support multiple buckets.  The rpmh driver provides three buckets for
AMC, WAKE, and SLEEP; this driver only needs to use WAKE and SLEEP
buckets, but we keep the same way with rpmh driver, this can allow us to
reuse the DT binding and avoid to define duplicated data structures.

This patch introduces two callbacks: qcom_icc_pre_bw_aggregate() is used
to clean up bucket values before aggregate bandwidth requests, and
qcom_icc_bw_aggregate() is to aggregate bandwidth for buckets.

Signed-off-by: Leo Yan <leo.yan@linaro.org>
Link: https://lore.kernel.org/r/20220712015929.2789881-5-leo.yan@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org>
3 years agointerconnect: qcom: icc-rpm: Change to use qcom_icc_xlate_extended()
Leo Yan [Tue, 12 Jul 2022 01:59:27 +0000 (09:59 +0800)] 
interconnect: qcom: icc-rpm: Change to use qcom_icc_xlate_extended()

This commit changes to use callback qcom_icc_xlate_extended().  This
is a preparation for population path tags from the interconnect DT
binding, it doesn't introduce functionality change for the existed DT
binding without path tags.

Signed-off-by: Leo Yan <leo.yan@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20220712015929.2789881-4-leo.yan@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org>
3 years agoMerge tag 'mediatek-drm-next-5.20' of https://git.kernel.org/pub/scm/linux/kernel...
Dave Airlie [Tue, 12 Jul 2022 06:54:19 +0000 (16:54 +1000)] 
Merge tag 'mediatek-drm-next-5.20' of https://git.kernel.org/pub/scm/linux/kernel/git/chunkuang.hu/linux into drm-next

Mediatek DRM Next for Linux 5.20

1. Add Mediatek Soc DRM (vdosys0) support for mt8195
2. Cooperate with DSI RX devices to modify dsi funcs and delay mipi high to cooperate with panel sequence
3. Add mt8186 dsi compatible and convert dsi_dtbinding to .yaml
4. Add MediaTek SoC DRM (vdosys1) support for mt8195
5. Add MT8195 dp_intf driver

Signed-off-by: Dave Airlie <airlied@redhat.com>
[airlied: fix drm_edid.h include]
From: Chun-Kuang Hu <chunkuang.hu@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20220709142021.24260-1-chunkuang.hu@kernel.org
3 years agointerconnect: qcom: Move qcom_icc_xlate_extended() to a common file
Leo Yan [Tue, 12 Jul 2022 01:59:26 +0000 (09:59 +0800)] 
interconnect: qcom: Move qcom_icc_xlate_extended() to a common file

since there have conflict between two headers icc-rpmh.h and icc-rpm.h,
the function qcom_icc_xlate_extended() is declared in icc-rpmh.h thus
it cannot be used by icc-rpm driver.

Move the function to a new common file icc-common.c so that allow it to
be called by multiple drivers.

Signed-off-by: Leo Yan <leo.yan@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://lore.kernel.org/r/20220712015929.2789881-3-leo.yan@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org>
3 years agodt-bindings: interconnect: Update property for icc-rpm path tag
Leo Yan [Tue, 12 Jul 2022 01:59:25 +0000 (09:59 +0800)] 
dt-bindings: interconnect: Update property for icc-rpm path tag

To support path tag in icc-rpm driver, the "#interconnect-cells"
property is updated as enumerate values: 1 or 2.  Setting to 1 means
it is compatible with old DT binding that interconnect path only
contains node id; if set to 2 for "#interconnect-cells" property, then
the second specifier is used as a tag (e.g. vote for which buckets).

Signed-off-by: Leo Yan <leo.yan@linaro.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20220712015929.2789881-2-leo.yan@linaro.org
Signed-off-by: Georgi Djakov <djakov@kernel.org>
3 years agoMerge tag 'drm/tegra/for-5.20-rc1' of https://gitlab.freedesktop.org/drm/tegra into...
Dave Airlie [Tue, 12 Jul 2022 05:50:41 +0000 (15:50 +1000)] 
Merge tag 'drm/tegra/for-5.20-rc1' of https://gitlab.freedesktop.org/drm/tegra into drm-next

drm/tegra: Changes for v5.20-rc1

The bulk of these changes adds support for context isolation for the
various supported host1x engines, as well as support for the hardware
found on the new Tegra234 SoC generation.

There's also a couple of fixes and cleanups. To round things off, the
device tree bindings are converted to the new json-schema format that
allows DTBs to be validated.

Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Thierry Reding <thierry.reding@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220708181136.673789-1-thierry.reding@gmail.com
3 years agoswiotlb: fail map correctly with failed io_tlb_default_mem
Robin Murphy [Tue, 12 Jul 2022 06:46:45 +0000 (08:46 +0200)] 
swiotlb: fail map correctly with failed io_tlb_default_mem

In the failure case of trying to use a buffer which we'd previously
failed to allocate, the "!mem" condition is no longer sufficient since
io_tlb_default_mem became static and assigned by default. Update the
condition to work as intended per the rest of that conversion.

Fixes: 463e862ac63e ("swiotlb: Convert io_default_tlb_mem to static allocation")
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
3 years agohabanalabs: move h/w dirty message to debug
Oded Gabbay [Sun, 10 Jul 2022 11:14:04 +0000 (14:14 +0300)] 
habanalabs: move h/w dirty message to debug

H/W being dirty during initialization is completely expected in case
f/w tools are used before loading the driver. As it is not an error,
and as it doesn't give any meaningful information to the user,
no point of printing it.

Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs: rename soft reset to compute reset
Oded Gabbay [Thu, 7 Jul 2022 09:00:24 +0000 (12:00 +0300)] 
habanalabs: rename soft reset to compute reset

Doing compute reset can be the traditional inference soft reset
that is supported only in Goya.

Or it can be the new reset upon device release, which is supported
in Gaudi2 and above.

Therefore, wherever suitable, use the terminology of compute reset
instead of soft reset.

Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs: add status of reset after device release
Oded Gabbay [Thu, 7 Jul 2022 08:42:15 +0000 (11:42 +0300)] 
habanalabs: add status of reset after device release

The user might want to know the device is in reset after device
release, which is not an erroneous event as a regular reset.

Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs: fix update of is_in_soft_reset
Oded Gabbay [Thu, 7 Jul 2022 08:39:19 +0000 (11:39 +0300)] 
habanalabs: fix update of is_in_soft_reset

reset_info.is_in_soft_reset should be updated both before in_reset
and inside the spin lock of the reset info structure.

The reasons are:

- When we are inside soft reset, it implies we are in reset. Therefore,
  if someone checks if we are in soft reset, he can deduce we are
  in reset, while the opposite is not correct and might be misleading.

- Both these flags are changed together so they must be changed
  inside the reset info spinlock.

Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs: expose only valid debugfs nodes
Ofir Bitton [Thu, 30 Jun 2022 06:54:59 +0000 (09:54 +0300)] 
habanalabs: expose only valid debugfs nodes

In case security is enabled on the device, some debugfs nodes will
fail. Hence, we do not expose them.

Signed-off-by: Ofir Bitton <obitton@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs/gaudi2: map virtual MSI-X doorbell memory for user
Tomer Tayar [Thu, 30 Jun 2022 19:05:51 +0000 (22:05 +0300)] 
habanalabs/gaudi2: map virtual MSI-X doorbell memory for user

Upon the initialization of a user context, map the host memory page of
the virtual MSI-X doorbell in the device MMU.
A reserved VA is used for this purpose, so user can use it directly
without any allocation/map operation.

Signed-off-by: Tomer Tayar <ttayar@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs/gaudi2: modify decoder to use virtual MSI-X doorbell
Tomer Tayar [Thu, 30 Jun 2022 08:22:54 +0000 (11:22 +0300)] 
habanalabs/gaudi2: modify decoder to use virtual MSI-X doorbell

Modify the decoder wrapper blocks to generate interrupts using the
virtual MSI-X doorbell.

As a decoder wrapper block cannot write directly to HBW upon completion,
it writes instead to SOB which is monitored by a master monitor.
When resolved, this monitor will be the one to actually write to the
virtual MSI-X doorbell.

Signed-off-by: Tomer Tayar <ttayar@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs/gaudi2: modify CS completion CQ to use virtual MSI-X doorbell
Tomer Tayar [Thu, 30 Jun 2022 15:40:59 +0000 (18:40 +0300)] 
habanalabs/gaudi2: modify CS completion CQ to use virtual MSI-X doorbell

Modify the CQ which is used for CS completion, to use the virtual MSI-X
doorbell.

Signed-off-by: Tomer Tayar <ttayar@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs/gaudi2: replace defines for reserved sob/mob with enums
Tomer Tayar [Wed, 29 Jun 2022 16:20:38 +0000 (19:20 +0300)] 
habanalabs/gaudi2: replace defines for reserved sob/mob with enums

Following patches are going to add more reserved sync objects and
monitors.
To make the counting of these reserved resources simpler, replace the
existing RESERVED_* defines with enumerations.

Signed-off-by: Tomer Tayar <ttayar@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs/gaudi2: configure virtual MSI-X doorbell interface
Tomer Tayar [Wed, 29 Jun 2022 13:37:55 +0000 (16:37 +0300)] 
habanalabs/gaudi2: configure virtual MSI-X doorbell interface

Due to a watchdog timer in the LBW path, writes to the MSI-X doorbell
can return sporadic error responses.
To work-around this issue, a virtual MSI-X doorbell on the HBW path is
configured, using the MSI-X AXI slave interface in the PCIe controller.
Upon an access to a configured HBW host address, the controller will
generate MSI-X interrupt instead of treating the access as regular host
memory access.

This patch allocates the dedicate host memory page, and communicate the
address to F/W, so it will configure the relevant address match
registers in the controller, and will use this address to generate MSI-X
interrupts for F/W events.

Following patches will handle other initiators in the device, to move
them to use the virtual MSI-X doorbell.

Signed-off-by: Tomer Tayar <ttayar@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs: add a value field to hl_fw_send_pci_access_msg()
Tomer Tayar [Wed, 6 Jul 2022 07:20:54 +0000 (10:20 +0300)] 
habanalabs: add a value field to hl_fw_send_pci_access_msg()

For gaudi2 we need to send a value to F/W as part of the
PCI_ACCESS packet.
As a preparation, modify hl_fw_send_pci_access_msg() to have a 'value'
field.

Signed-off-by: Tomer Tayar <ttayar@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs: fixes to the poll-timeout macros
Ohad Sharabi [Mon, 4 Jul 2022 05:33:57 +0000 (08:33 +0300)] 
habanalabs: fixes to the poll-timeout macros

- use conventional internal macro variables (double underscore prefix)
- adjust address casting
- on register poll using ELBI use ELBI read rather than BAR read on
  error condition
- remove unused macro

Signed-off-by: Ohad Sharabi <osharabi@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs/gaudi2: use DIV_ROUND_UP_SECTOR_T instead of roundup
Ohad Sharabi [Thu, 7 Jul 2022 13:03:14 +0000 (16:03 +0300)] 
habanalabs/gaudi2: use DIV_ROUND_UP_SECTOR_T instead of roundup

roundup will create an error in 32-bit architectures as we use
64-bit variables.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Ohad Sharabi <osharabi@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs: initialize variable explicitly
Oded Gabbay [Tue, 5 Jul 2022 08:04:56 +0000 (11:04 +0300)] 
habanalabs: initialize variable explicitly

Fix warning of
"warning: ‘old_base’ may be used uninitialized in this function"

Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs: Use the bitmap API to allocate bitmaps
Christophe JAILLET [Sun, 3 Jul 2022 20:36:30 +0000 (22:36 +0200)] 
habanalabs: Use the bitmap API to allocate bitmaps

Use bitmap_zalloc()/bitmap_free() instead of hand-writing them.

It is less verbose and it improves the semantic.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs/gaudi2: remove unused defines
Oded Gabbay [Mon, 4 Jul 2022 09:05:30 +0000 (12:05 +0300)] 
habanalabs/gaudi2: remove unused defines

There were some defines that are unused in the current upstreamed
code.

Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs: make sure variable is set before used
Oded Gabbay [Mon, 4 Jul 2022 08:53:57 +0000 (11:53 +0300)] 
habanalabs: make sure variable is set before used

timestamp could be unset in both _hl_interrupt_wait_ioctl() and
_hl_interrupt_wait_ioctl_user_addr() so it is better to explicitly
initialize it to 0 when declaring it.

Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs: don't declare tmp twice in same function
Oded Gabbay [Mon, 4 Jul 2022 08:51:55 +0000 (11:51 +0300)] 
habanalabs: don't declare tmp twice in same function

tmp is declared in the scope of the function cs_do_release() and
inside a block inside that function.

Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs: do not set max power on a secured device
Ofir Bitton [Thu, 30 Jun 2022 11:37:03 +0000 (14:37 +0300)] 
habanalabs: do not set max power on a secured device

Max power API is not supported in secured devices. Hence, we should
skip setting it during boot.

Signed-off-by: Ofir Bitton <obitton@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs/gaudi2: SM mask can only be 8-bit
Oded Gabbay [Thu, 30 Jun 2022 08:53:33 +0000 (11:53 +0300)] 
habanalabs/gaudi2: SM mask can only be 8-bit

Otherwise, due to how we calculate it, we might fail in FIELD_PREP
checks.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs/gaudi2: remove unused variable
Oded Gabbay [Thu, 30 Jun 2022 08:07:59 +0000 (11:07 +0300)] 
habanalabs/gaudi2: remove unused variable

glbl_sts_clr_val was set but never used

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs: allow detection of unsupported f/w packets
Oded Gabbay [Thu, 30 Jun 2022 06:30:49 +0000 (09:30 +0300)] 
habanalabs: allow detection of unsupported f/w packets

If we send a packet to the f/w, and that packet is unsupported, we
want to be able to identify this situation and possibly ignore this.

Therefore, if the f/w returned an error, we need to propagate it
to the callers in the result value, if those callers were interested
in it.

In addition, no point of printing the error code here because each
caller prints its own error with a specific message.

Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs: save f/w preboot minor version
Sagiv Ozeri [Tue, 28 Jun 2022 10:25:48 +0000 (13:25 +0300)] 
habanalabs: save f/w preboot minor version

We need this property for backward compatibility against the f/w.

Signed-off-by: Sagiv Ozeri <sozeri@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs: add support for common decoder interrupts
Ofir Bitton [Tue, 28 Jun 2022 15:34:58 +0000 (18:34 +0300)] 
habanalabs: add support for common decoder interrupts

User application should be able to get notification for any decoder
completion. Hence, we introduce a new interface in which a user
can wait for all current decoder pending interrupts.

Signed-off-by: Ofir Bitton <obitton@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs: naming refactor of user interrupt flow
Ofir Bitton [Tue, 28 Jun 2022 18:05:28 +0000 (21:05 +0300)] 
habanalabs: naming refactor of user interrupt flow

Current naming convention can be misleading. Hence renaming some
variables and defines in order to be more explicit.

Signed-off-by: Ofir Bitton <obitton@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
3 years agohabanalabs: wait for preboot ready after hard reset
Ohad Sharabi [Tue, 28 Jun 2022 09:09:21 +0000 (12:09 +0300)] 
habanalabs: wait for preboot ready after hard reset

Currently we are not waiting for preboot ready after hard reset.
This leads to a race in which COMMs protocol begins but will get no
response from the f/w.

Signed-off-by: Ohad Sharabi <osharabi@habana.ai>
Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
Signed-off-by: Oded Gabbay <ogabbay@kernel.org>