/linux-master/drivers/memory/tegra/ |
H A D | tegra186-emc.c | 49 * /sys/kernel/debug/emc 68 static bool tegra186_emc_validate_rate(struct tegra186_emc *emc, argument 73 for (i = 0; i < emc->num_dvfs; i++) 74 if (rate == emc->dvfs[i].rate) 83 struct tegra186_emc *emc = s->private; local 87 for (i = 0; i < emc->num_dvfs; i++) { 88 seq_printf(s, "%s%lu", prefix, emc->dvfs[i].rate); 100 struct tegra186_emc *emc = data; local 102 *rate = emc->debugfs.min_rate; 109 struct tegra186_emc *emc local 130 struct tegra186_emc *emc = data; local 139 struct tegra186_emc *emc = data; local 158 tegra186_emc_get_emc_dvfs_latency(struct tegra186_emc *emc) argument 263 tegra_emc_interconnect_init(struct tegra186_emc *emc) argument 321 struct tegra186_emc *emc; local 384 struct tegra186_emc *emc = platform_get_drvdata(pdev); local [all...] |
H A D | tegra20-emc.c | 237 struct tegra_emc *emc = data; local 241 status = readl_relaxed(emc->regs + EMC_INTSTATUS) & intmask; 247 dev_err_ratelimited(emc->dev, 251 writel_relaxed(status, emc->regs + EMC_INTSTATUS); 256 static struct emc_timing *tegra_emc_find_timing(struct tegra_emc *emc, argument 262 for (i = 0; i < emc->num_timings; i++) { 263 if (emc->timings[i].rate >= rate) { 264 timing = &emc->timings[i]; 270 dev_err(emc->dev, "no timing for rate %lu\n", rate); 277 static int emc_prepare_timing_change(struct tegra_emc *emc, unsigne argument 299 emc_complete_timing_change(struct tegra_emc *emc, bool flush) argument 327 struct tegra_emc *emc = container_of(nb, struct tegra_emc, clk_nb); local 355 load_one_timing_from_dt(struct tegra_emc *emc, struct emc_timing *timing, struct device_node *node) argument 410 tegra_emc_load_timings_from_dt(struct tegra_emc *emc, struct device_node *node) argument 458 tegra_emc_find_node_by_ram_code(struct tegra_emc *emc) argument 538 emc_read_lpddr_mode_register(struct tegra_emc *emc, unsigned int emem_dev, unsigned int register_addr, unsigned int *register_data) argument 574 emc_read_lpddr_sdram_info(struct tegra_emc *emc, unsigned int emem_dev, bool print_out) argument 596 emc_setup_hw(struct tegra_emc *emc) argument 681 struct tegra_emc *emc = arg; local 716 tegra_emc_rate_requests_init(struct tegra_emc *emc) argument 726 emc_request_rate(struct tegra_emc *emc, unsigned long new_min_rate, unsigned long new_max_rate, enum emc_rate_request_type type) argument 767 emc_set_min_rate(struct tegra_emc *emc, unsigned long rate, enum emc_rate_request_type type) argument 780 emc_set_max_rate(struct tegra_emc *emc, unsigned long rate, enum emc_rate_request_type type) argument 818 tegra_emc_validate_rate(struct tegra_emc *emc, unsigned long rate) argument 831 struct tegra_emc *emc = s->private; local 848 struct tegra_emc *emc = data; local 857 struct tegra_emc *emc = data; local 878 struct tegra_emc *emc = data; local 887 struct tegra_emc *emc = data; local 906 tegra_emc_debugfs_init(struct tegra_emc *emc) argument 983 struct tegra_emc *emc = to_tegra_emc_provider(dst->provider); local 1006 tegra_emc_interconnect_init(struct tegra_emc *emc) argument 1072 struct tegra_emc *emc = data; local 1077 tegra_emc_init_clk(struct tegra_emc *emc) argument 1111 struct tegra_emc *emc = dev_get_drvdata(dev); local 1130 struct tegra_emc *emc = dev_get_drvdata(dev); local 1156 tegra_emc_devfreq_init(struct tegra_emc *emc) argument 1193 struct tegra_emc *emc; local [all...] |
H A D | tegra210-emc-core.c | 21 #include "tegra210-emc.h" 561 struct tegra210_emc *emc = from_timer(emc, timer, training); local 564 if (!emc->last) 567 spin_lock_irqsave(&emc->lock, flags); 569 if (emc->sequence->periodic_compensation) 570 emc->sequence->periodic_compensation(emc); 572 spin_unlock_irqrestore(&emc->lock, flags); 574 mod_timer(&emc 578 tegra210_emc_training_start(struct tegra210_emc *emc) argument 584 tegra210_emc_training_stop(struct tegra210_emc *emc) argument 589 tegra210_emc_get_temperature(struct tegra210_emc *emc) argument 617 struct tegra210_emc *emc = from_timer(emc, timer, refresh_timer); local 666 tegra210_emc_poll_refresh_stop(struct tegra210_emc *emc) argument 672 tegra210_emc_poll_refresh_start(struct tegra210_emc *emc) argument 691 struct tegra210_emc *emc = cd->devdata; local 701 struct tegra210_emc *emc = cd->devdata; local 720 tegra210_emc_set_clock(struct tegra210_emc *emc, u32 clksrc) argument 730 tegra210_change_dll_src(struct tegra210_emc *emc, u32 clksrc) argument 766 tegra210_emc_set_refresh(struct tegra210_emc *emc, enum tegra210_emc_refresh refresh) argument 814 tegra210_emc_mrr_read(struct tegra210_emc *emc, unsigned int chip, unsigned int address) argument 839 tegra210_emc_do_clock_change(struct tegra210_emc *emc, u32 clksrc) argument 855 tegra210_emc_find_timing(struct tegra210_emc *emc, unsigned long rate) argument 867 tegra210_emc_wait_for_update(struct tegra210_emc *emc, unsigned int channel, unsigned int offset, u32 bit_mask, bool state) argument 884 tegra210_emc_set_shadow_bypass(struct tegra210_emc *emc, int set) argument 902 tegra210_emc_timing_update(struct tegra210_emc *emc) argument 931 tegra210_emc_start_periodic_compensation(struct tegra210_emc *emc) argument 1139 tegra210_emc_dll_prelock(struct tegra210_emc *emc, u32 clksrc) argument 1221 tegra210_emc_dvfs_power_ramp_up(struct tegra210_emc *emc, u32 clk, bool flip_backward) argument 1336 tegra210_emc_dvfs_power_ramp_down(struct tegra210_emc *emc, u32 clk, bool flip_backward) argument 1459 update_dll_control(struct tegra210_emc *emc, u32 value, bool state) argument 1472 tegra210_emc_dll_disable(struct tegra210_emc *emc) argument 1482 tegra210_emc_dll_enable(struct tegra210_emc *emc) argument 1492 tegra210_emc_adjust_timing(struct tegra210_emc *emc, struct tegra210_emc_timing *timing) argument 1531 struct tegra210_emc *emc = dev_get_drvdata(dev); local 1596 tegra210_emc_validate_rate(struct tegra210_emc *emc, unsigned long rate) argument 1611 struct tegra210_emc *emc = s->private; local 1628 struct tegra210_emc *emc = data; local 1637 struct tegra210_emc *emc = data; local 1658 struct tegra210_emc *emc = data; local 1667 struct tegra210_emc *emc = data; local 1688 struct tegra210_emc *emc = data; local 1703 struct tegra210_emc *emc = data; local 1717 tegra210_emc_debugfs_init(struct tegra210_emc *emc) argument 1760 tegra210_emc_detect(struct tegra210_emc *emc) argument 1786 tegra210_emc_validate_timings(struct tegra210_emc *emc, struct tegra210_emc_timing *timings, unsigned int num_timings) argument 1814 struct tegra210_emc *emc; local 1990 struct tegra210_emc *emc = platform_get_drvdata(pdev); local 1999 struct tegra210_emc *emc = dev_get_drvdata(dev); local 2020 struct tegra210_emc *emc = dev_get_drvdata(dev); local [all...] |
H A D | tegra210-emc-table.c | 8 #include "tegra210-emc.h" 15 struct tegra210_emc *emc = dev_get_drvdata(dev); local 33 if (emc->derated) { 38 if (emc->nominal) { 39 if (count != emc->num_timings) { 41 count, emc->num_timings); 46 emc->derated = timings; 48 emc->num_timings = count; 49 emc->nominal = timings; 63 struct tegra210_emc *emc local [all...] |
H A D | tegra30-emc.c | 5 * Based on downstream driver from NVIDIA and tegra124-emc.c 398 static int emc_seq_update_timing(struct tegra_emc *emc) argument 403 writel_relaxed(EMC_TIMING_UPDATE, emc->regs + EMC_TIMING_CONTROL); 405 err = readl_relaxed_poll_timeout_atomic(emc->regs + EMC_STATUS, val, 409 dev_err(emc->dev, "failed to update timing: %d\n", err); 418 struct tegra_emc *emc = data; local 422 status = readl_relaxed(emc->regs + EMC_INTSTATUS) & intmask; 428 dev_err_ratelimited(emc->dev, 432 writel_relaxed(status, emc->regs + EMC_INTSTATUS); 437 static struct emc_timing *emc_find_timing(struct tegra_emc *emc, argument 458 emc_dqs_preset(struct tegra_emc *emc, struct emc_timing *timing, bool *schmitt_to_vref) argument 501 emc_prepare_mc_clk_cfg(struct tegra_emc *emc, unsigned long rate) argument 523 emc_prepare_timing_change(struct tegra_emc *emc, unsigned long rate) argument 792 emc_complete_timing_change(struct tegra_emc *emc, unsigned long rate) argument 843 emc_unprepare_timing_change(struct tegra_emc *emc, unsigned long rate) argument 858 struct tegra_emc *emc = container_of(nb, struct tegra_emc, clk_nb); local 888 load_one_timing_from_dt(struct tegra_emc *emc, struct emc_timing *timing, struct device_node *node) argument 956 emc_check_mc_timings(struct tegra_emc *emc) argument 979 emc_load_timings_from_dt(struct tegra_emc *emc, struct device_node *node) argument 1026 emc_find_node_by_ram_code(struct tegra_emc *emc) argument 1059 emc_read_lpddr_mode_register(struct tegra_emc *emc, unsigned int emem_dev, unsigned int register_addr, unsigned int *register_data) argument 1095 emc_read_lpddr_sdram_info(struct tegra_emc *emc, unsigned int emem_dev) argument 1118 emc_setup_hw(struct tegra_emc *emc) argument 1199 struct tegra_emc *emc = arg; local 1234 tegra_emc_rate_requests_init(struct tegra_emc *emc) argument 1244 emc_request_rate(struct tegra_emc *emc, unsigned long new_min_rate, unsigned long new_max_rate, enum emc_rate_request_type type) argument 1285 emc_set_min_rate(struct tegra_emc *emc, unsigned long rate, enum emc_rate_request_type type) argument 1298 emc_set_max_rate(struct tegra_emc *emc, unsigned long rate, enum emc_rate_request_type type) argument 1336 tegra_emc_validate_rate(struct tegra_emc *emc, unsigned long rate) argument 1349 struct tegra_emc *emc = s->private; local 1366 struct tegra_emc *emc = data; local 1375 struct tegra_emc *emc = data; local 1396 struct tegra_emc *emc = data; local 1405 struct tegra_emc *emc = data; local 1424 tegra_emc_debugfs_init(struct tegra_emc *emc) argument 1501 struct tegra_emc *emc = to_tegra_emc_provider(dst->provider); local 1524 tegra_emc_interconnect_init(struct tegra_emc *emc) argument 1584 struct tegra_emc *emc = data; local 1589 tegra_emc_init_clk(struct tegra_emc *emc) argument 1624 struct tegra_emc *emc; local 1695 struct tegra_emc *emc = dev_get_drvdata(dev); local 1716 struct tegra_emc *emc = dev_get_drvdata(dev); local [all...] |
H A D | tegra124-emc.c | 518 static void emc_ccfifo_writel(struct tegra_emc *emc, u32 value, argument 521 writel(value, emc->regs + EMC_CCFIFO_DATA); 522 writel(offset, emc->regs + EMC_CCFIFO_ADDR); 525 static void emc_seq_update_timing(struct tegra_emc *emc) argument 530 writel(1, emc->regs + EMC_TIMING_CONTROL); 533 value = readl(emc->regs + EMC_STATUS); 539 dev_err(emc->dev, "timing update timed out\n"); 542 static void emc_seq_disable_auto_cal(struct tegra_emc *emc) argument 547 writel(0, emc->regs + EMC_AUTO_CAL_INTERVAL); 550 value = readl(emc 559 emc_seq_wait_clkchange(struct tegra_emc *emc) argument 574 tegra_emc_find_timing(struct tegra_emc *emc, unsigned long rate) argument 595 tegra_emc_prepare_timing_change(struct tegra_emc *emc, unsigned long rate) argument 823 tegra_emc_complete_timing_change(struct tegra_emc *emc, unsigned long rate) argument 880 emc_read_current_timing(struct tegra_emc *emc, struct emc_timing *timing) argument 899 emc_init(struct tegra_emc *emc) argument 920 load_one_timing_from_dt(struct tegra_emc *emc, struct emc_timing *timing, struct device_node *node) argument 991 tegra_emc_load_timings_from_dt(struct tegra_emc *emc, struct device_node *node) argument 1049 tegra_emc_rate_requests_init(struct tegra_emc *emc) argument 1059 emc_request_rate(struct tegra_emc *emc, unsigned long new_min_rate, unsigned long new_max_rate, enum emc_rate_request_type type) argument 1100 emc_set_min_rate(struct tegra_emc *emc, unsigned long rate, enum emc_rate_request_type type) argument 1113 emc_set_max_rate(struct tegra_emc *emc, unsigned long rate, enum emc_rate_request_type type) argument 1151 tegra_emc_validate_rate(struct tegra_emc *emc, unsigned long rate) argument 1165 struct tegra_emc *emc = s->private; local 1183 struct tegra_emc *emc = data; local 1192 struct tegra_emc *emc = data; local 1213 struct tegra_emc *emc = data; local 1222 struct tegra_emc *emc = data; local 1241 emc_debugfs_init(struct device *dev, struct tegra_emc *emc) argument 1318 struct tegra_emc *emc = to_tegra_emc_provider(dst->provider); local 1342 tegra_emc_interconnect_init(struct tegra_emc *emc) argument 1395 tegra_emc_opp_table_init(struct tegra_emc *emc) argument 1445 struct tegra_emc *emc; local [all...] |
H A D | Makefile | 16 obj-$(CONFIG_TEGRA20_EMC) += tegra20-emc.o 17 obj-$(CONFIG_TEGRA30_EMC) += tegra30-emc.o 18 obj-$(CONFIG_TEGRA124_EMC) += tegra124-emc.o 19 obj-$(CONFIG_TEGRA210_EMC_TABLE) += tegra210-emc-table.o 20 obj-$(CONFIG_TEGRA210_EMC) += tegra210-emc.o 21 obj-$(CONFIG_ARCH_TEGRA_186_SOC) += tegra186-emc.o 22 obj-$(CONFIG_ARCH_TEGRA_194_SOC) += tegra186-emc.o 23 obj-$(CONFIG_ARCH_TEGRA_234_SOC) += tegra186-emc.o 25 tegra210-emc-y := tegra210-emc [all...] |
H A D | tegra210-emc-cc-r21021.c | 14 #include "tegra210-emc.h" 36 #define emc_dbg(emc, flags, ...) dev_dbg(emc->dev, __VA_ARGS__) 108 emc_dbg(emc, EMA_UPDATES, "%s: (s=%lu) EMA: %u\n", \ 116 static u32 update_clock_tree_delay(struct tegra210_emc *emc, int type) argument 119 struct tegra210_emc_timing *last = emc->last; 120 struct tegra210_emc_timing *next = emc->next; 134 value = tegra210_emc_mrr_read(emc, 2, 19); 136 for (i = 0; i < emc->num_channels; i++) { 145 value = tegra210_emc_mrr_read(emc, 403 periodic_compensation_handler(struct tegra210_emc *emc, u32 type, struct tegra210_emc_timing *last, struct tegra210_emc_timing *next) argument 478 tegra210_emc_r21021_periodic_compensation(struct tegra210_emc *emc) argument 585 tegra210_emc_r21021_set_clock(struct tegra210_emc *emc, u32 clksrc) argument [all...] |
H A D | tegra210-emc.h | 939 void (*set_clock)(struct tegra210_emc *emc, u32 clksrc); 940 u32 (*periodic_compensation)(struct tegra210_emc *emc); 943 static inline void emc_writel(struct tegra210_emc *emc, u32 value, argument 946 writel_relaxed(value, emc->regs + offset); 949 static inline u32 emc_readl(struct tegra210_emc *emc, unsigned int offset) argument 951 return readl_relaxed(emc->regs + offset); 954 static inline void emc_channel_writel(struct tegra210_emc *emc, argument 958 writel_relaxed(value, emc->channel[channel] + offset); 961 static inline u32 emc_channel_readl(struct tegra210_emc *emc, argument 964 return readl_relaxed(emc 967 ccfifo_writel(struct tegra210_emc *emc, u32 value, unsigned int offset, u32 delay) argument [all...] |
/linux-master/drivers/clk/tegra/ |
H A D | clk-tegra20-emc.c | 3 * Based on drivers/clk/tegra/clk-emc.c 10 #define pr_fmt(fmt) "tegra-emc-clk: " fmt 57 struct tegra_clk_emc *emc = to_tegra_clk_emc(hw); local 60 val = readl_relaxed(emc->reg); 68 struct tegra_clk_emc *emc = to_tegra_clk_emc(hw); local 70 return readl_relaxed(emc->reg) >> CLK_SOURCE_EMC_2X_CLK_SRC_SHIFT; 75 struct tegra_clk_emc *emc = to_tegra_clk_emc(hw); local 78 val = readl_relaxed(emc->reg); 84 if (index == EMC_SRC_PLL_M && div == 0 && emc->want_low_jitter) 89 if (emc 104 struct tegra_clk_emc *emc = to_tegra_clk_emc(hw); local 138 struct tegra_clk_emc *emc = to_tegra_clk_emc(hw); local 170 struct tegra_clk_emc *emc = to_tegra_clk_emc(hw); local 228 struct tegra_clk_emc *emc; local 248 struct tegra_clk_emc *emc; local 284 struct tegra_clk_emc *emc; local [all...] |
H A D | clk-tegra210-emc.c | 53 struct tegra210_clk_emc *emc = to_tegra210_clk_emc(hw); local 57 value = readl_relaxed(emc->regs + CLK_SOURCE_EMC); 66 struct tegra210_clk_emc *emc = to_tegra210_clk_emc(hw); local 81 value = readl_relaxed(emc->regs + CLK_SOURCE_EMC); 92 struct tegra210_clk_emc *emc = to_tegra210_clk_emc(hw); local 93 struct tegra210_clk_emc_provider *provider = emc->provider; 107 static struct clk *tegra210_clk_emc_find_parent(struct tegra210_clk_emc *emc, argument 110 struct clk_hw *parent = clk_hw_get_parent_by_index(&emc->hw, index); 121 struct tegra210_clk_emc *emc = to_tegra210_clk_emc(hw); local 122 struct tegra210_clk_emc_provider *provider = emc 269 struct tegra210_clk_emc *emc; local 299 struct tegra210_clk_emc *emc = to_tegra210_clk_emc(hw); local 366 struct tegra210_clk_emc *emc = to_tegra210_clk_emc(__clk_get_hw(clk)); local [all...] |
H A D | Makefile | 20 obj-$(CONFIG_ARCH_TEGRA_2x_SOC) += clk-tegra20-emc.o 22 obj-$(CONFIG_ARCH_TEGRA_3x_SOC) += clk-tegra20-emc.o 26 obj-$(CONFIG_TEGRA124_CLK_EMC) += clk-tegra124-emc.o 30 obj-$(CONFIG_ARCH_TEGRA_210_SOC) += clk-tegra210-emc.o
|
H A D | clk-tegra124-emc.c | 3 * drivers/clk/tegra/clk-emc.c 79 struct tegra_emc *emc; member in struct:tegra_clk_emc 180 if (tegra->emc) 181 return tegra->emc; 199 tegra->emc = platform_get_drvdata(pdev); 200 if (!tegra->emc) { 206 return tegra->emc; 216 struct tegra_emc *emc = emc_ensure_emc_driver(tegra); local 218 if (!emc) 252 err = tegra->prepare_timing_change(emc, timin [all...] |
/linux-master/drivers/s390/char/ |
H A D | tape_3590.h | 93 unsigned int emc:4; member in struct:tape_3590_sense::__anon7979::__anon7980 105 unsigned int emc:4; member in struct:tape_3590_sense::__anon7979::__anon7981
|
H A D | tape_3590.c | 969 switch (sense->fmt.f70.emc) { 993 sense->fmt.f70.emc); 1033 switch (sense->fmt.f71.emc) { 1063 sense->fmt.f71.emc); 1144 switch (sense->fmt.f71.emc) { 1172 sense->fmt.f71.emc); 1265 sense->fmt.f70.emc, sense->fmt.f70.smc, 1276 sense->mc, sense->fmt.f71.emc, sense->fmt.f71.smc, 1287 sense->mc, sense->fmt.f71.emc, sense->fmt.f71.smc,
|
/linux-master/include/linux/clk/ |
H A D | tegra.h | 155 typedef int (tegra124_emc_prepare_timing_change_cb)(struct tegra_emc *emc, 157 typedef void (tegra124_emc_complete_timing_change_cb)(struct tegra_emc *emc,
|
/linux-master/arch/mips/include/asm/octeon/ |
H A D | cvmx-pciercx-defs.h | 262 __BITFIELD_FIELD(uint32_t emc:1,
|
/linux-master/arch/arm/mach-tegra/ |
H A D | sleep-tegra20.S | 351 mov32 r1, TEGRA_EMC_BASE @ r1 reserved for emc base addr
|
H A D | sleep-tegra30.S | 463 movweq r0, #:lower16:TEGRA_EMC_BASE @ r0 reserved for emc base 820 ldreq r0, =TEGRA_EMC_BASE @ r0 reserved for emc base addr
|