mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
Memory controller drivers for v6.14
1. OMAP GPMC: Cleanup dead code.
2. Tegra20 EMC: Fix OF reference counting when iterating over
emc-tables.
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmdz8sQQHGtyemtAa2Vy
bmVsLm9yZwAKCRDBN2bmhouD10slEACYKzDyDAzJe9XUtEIhqC7jH1S9f2OqpJwn
6jRAq3j4EPe4aIucJqymLRpq8DCWog/giKp5WM3iRdAe2EoNwYaZB5zfFppiN0kW
F679+IZ1XdV0YKelnHjraY2X3gugbOTmym/bPBbK8xOcvkRtGUtMAKEB2EXXY9dk
rj2/YeFqEUQ141xuF35JNygHjJF3bZZKkb7bmhVuraFF1D5RFEwITaoPHo5Df3Ve
RQm6eRlG7EvFdfhqb9JISLnq90CfDI5lHdKMH6jHdZ4xbtWFnNA8853QjzAkEeCq
4xt//Ru/87ipLFSsKmrSKrZ2n5WLxl7LQFHQiZKOUwWjPM8CCYR0IdUCGtZETtSn
XdWo5YSdDEmW2mb2XUexI/S1DnGXLLRAjkXDhAlkhyPKwCMgcWXjCqGnaVfe8gy4
APNAix+hr/3/iZl0P3NLAsbRzqZ4cJP4Mdp01ppvVJNjHmybg/hm6vwyQKGvSSeI
6ORjvRQjRcmRJeCP8D0UNX93W9zFxvuV3EJxOflVp/fidq/kCKkD86Ts7pqK9Wt/
0EAr2i3tGWKAeyEBHHW9s/+lzniLb13r9ZbTObR6O1nhftAo8m+cOIbIjkDDLh+K
v6gKZVLmwrS+OvLvE/T4qI5pBOszI3KI38rUn5YuZi00qU8S4YQJp/0OUfsN1FfM
9xDRMtykrw==
=3htL
-----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmeHwewACgkQYKtH/8kJ
UidOVBAA08rXHbzU/35JQvduVfKSpndwLXHmostpaW1/ntrmnigqmuvX1iDQtHJ8
RpYph57ScB/K9cUW7kXC58CzlzBrffj/oThCE2e2uF9pXoh8Z+f0YL9MD4SzOXNo
thCTT9jp4f7Dz22h/L4bazLL+HW8hgElLfg2gls3GZ8RSNWlgeJ+8k0NcMrjNyYY
Dd2ZGIasdxMnZJHRri/kFuFjNR3zsTp6LCMwzZL2n7IhjJKJcflnrqtU8g2m44N8
tMYQuoA0/C1VeDN7vwc0SdqXPKjtBT6RjTrCMdq9Fyt9keX4+lIVdyKVZcbXWbjS
k+jcEoGRmn//YgDUcx5JdhT/fBsi/pr6Qvj3s6piUjRdDsnUZcsCeAvDwIB5WrOo
cjGCmN5S4Z6iupWF+tfEgruvKlF3ePmX775HZsOzCAV1uTIRVLF6Vd/ZkKa2zqMF
gfQYeb/fpkp6fgdQZHTYU3FYo8dOe90xcOwZ/e2X+LxH0lRIEKR0avON5AFJs9IJ
CIgTv+uDAqyE6xRDvO8EASeh3ghoDumaRorDblIkw0LxNoXgnBUUNWyskne/sflK
F6Wm9ja1uM4QTTU620OcTs0gDh0TUwrE2XlZlFVddkL3X3hYt0fkx2YN432rG4rE
YwDg6TWPxQ6H/BmejjqrYWs3Q2X57Q+O1skgAzjGZJDSBk9f1j8=
=lr7/
-----END PGP SIGNATURE-----
Merge tag 'memory-controller-drv-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into soc/drivers
Memory controller drivers for v6.14
1. OMAP GPMC: Cleanup dead code.
2. Tegra20 EMC: Fix OF reference counting when iterating over
emc-tables.
* tag 'memory-controller-drv-6.14' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
memory: tegra20-emc: fix an OF node reference bug in tegra_emc_find_node_by_ram_code()
memory: omap-gpmc: deadcode a pair of functions
Link: https://lore.kernel.org/r/20241231133534.136771-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
3292e5ac42
|
|
@ -358,17 +358,6 @@ static unsigned int gpmc_ps_to_ticks(unsigned int time_ps)
|
|||
return (time_ps + tick_ps - 1) / tick_ps;
|
||||
}
|
||||
|
||||
static unsigned int gpmc_clk_ticks_to_ns(unsigned int ticks, int cs,
|
||||
enum gpmc_clk_domain cd)
|
||||
{
|
||||
return ticks * gpmc_get_clk_period(cs, cd) / 1000;
|
||||
}
|
||||
|
||||
unsigned int gpmc_ticks_to_ns(unsigned int ticks)
|
||||
{
|
||||
return gpmc_clk_ticks_to_ns(ticks, /* any CS */ 0, GPMC_CD_FCLK);
|
||||
}
|
||||
|
||||
static unsigned int gpmc_ticks_to_ps(unsigned int ticks)
|
||||
{
|
||||
return ticks * gpmc_get_fclk_period();
|
||||
|
|
@ -415,6 +404,13 @@ static void gpmc_cs_bool_timings(int cs, const struct gpmc_bool_timings *p)
|
|||
}
|
||||
|
||||
#ifdef CONFIG_OMAP_GPMC_DEBUG
|
||||
|
||||
static unsigned int gpmc_clk_ticks_to_ns(unsigned int ticks, int cs,
|
||||
enum gpmc_clk_domain cd)
|
||||
{
|
||||
return ticks * gpmc_get_clk_period(cs, cd) / 1000;
|
||||
}
|
||||
|
||||
/**
|
||||
* get_gpmc_timing_reg - read a timing parameter and print DTS settings for it.
|
||||
* @cs: Chip Select Region
|
||||
|
|
@ -1295,21 +1291,6 @@ int gpmc_omap_onenand_set_timings(struct device *dev, int cs, int freq,
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(gpmc_omap_onenand_set_timings);
|
||||
|
||||
int gpmc_get_client_irq(unsigned int irq_config)
|
||||
{
|
||||
if (!gpmc_irq_domain) {
|
||||
pr_warn("%s called before GPMC IRQ domain available\n",
|
||||
__func__);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* we restrict this to NAND IRQs only */
|
||||
if (irq_config >= GPMC_NR_NAND_IRQS)
|
||||
return 0;
|
||||
|
||||
return irq_create_mapping(gpmc_irq_domain, irq_config);
|
||||
}
|
||||
|
||||
static int gpmc_irq_endis(unsigned long hwirq, bool endis)
|
||||
{
|
||||
u32 regval;
|
||||
|
|
|
|||
|
|
@ -474,14 +474,15 @@ tegra_emc_find_node_by_ram_code(struct tegra_emc *emc)
|
|||
|
||||
ram_code = tegra_read_ram_code();
|
||||
|
||||
for (np = of_find_node_by_name(dev->of_node, "emc-tables"); np;
|
||||
np = of_find_node_by_name(np, "emc-tables")) {
|
||||
for_each_child_of_node(dev->of_node, np) {
|
||||
if (!of_node_name_eq(np, "emc-tables"))
|
||||
continue;
|
||||
err = of_property_read_u32(np, "nvidia,ram-code", &value);
|
||||
if (err || value != ram_code) {
|
||||
struct device_node *lpddr2_np;
|
||||
bool cfg_mismatches = false;
|
||||
|
||||
lpddr2_np = of_find_node_by_name(np, "lpddr2");
|
||||
lpddr2_np = of_get_child_by_name(np, "lpddr2");
|
||||
if (lpddr2_np) {
|
||||
const struct lpddr2_info *info;
|
||||
|
||||
|
|
@ -518,7 +519,6 @@ tegra_emc_find_node_by_ram_code(struct tegra_emc *emc)
|
|||
}
|
||||
|
||||
if (cfg_mismatches) {
|
||||
of_node_put(np);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,10 +66,6 @@ extern int gpmc_calc_timings(struct gpmc_timings *gpmc_t,
|
|||
|
||||
struct device_node;
|
||||
|
||||
extern int gpmc_get_client_irq(unsigned irq_config);
|
||||
|
||||
extern unsigned int gpmc_ticks_to_ns(unsigned int ticks);
|
||||
|
||||
extern void gpmc_cs_write_reg(int cs, int idx, u32 val);
|
||||
extern int gpmc_calc_divider(unsigned int sync_clk);
|
||||
extern int gpmc_cs_set_timings(int cs, const struct gpmc_timings *t,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user