summaryrefslogtreecommitdiff
path: root/drivers/memory
AgeCommit message (Collapse)AuthorFilesLines
2020-07-31Merge tag 'memory-controller-drv-5.9-2' of ↵Arnd Bergmann9-68/+74
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into arm/drivers Memory controller drivers for v5.9, part 2 1. Minor cleanups and fixes of multiple memory controller drivers, mostly around code quality and readability, 2. Add Git repository to drivers/memory entry in MAINTAINERS, 3. Allow MIPS jz4780 FUSE driver to probe by removing conflicting memory region with jz4780_nemc. * tag 'memory-controller-drv-5.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl: memory: jz4780_nemc: Only request IO memory the driver will use MAINTAINERS: Add Git repository for memory controller drivers memory: brcmstb_dpfe: Fix language typo memory: samsung: exynos5422-dmc: Correct white space issues memory: samsung: exynos-srom: Correct alignment memory: pl172: Enclose macro argument usage in parenthesis memory: of: Correct kerneldoc memory: omap-gpmc: Fix language typo memory: omap-gpmc: Correct white space issues memory: omap-gpmc: Use 'unsigned int' for consistency memory: omap-gpmc: Enclose macro argument usage in parenthesis memory: omap-gpmc: Correct kerneldoc memory: mvebu-devbus: Align with open parenthesis memory: mvebu-devbus: Add missing braces to all arms of if statement memory: bt1-l2-ctl: Add blank lines after declarations Link: https://lore.kernel.org/r/20200729163008.5820-1-krzk@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-07-30memory: samsung: exynos5422-dmc: Add module param to control IRQ modeLukasz Luba1-2/+7
The driver can operate in two modes relaying on devfreq monitoring mechanism which periodically checks the device status or it can use interrupts when they are provided by loaded Device Tree. The newly introduced module parameter can be used to choose between devfreq monitoring and internal interrupts without modifying the Device Tree. It also sets devfreq monitoring as default when the parameter is not set (also the case for default when the driver is not built as a module). Reported-by: Willy Wolff <willy.mh.wolff.ml@gmail.com> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Lukasz Luba <lukasz.luba@arm.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
2020-07-30memory: samsung: exynos5422-dmc: Adjust polling interval and uptresholdLukasz Luba1-2/+2
In order to react faster and make better decisions under some workloads, benchmarking the memory subsystem behavior, adjust the polling interval and upthreshold value used by the simple_ondemand governor. Reported-by: Willy Wolff <willy.mh.wolff.ml@gmail.com> Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com> Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Lukasz Luba <lukasz.luba@arm.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
2020-07-30memory: samsung: exynos5422-dmc: Use delayed timer as defaultChanwoo Choi1-0/+1
Use delayed timer as default instead of deferrable timer in order to monitor the DMC status regardless of CPU idle. Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org> Reviewed-by: Lukasz Luba <lukasz.luba@arm.com> Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
2020-07-28memory: jz4780-nemc: Do not build by defaultKrzysztof Kozlowski1-1/+0
Enabling the JZ4780_NEMC driver makes sense only for specific hardware - the Ingenic SoC architecture. It is not an essential driver for the SoC support so do not enable it by default. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
2020-07-28memory: jz4780_nemc: Only request IO memory the driver will usePaul Cercueil1-1/+16
The driver only uses the registers up to offset 0x54. Since the EFUSE registers are in the middle of the NEMC registers, we only request the registers we will use for now - that way the EFUSE driver can probe too. Signed-off-by: Paul Cercueil <paul@crapouillou.net> Tested-by: H. Nikolaus Schaller <hns@goldelico.com> Link: https://lore.kernel.org/r/20200728152629.28878-1-paul@crapouillou.net Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-27memory: brcmstb_dpfe: Fix language typoKrzysztof Kozlowski1-1/+1
Fix firwmare -> firmware. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Florian Fainelli <f.fainelli@gmail.com>
2020-07-27memory: samsung: exynos5422-dmc: Correct white space issuesKrzysztof Kozlowski1-2/+1
Remove unneeded blank line and align indentation with open parenthesis. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-27memory: samsung: exynos-srom: Correct alignmentKrzysztof Kozlowski1-11/+11
Align indentation with open parenthesis (or fix existing alignment). Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-27memory: pl172: Enclose macro argument usage in parenthesisKrzysztof Kozlowski1-7/+7
Macros arguments should be enclosed by parenthesis for safety. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-27memory: of: Correct kerneldocKrzysztof Kozlowski1-2/+2
Use proper kerneldoc to fix GCC warnings like: drivers/memory/of_memory.c:30: warning: Function parameter or member 'dev' not described in 'of_get_min_tck' Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-27memory: omap-gpmc: Fix language typoKrzysztof Kozlowski1-1/+1
Fix arbitary -> arbitrary. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-27memory: omap-gpmc: Correct white space issuesKrzysztof Kozlowski1-17/+7
Remove some unneeded blank lines, align indentation with open parenthesis (or fix existing alignment). Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-27memory: omap-gpmc: Use 'unsigned int' for consistencyKrzysztof Kozlowski1-2/+2
Driver uses 'unsigned int' in other places instead of 'unsigned'. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-27memory: omap-gpmc: Enclose macro argument usage in parenthesisKrzysztof Kozlowski1-10/+10
Macros arguments should be enclosed by parenthesis for safety. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-27memory: omap-gpmc: Correct kerneldocKrzysztof Kozlowski1-4/+4
Use proper kerneldoc to fix GCC warnings like: drivers/memory/omap-gpmc.c:299: warning: Function parameter or member 'cs' not described in 'gpmc_get_clk_period' drivers/memory/omap-gpmc.c:432: warning: Excess function parameter 'ma' description in 'get_gpmc_timing_reg' Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-27memory: mvebu-devbus: Align with open parenthesisKrzysztof Kozlowski1-7/+7
The line continuation contained spaces but still failed to properly align with open parenthesis. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-27memory: mvebu-devbus: Add missing braces to all arms of if statementKrzysztof Kozlowski1-3/+3
Add missing braces to all arms of if statement to align with coding convention. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-27memory: bt1-l2-ctl: Add blank lines after declarationsKrzysztof Kozlowski1-0/+2
Add blank lines to improve code readability. No functional change. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24Merge tag 'memory-controller-drv-5.9' of ↵Arnd Bergmann15-87/+90
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into arm/drivers Memory controller drivers for v5.9 The drivers/memory directory with memory controller drivers, over the last days grew in numbers but lacked any coordinated care. The generic part (device tree helpers) were pulled in through various trees, depending on driver needs. The patchset is a first try to improve code quality of memory controller drivers. Mostly these are non-intrusive fixes for GCC, checkpatch or sparse warnings. This also fixes missing SPDX tags or improves generic code quality (whitespace, const correctness). Last commit appoints also Krzysztof Kozlowski as a maintainer. * tag 'memory-controller-drv-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: (22 commits) MAINTAINERS: Add Krzysztof Kozlowski as maintainer of memory controllers memory: samsung: exynos-srom: Describe the Kconfig entry memory: Describe the MEMORY Kconfig entry memory: da8xx-ddrctl: Remove unused 'node' variable memory: fsl_ifc: Fix whitespace issues memory: pl172: Add GPLv2 SPDX license header memory: omap-gpmc: Fix whitespace issue memory: omap-gpmc: Include <linux/sizes.h> for SZ_16M memory: mtk-smi: Add argument to function pointer definition memory: brcmstb_dpfe: Remove unneeded braces memory: brcmstb_dpfe: Constify the contents of string memory: ti-emif-pm: Fix cast to iomem pointer memory: ti-aemif: Rename SS to SSTROBE to avoid name conflicts memory: emif: Silence platform_get_irq() error in driver memory: emif: Fix whitespace coding style violations memory: emif: Put constant in comparison on the right side memory: emif-asm-offsets: Add GPLv2 SPDX license header memory: of: Remove unneeded extern from function declarations memory: of: Correct indentation memory: of: Remove __func__ in device related messages ... Link: https://lore.kernel.org/r/20200724160314.8543-1-krzk@kernel.org Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2020-07-24memory: samsung: exynos-srom: Describe the Kconfig entryKrzysztof Kozlowski1-0/+7
Write short description about the Exynos SROM controller driver. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24memory: Describe the MEMORY Kconfig entryKrzysztof Kozlowski1-0/+6
Write short description about the entire memory controllers section. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24memory: da8xx-ddrctl: Remove unused 'node' variableKrzysztof Kozlowski1-2/+0
The variable 'node' is not used. Remove it to silence compile warning: drivers/memory/da8xx-ddrctl.c: In function 'da8xx_ddrctl_probe': drivers/memory/da8xx-ddrctl.c:105:22: warning: variable 'node' set but not used [-Wunused-but-set-variable] Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24memory: fsl_ifc: Fix whitespace issuesKrzysztof Kozlowski1-15/+15
Fix minor whitespace and comment issues. Do not break message strings. No functional changes. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24memory: pl172: Add GPLv2 SPDX license headerKrzysztof Kozlowski1-4/+1
Add GPLv2 license header and remove GPL boiler plate text. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24memory: omap-gpmc: Fix whitespace issueKrzysztof Kozlowski1-3/+4
Fix minor whitespace and comment issues. No functional changes. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24memory: omap-gpmc: Include <linux/sizes.h> for SZ_16MKrzysztof Kozlowski1-0/+1
The driver uses SZ_16M which is defined in include/linux/sizes.h. On ARM it was pulled by other headers but its inclusion is necessary for compile testing on other architectures. This fixes build error when compile testing on i386 architecture: drivers/memory/omap-gpmc.c: In function ‘gpmc_cs_remap’: drivers/memory/omap-gpmc.c:961:12: error: ‘SZ_16M’ undeclared (first use in this function) Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24memory: mtk-smi: Add argument to function pointer definitionKrzysztof Kozlowski1-1/+1
Fix checkpatch warning: WARNING: function definition argument 'struct device *' should also have an identifier name Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24memory: brcmstb_dpfe: Remove unneeded bracesKrzysztof Kozlowski1-2/+1
Single statement blocks don't need braces. Fixes checkpatch warning: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Acked-by: Markus Mayer <mmayer@broadcom.com>
2020-07-24memory: brcmstb_dpfe: Constify the contents of stringKrzysztof Kozlowski1-1/+1
The string itself can be made const for safety. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Acked-by: Markus Mayer <mmayer@broadcom.com>
2020-07-24memory: ti-emif-pm: Fix cast to iomem pointerKrzysztof Kozlowski1-1/+1
Cast pointer to iomem memory properly to fix sparse warning: drivers/memory/ti-emif-pm.c:251:38: warning: incorrect type in argument 1 (different address spaces) drivers/memory/ti-emif-pm.c:251:38: expected void const volatile [noderef] __iomem *addr drivers/memory/ti-emif-pm.c:251:38: got void * Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24memory: ti-aemif: Rename SS to SSTROBE to avoid name conflictsKrzysztof Kozlowski1-8/+8
SS conflicts with compile test build on i386: drivers/memory/ti-aemif.c:40:0: warning: "SS" redefined In file included from arch/x86/include/uapi/asm/ptrace.h:6:0, from arch/x86/include/asm/ptrace.h:7, from arch/x86/include/asm/math_emu.h:5, from arch/x86/include/asm/processor.h:13, from include/linux/mutex.h:19, from include/linux/notifier.h:14, from include/linux/clk.h:14, from drivers/memory/ti-aemif.c:12: arch/x86/include/uapi/asm/ptrace-abi.h:23:0: note: this is the location of the previous definition #define SS 16 Use more descriptive name (SSTROBE) to avoid the conflict. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24memory: emif: Silence platform_get_irq() error in driverKrzysztof Kozlowski1-4/+1
The platform_get_irq() already prints error message so there is no need to do it again in the driver. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24memory: emif: Fix whitespace coding style violationsKrzysztof Kozlowski1-9/+7
Make the code and printed messages slightly more readable. Fixes checkpatch warnings: WARNING: quoted string split across lines ERROR: space prohibited before that ',' (ctx:WxW) Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24memory: emif: Put constant in comparison on the right sideKrzysztof Kozlowski1-1/+1
Fixes checkpatch warning: WARNING: Comparisons should place the constant on the right side of the test Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24memory: emif-asm-offsets: Add GPLv2 SPDX license headerKrzysztof Kozlowski1-9/+1
Add GPLv2 license header and remove GPL boiler plate text. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24memory: of: Remove unneeded extern from function declarationsKrzysztof Kozlowski1-10/+11
Function declarations in headers do not need to come with extern keyword. Remove them to make the declaration slightly shorter. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24memory: of: Correct indentationKrzysztof Kozlowski1-4/+6
Correct indentation to match open parenthesis. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24memory: of: Remove __func__ in device related messagesKrzysztof Kozlowski1-8/+8
Messages printed by generic of_memory code will still be using device context so their location/meaning will be known. Printing __func__ is not needed. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24memory: of: Remove unused headersKrzysztof Kozlowski1-2/+0
The of_memory.c does not use platform_device nor linked list. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-24memory: samsung: exynos5422-dmc: Do not ignore return code of regmap_read()Krzysztof Kozlowski1-3/+9
Check for regmap_read() return code before using the read value in following write in exynos5_switch_timing_regs(). Pass reading error code to the callers. This does not introduce proper error handling for such failed reads (and obviously regmap_write() error is still ignored) because the driver ignored this in all places. Therefor it only fixes reported issue while matching current driver coding style: drivers/memory/samsung/exynos5422-dmc.c: In function 'exynos5_switch_timing_regs': >> drivers/memory/samsung/exynos5422-dmc.c:216:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2020-07-15memory: tegra: Add Tegra132 compatible string matchThierry Reding1-0/+1
Ensure that the driver will bind against the Tegra132 instantiation of the external memory controller. While the two are roughly the same from a capability perspective, they do require some incompatible changes to the programming sequences and therefore need separate compatible strings. Signed-off-by: Thierry Reding <treding@nvidia.com>
2020-07-14memory: tegra: Fix KCONFIG variables for Tegra186 and Tegra194Jon Hunter1-2/+2
Commit a127e690b051 ("memory: tegra: Add support for the Tegra194 memory controller") and commit 4e04b88633ae ("memory: tegra: Only include support for enabled SoCs") incorrectly added the KCONFIG variables CONFIG_ARCH_TEGRA186_SOC and CONFIG_ARCH_TEGRA194_SOC to the Tegra EMC driver. These KCONFIG variables do not exist and prevent the EMC driver from being probed on Tegra186 and Tegra194. These KCONFIG variable names are simply missing one underscore and so fix this by adding the necessary underscore to the variable names. Signed-off-by: Jon Hunter <jonathanh@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2020-07-13memory: mtk-smi: Add basic support for MT6779Ming-Fan Chen1-0/+22
Add smi-larb and smi-common nodes and config_port for MT6779. changelog since v2: Split basic nodes and config_port support from initial golden setting patch Signed-off-by: Ming-Fan Chen <ming-fan.chen@mediatek.com> Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com> Link: https://lore.kernel.org/r/1578465691-30692-4-git-send-email-ming-fan.chen@mediatek.com Signed-off-by: Joerg Roedel <jroedel@suse.de>
2020-07-07memory: stm32-fmc2-ebi: add STM32 FMC2 EBI controller driverChristophe Kerello3-0/+1217
The driver adds the support for the STMicroelectronics FMC2 EBI controller found on STM32MP SOCs. Signed-off-by: Christophe Kerello <christophe.kerello@st.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/linux-mtd/1591975362-22009-5-git-send-email-christophe.kerello@st.com
2020-07-02memory: add Renesas RPC-IF driverSergei Shtylyov3-0/+613
Add the memory driver for Renesas RPC-IF which registers either SPI or HyperFLash device depending on the contents of the device tree subnode. It also provides the absract "back end" device APIs that can be used by the "front end" SPI/MTD drivers to talk to the real hardware. Based on the original patch by Mason Yang <masonccyang@mxic.com.tw>. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Link: https://lore.kernel.org/r/9a3606ec-d4d0-c63a-4fb6-631ab38e621c@cogentembedded.com Signed-off-by: Mark Brown <broonie@kernel.org>
2020-06-22memory: tegra: Delete some dead codeDan Carpenter1-5/+0
The debugfs_create_dir() function never returns NULL and anyway the correct behavior is to ignore errors in this situation. The debugfs_create_file() will become a no-op if "emc->debugfs.root" is an error pointer. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2020-06-22memory: tegra: Avoid unused function warningsArnd Bergmann1-2/+2
The suspend/resume functions have no callers depending on configuration, so they must be marked __maybe_unused to avoid these harmless warnings: drivers/memory/tegra/tegra186.c:1578:12: error: 'tegra186_mc_resume' defined but not used [-Werror=unused-function] 1578 | static int tegra186_mc_resume(struct device *dev) | ^~~~~~~~~~~~~~~~~~ drivers/memory/tegra/tegra186.c:1573:12: error: 'tegra186_mc_suspend' defined but not used [-Werror=unused-function] 1573 | static int tegra186_mc_suspend(struct device *dev) | ^~~~~~~~~~~~~~~~~~~ Fixes: 177602b00641 ("memory: tegra: Add system sleep support") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2020-06-22memory: tegra: Drop <linux/clk-provider.h>Geert Uytterhoeven2-2/+0
The Tegra EMC scaling support code is not a clock provider, but merely a clock consumer, and thus does not need to include <linux/clk-provider.h>. Fixes: 0bf368c5b2cf ("memory: tegra: Add EMC scaling support code for Tegra210") Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be> Signed-off-by: Thierry Reding <treding@nvidia.com>
2020-06-22memory: tegra: Fix an error handling path in tegra186_emc_probe()Christophe JAILLET1-5/+11
The call to tegra_bpmp_get() must be balanced by a call to tegra_bpmp_put() in case of error, as already done in the remove function. Add an error handling path and corresponding goto. Fixes: 52d15dd23f0b ("memory: tegra: Support DVFS on Tegra186 and later") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: Thierry Reding <treding@nvidia.com>