mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-10-22 23:13:01 +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