/linux-4.4.14/drivers/platform/x86/ |
H A D | intel_ips.c | 242 #define thm_readb(off) readb(ips->regmap + (off)) 243 #define thm_readw(off) readw(ips->regmap + (off)) 244 #define thm_readl(off) readl(ips->regmap + (off)) 245 #define thm_readq(off) readq(ips->regmap + (off)) 247 #define thm_writeb(off, val) writeb((val), ips->regmap + (off)) 248 #define thm_writew(off, val) writew((val), ips->regmap + (off)) 249 #define thm_writel(off, val) writel((val), ips->regmap + (off)) 348 ips_gpu_turbo_enabled(struct ips_driver *ips); 352 * @ips: IPS driver struct 359 static bool ips_cpu_busy(struct ips_driver *ips) ips_cpu_busy() argument 369 * @ips: IPS driver struct 377 static void ips_cpu_raise(struct ips_driver *ips) ips_cpu_raise() argument 382 if (!ips->cpu_turbo_enabled) ips_cpu_raise() 391 if (((new_tdp_limit * 10) / 8) > ips->core_power_limit) ips_cpu_raise() 407 * @ips: IPS driver struct 415 static void ips_cpu_lower(struct ips_driver *ips) ips_cpu_lower() argument 426 if (new_limit < (ips->orig_turbo_limit & TURBO_TDP_MASK)) ips_cpu_lower() 427 new_limit = ips->orig_turbo_limit & TURBO_TDP_MASK; ips_cpu_lower() 461 * @ips: IPS driver struct 466 static void ips_enable_cpu_turbo(struct ips_driver *ips) ips_enable_cpu_turbo() argument 469 if (ips->__cpu_turbo_on) ips_enable_cpu_turbo() 472 if (ips->turbo_toggle_allowed) ips_enable_cpu_turbo() 473 on_each_cpu(do_enable_cpu_turbo, ips, 1); ips_enable_cpu_turbo() 475 ips->__cpu_turbo_on = true; ips_enable_cpu_turbo() 499 * @ips: IPS driver struct 504 static void ips_disable_cpu_turbo(struct ips_driver *ips) ips_disable_cpu_turbo() argument 507 if (!ips->__cpu_turbo_on) ips_disable_cpu_turbo() 510 if (ips->turbo_toggle_allowed) ips_disable_cpu_turbo() 511 on_each_cpu(do_disable_cpu_turbo, ips, 1); ips_disable_cpu_turbo() 513 ips->__cpu_turbo_on = false; ips_disable_cpu_turbo() 518 * @ips: IPS driver struct 526 static bool ips_gpu_busy(struct ips_driver *ips) ips_gpu_busy() argument 528 if (!ips_gpu_turbo_enabled(ips)) ips_gpu_busy() 531 return ips->gpu_busy(); ips_gpu_busy() 536 * @ips: IPS driver struct 541 static void ips_gpu_raise(struct ips_driver *ips) ips_gpu_raise() argument 543 if (!ips_gpu_turbo_enabled(ips)) ips_gpu_raise() 546 if (!ips->gpu_raise()) ips_gpu_raise() 547 ips->gpu_turbo_enabled = false; ips_gpu_raise() 554 * @ips: IPS driver struct 558 static void ips_gpu_lower(struct ips_driver *ips) ips_gpu_lower() argument 560 if (!ips_gpu_turbo_enabled(ips)) ips_gpu_lower() 563 if (!ips->gpu_lower()) ips_gpu_lower() 564 ips->gpu_turbo_enabled = false; ips_gpu_lower() 571 * @ips: IPS driver struct 576 static void ips_enable_gpu_turbo(struct ips_driver *ips) ips_enable_gpu_turbo() argument 578 if (ips->__gpu_turbo_on) ips_enable_gpu_turbo() 580 ips->__gpu_turbo_on = true; ips_enable_gpu_turbo() 585 * @ips: IPS driver struct 589 static void ips_disable_gpu_turbo(struct ips_driver *ips) ips_disable_gpu_turbo() argument 592 if (!ips->__gpu_turbo_on) ips_disable_gpu_turbo() 595 if (!ips->gpu_turbo_disable()) ips_disable_gpu_turbo() 596 dev_err(&ips->dev->dev, "failed to disable graphics turbo\n"); ips_disable_gpu_turbo() 598 ips->__gpu_turbo_on = false; ips_disable_gpu_turbo() 603 * @ips: IPS driver struct 607 static bool mcp_exceeded(struct ips_driver *ips) mcp_exceeded() argument 614 spin_lock_irqsave(&ips->turbo_status_lock, flags); mcp_exceeded() 616 temp_limit = ips->mcp_temp_limit * 100; mcp_exceeded() 617 if (ips->mcp_avg_temp > temp_limit) mcp_exceeded() 620 avg_power = ips->cpu_avg_power + ips->mch_avg_power; mcp_exceeded() 621 if (avg_power > ips->mcp_power_limit) mcp_exceeded() 624 spin_unlock_irqrestore(&ips->turbo_status_lock, flags); mcp_exceeded() 631 * @ips: IPS driver struct 636 static bool cpu_exceeded(struct ips_driver *ips, int cpu) cpu_exceeded() argument 642 spin_lock_irqsave(&ips->turbo_status_lock, flags); cpu_exceeded() 643 avg = cpu ? ips->ctv2_avg_temp : ips->ctv1_avg_temp; cpu_exceeded() 644 if (avg > (ips->limits->core_temp_limit * 100)) cpu_exceeded() 646 if (ips->cpu_avg_power > ips->core_power_limit * 100) cpu_exceeded() 648 spin_unlock_irqrestore(&ips->turbo_status_lock, flags); cpu_exceeded() 651 dev_info(&ips->dev->dev, cpu_exceeded() 659 * @ips: IPS driver struct 663 static bool mch_exceeded(struct ips_driver *ips) mch_exceeded() argument 668 spin_lock_irqsave(&ips->turbo_status_lock, flags); mch_exceeded() 669 if (ips->mch_avg_temp > (ips->limits->mch_temp_limit * 100)) mch_exceeded() 671 if (ips->mch_avg_power > ips->mch_power_limit) mch_exceeded() 673 spin_unlock_irqrestore(&ips->turbo_status_lock, flags); mch_exceeded() 680 * @ips: IPS structure 686 static void verify_limits(struct ips_driver *ips) verify_limits() argument 688 if (ips->mcp_power_limit < ips->limits->mcp_power_limit || verify_limits() 689 ips->mcp_power_limit > 35000) verify_limits() 690 ips->mcp_power_limit = ips->limits->mcp_power_limit; verify_limits() 692 if (ips->mcp_temp_limit < ips->limits->core_temp_limit || verify_limits() 693 ips->mcp_temp_limit < ips->limits->mch_temp_limit || verify_limits() 694 ips->mcp_temp_limit > 150) verify_limits() 695 ips->mcp_temp_limit = min(ips->limits->core_temp_limit, verify_limits() 696 ips->limits->mch_temp_limit); verify_limits() 701 * @ips: IPS driver struct 712 static void update_turbo_limits(struct ips_driver *ips) update_turbo_limits() argument 716 ips->cpu_turbo_enabled = !(hts & HTS_PCTD_DIS); update_turbo_limits() 721 ips->cpu_turbo_enabled = false; update_turbo_limits() 723 if (ips->gpu_busy) update_turbo_limits() 724 ips->gpu_turbo_enabled = !(hts & HTS_GTD_DIS); update_turbo_limits() 726 ips->core_power_limit = thm_readw(THM_MPCPC); update_turbo_limits() 727 ips->mch_power_limit = thm_readw(THM_MMGPC); update_turbo_limits() 728 ips->mcp_temp_limit = thm_readw(THM_PTL); update_turbo_limits() 729 ips->mcp_power_limit = thm_readw(THM_MPPC); update_turbo_limits() 731 verify_limits(ips); update_turbo_limits() 737 * @data: ips driver structure 768 struct ips_driver *ips = data; ips_adjust() local 771 dev_dbg(&ips->dev->dev, "starting ips-adjust thread\n"); ips_adjust() 778 bool cpu_busy = ips_cpu_busy(ips); ips_adjust() 779 bool gpu_busy = ips_gpu_busy(ips); ips_adjust() 781 spin_lock_irqsave(&ips->turbo_status_lock, flags); ips_adjust() 782 if (ips->poll_turbo_status) ips_adjust() 783 update_turbo_limits(ips); ips_adjust() 784 spin_unlock_irqrestore(&ips->turbo_status_lock, flags); ips_adjust() 787 if (ips->cpu_turbo_enabled) ips_adjust() 788 ips_enable_cpu_turbo(ips); ips_adjust() 790 ips_disable_cpu_turbo(ips); ips_adjust() 792 if (ips->gpu_turbo_enabled) ips_adjust() 793 ips_enable_gpu_turbo(ips); ips_adjust() 795 ips_disable_gpu_turbo(ips); ips_adjust() 798 if (mcp_exceeded(ips)) { ips_adjust() 799 ips_cpu_lower(ips); ips_adjust() 800 ips_gpu_lower(ips); ips_adjust() 804 if (!cpu_exceeded(ips, 0) && cpu_busy) ips_adjust() 805 ips_cpu_raise(ips); ips_adjust() 807 ips_cpu_lower(ips); ips_adjust() 809 if (!mch_exceeded(ips) && gpu_busy) ips_adjust() 810 ips_gpu_raise(ips); ips_adjust() 812 ips_gpu_lower(ips); ips_adjust() 818 dev_dbg(&ips->dev->dev, "ips-adjust thread stopped\n"); ips_adjust() 828 static u16 calc_avg_temp(struct ips_driver *ips, u16 *array) calc_avg_temp() argument 844 static u16 read_mgtv(struct ips_driver *ips) read_mgtv() argument 862 static u16 read_ptv(struct ips_driver *ips) read_ptv() argument 866 slope = (ips->pta_val & PTA_SLOPE_MASK) >> PTA_SLOPE_SHIFT; read_ptv() 867 offset = ips->pta_val & PTA_OFFSET_MASK; read_ptv() 874 static u16 read_ctv(struct ips_driver *ips, int cpu) read_ctv() argument 888 static u32 get_cpu_power(struct ips_driver *ips, u32 *last, int period) get_cpu_power() argument 929 static u32 calc_avg_power(struct ips_driver *ips, u32 *array) calc_avg_power() argument 951 * @data: ips driver structure 962 struct ips_driver *ips = data; ips_monitor() local 978 dev_err(&ips->dev->dev, ips_monitor() 979 "failed to allocate sample array, ips disabled\n"); ips_monitor() 1001 mcp_samples[i] = read_ptv(ips); ips_monitor() 1003 val = read_ctv(ips, 0); ips_monitor() 1006 val = read_ctv(ips, 1); ips_monitor() 1009 val = read_mgtv(ips); ips_monitor() 1012 cpu_power = get_cpu_power(ips, &old_cpu_power, ips_monitor() 1016 if (ips->read_mch_val) { ips_monitor() 1017 mchp = ips->read_mch_val(); ips_monitor() 1026 ips->mcp_avg_temp = calc_avg_temp(ips, mcp_samples); ips_monitor() 1027 ips->ctv1_avg_temp = calc_avg_temp(ips, ctv1_samples); ips_monitor() 1028 ips->ctv2_avg_temp = calc_avg_temp(ips, ctv2_samples); ips_monitor() 1029 ips->mch_avg_temp = calc_avg_temp(ips, mch_samples); ips_monitor() 1030 ips->cpu_avg_power = calc_avg_power(ips, cpu_samples); ips_monitor() 1031 ips->mch_avg_power = calc_avg_power(ips, mchp_samples); ips_monitor() 1040 wake_up_process(ips->adjust); ips_monitor() 1058 val = read_ptv(ips); ips_monitor() 1059 ips->mcp_avg_temp = update_average_temp(ips->mcp_avg_temp, val); ips_monitor() 1062 val = read_ctv(ips, 0); ips_monitor() 1063 ips->ctv1_avg_temp = ips_monitor() 1064 update_average_temp(ips->ctv1_avg_temp, val); ips_monitor() 1066 cpu_val = get_cpu_power(ips, &old_cpu_power, ips_monitor() 1068 ips->cpu_avg_power = ips_monitor() 1069 update_average_power(ips->cpu_avg_power, cpu_val); ips_monitor() 1071 if (ips->second_cpu) { ips_monitor() 1073 val = read_ctv(ips, 1); ips_monitor() 1074 ips->ctv2_avg_temp = ips_monitor() 1075 update_average_temp(ips->ctv2_avg_temp, val); ips_monitor() 1079 val = read_mgtv(ips); ips_monitor() 1080 ips->mch_avg_temp = update_average_temp(ips->mch_avg_temp, val); ips_monitor() 1082 if (ips->read_mch_val) { ips_monitor() 1083 mch_val = ips->read_mch_val(); ips_monitor() 1084 ips->mch_avg_power = ips_monitor() 1085 update_average_power(ips->mch_avg_power, ips_monitor() 1099 dev_warn(&ips->dev->dev, "ME failed to update for more than 1s, likely hung\n"); ips_monitor() 1121 dev_dbg(&ips->dev->dev, "ips-monitor thread stopped\n"); ips_monitor() 1130 dev_dbg(&ips->dev->dev, #reg ": 0x%04x\n", val); \ 1135 dev_dbg(&ips->dev->dev, #reg ": 0x%08x\n", val); \ 1140 dev_dbg(&ips->dev->dev, #reg ": 0x%016x\n", val); \ 1143 static void dump_thermal_info(struct ips_driver *ips) 1148 dev_dbg(&ips->dev->dev, "Processor temp limit: %d\n", ptl); 1170 struct ips_driver *ips = arg; ips_irq_handler() local 1177 dev_info(&ips->dev->dev, "TSES: 0x%02x\n", tses); ips_irq_handler() 1178 dev_info(&ips->dev->dev, "TES: 0x%02x\n", tes); ips_irq_handler() 1188 spin_lock(&ips->turbo_status_lock); ips_irq_handler() 1189 ips->core_power_limit = (sts & STS_PCPL_MASK) >> ips_irq_handler() 1191 ips->mch_power_limit = (sts & STS_GPL_MASK) >> ips_irq_handler() 1194 ips->cpu_turbo_enabled = !(sts & STS_PCTD_DIS); ips_irq_handler() 1199 ips->cpu_turbo_enabled = false; ips_irq_handler() 1200 if (ips->gpu_busy) ips_irq_handler() 1201 ips->gpu_turbo_enabled = !(sts & STS_GTD_DIS); ips_irq_handler() 1202 ips->mcp_temp_limit = (sts & STS_PTL_MASK) >> ips_irq_handler() 1204 ips->mcp_power_limit = (tc1 & STS_PPL_MASK) >> ips_irq_handler() 1206 verify_limits(ips); ips_irq_handler() 1207 spin_unlock(&ips->turbo_status_lock); ips_irq_handler() 1216 dev_warn(&ips->dev->dev, ips_irq_handler() 1225 static void ips_debugfs_init(struct ips_driver *ips) { return; } ips_debugfs_cleanup() argument 1226 static void ips_debugfs_cleanup(struct ips_driver *ips) { return; } ips_debugfs_cleanup() argument 1232 struct ips_driver *ips; ips_debugfs_cleanup() member in struct:ips_debugfs_node 1239 struct ips_driver *ips = m->private; show_cpu_temp() local 1241 seq_printf(m, "%d.%02d\n", ips->ctv1_avg_temp / 100, show_cpu_temp() 1242 ips->ctv1_avg_temp % 100); show_cpu_temp() 1249 struct ips_driver *ips = m->private; show_cpu_power() local 1251 seq_printf(m, "%dmW\n", ips->cpu_avg_power); show_cpu_power() 1279 struct ips_driver *ips = m->private; show_mch_temp() local 1281 seq_printf(m, "%d.%02d\n", ips->mch_avg_temp / 100, show_mch_temp() 1282 ips->mch_avg_temp % 100); show_mch_temp() 1289 struct ips_driver *ips = m->private; show_mch_power() local 1291 seq_printf(m, "%dmW\n", ips->mch_avg_power); show_mch_power() 1308 return single_open(file, node->show, node->ips); ips_debugfs_open() 1319 static void ips_debugfs_cleanup(struct ips_driver *ips) ips_debugfs_cleanup() argument 1321 if (ips->debug_root) ips_debugfs_cleanup() 1322 debugfs_remove_recursive(ips->debug_root); ips_debugfs_cleanup() 1326 static void ips_debugfs_init(struct ips_driver *ips) ips_debugfs_init() argument 1330 ips->debug_root = debugfs_create_dir("ips", NULL); ips_debugfs_init() 1331 if (!ips->debug_root) { ips_debugfs_init() 1332 dev_err(&ips->dev->dev, ips_debugfs_init() 1334 PTR_ERR(ips->debug_root)); ips_debugfs_init() 1342 node->ips = ips; ips_debugfs_init() 1344 ips->debug_root, node, ips_debugfs_init() 1347 dev_err(&ips->dev->dev, ips_debugfs_init() 1357 ips_debugfs_cleanup(ips); ips_debugfs_init() 1368 static struct ips_mcp_limits *ips_detect_cpu(struct ips_driver *ips) ips_detect_cpu() argument 1375 dev_info(&ips->dev->dev, "Non-IPS CPU detected.\n"); ips_detect_cpu() 1386 ips->turbo_toggle_allowed = true; ips_detect_cpu() 1388 ips->turbo_toggle_allowed = false; ips_detect_cpu() 1397 dev_info(&ips->dev->dev, "No CPUID match found.\n"); ips_detect_cpu() 1406 dev_info(&ips->dev->dev, "CPU TDP doesn't match expected value (found %d, expected %d)\n", ips_detect_cpu() 1417 * @ips: IPS driver 1424 static bool ips_get_i915_syms(struct ips_driver *ips) ips_get_i915_syms() argument 1426 ips->read_mch_val = symbol_get(i915_read_mch_val); ips_get_i915_syms() 1427 if (!ips->read_mch_val) ips_get_i915_syms() 1429 ips->gpu_raise = symbol_get(i915_gpu_raise); ips_get_i915_syms() 1430 if (!ips->gpu_raise) ips_get_i915_syms() 1432 ips->gpu_lower = symbol_get(i915_gpu_lower); ips_get_i915_syms() 1433 if (!ips->gpu_lower) ips_get_i915_syms() 1435 ips->gpu_busy = symbol_get(i915_gpu_busy); ips_get_i915_syms() 1436 if (!ips->gpu_busy) ips_get_i915_syms() 1438 ips->gpu_turbo_disable = symbol_get(i915_gpu_turbo_disable); ips_get_i915_syms() 1439 if (!ips->gpu_turbo_disable) ips_get_i915_syms() 1457 ips_gpu_turbo_enabled(struct ips_driver *ips) ips_gpu_turbo_enabled() argument 1459 if (!ips->gpu_busy && late_i915_load) { ips_gpu_turbo_enabled() 1460 if (ips_get_i915_syms(ips)) { ips_gpu_turbo_enabled() 1461 dev_info(&ips->dev->dev, ips_gpu_turbo_enabled() 1463 ips->gpu_turbo_enabled = !(thm_readl(THM_HTS) & HTS_GTD_DIS); ips_gpu_turbo_enabled() 1467 return ips->gpu_turbo_enabled; ips_gpu_turbo_enabled() 1510 struct ips_driver *ips; ips_probe() local 1519 ips = kzalloc(sizeof(struct ips_driver), GFP_KERNEL); ips_probe() 1520 if (!ips) ips_probe() 1523 pci_set_drvdata(dev, ips); ips_probe() 1524 ips->dev = dev; ips_probe() 1526 ips->limits = ips_detect_cpu(ips); ips_probe() 1527 if (!ips->limits) { ips_probe() 1533 spin_lock_init(&ips->turbo_status_lock); ips_probe() 1547 ret = pci_request_regions(dev, "ips thermal sensor"); ips_probe() 1554 ips->regmap = ioremap(pci_resource_start(dev, 0), ips_probe() 1556 if (!ips->regmap) { ips_probe() 1578 ips->second_cpu = true; ips_probe() 1580 update_turbo_limits(ips); ips_probe() 1582 ips->mcp_power_limit / 10); ips_probe() 1584 ips->core_power_limit / 10); ips_probe() 1587 ips->poll_turbo_status = true; ips_probe() 1589 if (!ips_get_i915_syms(ips)) { ips_probe() 1591 ips->gpu_turbo_enabled = false; ips_probe() 1594 ips->gpu_turbo_enabled = true; ips_probe() 1613 ret = request_irq(dev->irq, ips_irq_handler, IRQF_SHARED, "ips", ips_probe() 1614 ips); ips_probe() 1626 ips->cta_val = thm_readw(THM_CTA); ips_probe() 1627 ips->pta_val = thm_readw(THM_PTA); ips_probe() 1628 ips->mgta_val = thm_readw(THM_MGTA); ips_probe() 1631 rdmsrl(TURBO_POWER_CURRENT_LIMIT, ips->orig_turbo_limit); ips_probe() 1633 ips_disable_cpu_turbo(ips); ips_probe() 1634 ips->cpu_turbo_enabled = false; ips_probe() 1637 ips->adjust = kthread_create(ips_adjust, ips, "ips-adjust"); ips_probe() 1638 if (IS_ERR(ips->adjust)) { ips_probe() 1650 ips->monitor = kthread_run(ips_monitor, ips, "ips-monitor"); ips_probe() 1651 if (IS_ERR(ips->monitor)) { ips_probe() 1658 hts = (ips->core_power_limit << HTS_PCPL_SHIFT) | ips_probe() 1659 (ips->mcp_temp_limit << HTS_PTL_SHIFT) | HTS_NVV; ips_probe() 1665 ips_debugfs_init(ips); ips_probe() 1668 ips->mcp_temp_limit); ips_probe() 1672 kthread_stop(ips->adjust); ips_probe() 1674 free_irq(ips->dev->irq, ips); ips_probe() 1676 iounmap(ips->regmap); ips_probe() 1680 kfree(ips); ips_probe() 1686 struct ips_driver *ips = pci_get_drvdata(dev); ips_remove() local 1689 if (!ips) ips_remove() 1692 ips_debugfs_cleanup(ips); ips_remove() 1695 if (ips->read_mch_val) ips_remove() 1697 if (ips->gpu_raise) ips_remove() 1699 if (ips->gpu_lower) ips_remove() 1701 if (ips->gpu_busy) ips_remove() 1703 if (ips->gpu_turbo_disable) ips_remove() 1709 wrmsrl(TURBO_POWER_CURRENT_LIMIT, ips->orig_turbo_limit); ips_remove() 1711 free_irq(ips->dev->irq, ips); ips_remove() 1712 if (ips->adjust) ips_remove() 1713 kthread_stop(ips->adjust); ips_remove() 1714 if (ips->monitor) ips_remove() 1715 kthread_stop(ips->monitor); ips_remove() 1716 iounmap(ips->regmap); ips_remove() 1718 kfree(ips); ips_remove() 1727 .name = "intel ips",
|
/linux-4.4.14/arch/powerpc/platforms/512x/ |
H A D | clock-commonclk.c | 739 clks[MPC512x_CLK_IPS] = mpc512x_clk_divtable("ips", "csb", mpc512x_clk_setup_clock_tree() 806 "nfc-ug", "ips", &clkregs->scfr1, mpc512x_clk_setup_clock_tree() 809 clks[MPC512x_CLK_LPC_UG] = mpc512x_clk_divtable("lpc-ug", "ips", mpc512x_clk_setup_clock_tree() 819 "pata", "ips", &clkregs->sccr1, 28); mpc512x_clk_setup_clock_tree() 826 name, "ips", &clkregs->sccr1, 27 - mclk_idx); mpc512x_clk_setup_clock_tree() 829 clks[MPC512x_CLK_PSC_FIFO] = mpc512x_clk_gated("psc-fifo", "ips", mpc512x_clk_setup_clock_tree() 833 "sata", "ips", &clkregs->sccr1, 14); mpc512x_clk_setup_clock_tree() 835 clks[MPC512x_CLK_FEC] = mpc512x_clk_gated("fec", "ips", mpc512x_clk_setup_clock_tree() 845 "fec2", "ips", &clkregs->sccr1, 9); mpc512x_clk_setup_clock_tree() 854 clks[MPC512x_CLK_MEM] = mpc512x_clk_gated("mem", "ips", mpc512x_clk_setup_clock_tree() 860 clks[MPC512x_CLK_I2C] = mpc512x_clk_gated("i2c", "ips", mpc512x_clk_setup_clock_tree() 863 clks[MPC512x_CLK_BDLC] = mpc512x_clk_gated("bdlc", "ips", mpc512x_clk_setup_clock_tree() 872 "spdif", "ips", &clkregs->sccr2, 23); mpc512x_clk_setup_clock_tree() 1063 * do register the 'ips', 'sys', and 'ref' names globally 1068 clk_register_clkdev(clks[MPC512x_CLK_IPS], "ips", NULL);
|
/linux-4.4.14/arch/x86/platform/uv/ |
H A D | uv_nmi.c | 149 * "ips" - dump IP info for each cpu 396 * also includes the show "ips" (instruction pointers) action whereas the 397 * action "ips" only displays instruction pointers for the non-idle CPU's. 407 if (current->pid != 0 || !uv_nmi_action_is("ips")) uv_nmi_dump_state_cpu() 462 uv_nmi_action_is("ips") ? "IPs" : "processes", uv_nmi_dump_state() 629 if (uv_nmi_action_is("ips") || uv_nmi_action_is("dump")) uv_handle_nmi()
|
/linux-4.4.14/drivers/regulator/ |
H A D | axp20x-regulator.c | 224 AXP_DESC_IO(AXP22X, LDO_IO0, "ldo_io0", "ips", 700, 3300, 100, 227 AXP_DESC_IO(AXP22X, LDO_IO1, "ldo_io1", "ips", 700, 3300, 100, 230 AXP_DESC_FIXED(AXP22X, RTC_LDO, "rtc_ldo", "ips", 3000),
|
/linux-4.4.14/drivers/gpu/drm/i915/ |
H A D | intel_pm.c | 138 dev_priv->ips.r_t = dev_priv->mem_freq; i915_ironlake_get_mem_freq() 170 dev_priv->ips.c_m = 0; i915_ironlake_get_mem_freq() 172 dev_priv->ips.c_m = 1; i915_ironlake_get_mem_freq() 174 dev_priv->ips.c_m = 2; i915_ironlake_get_mem_freq() 4216 dev_priv->ips.fmax = fmax; /* IPS callback will increase this */ ironlake_enable_drps() 4217 dev_priv->ips.fstart = fstart; ironlake_enable_drps() 4219 dev_priv->ips.max_delay = fstart; ironlake_enable_drps() 4220 dev_priv->ips.min_delay = fmin; ironlake_enable_drps() 4221 dev_priv->ips.cur_delay = fstart; ironlake_enable_drps() 4244 dev_priv->ips.last_count1 = I915_READ(DMIEC) + ironlake_enable_drps() 4246 dev_priv->ips.last_time1 = jiffies_to_msecs(jiffies); ironlake_enable_drps() 4247 dev_priv->ips.last_count2 = I915_READ(GFXEC); ironlake_enable_drps() 4248 dev_priv->ips.last_time2 = ktime_get_raw_ns(); ironlake_enable_drps() 4270 ironlake_set_drps(dev, dev_priv->ips.fstart); ironlake_disable_drps() 5666 diff1 = now - dev_priv->ips.last_time1; __i915_chipset_val() 5674 return dev_priv->ips.chipset_power; __i915_chipset_val() 5683 if (total_count < dev_priv->ips.last_count1) { __i915_chipset_val() 5684 diff = ~0UL - dev_priv->ips.last_count1; __i915_chipset_val() 5687 diff = total_count - dev_priv->ips.last_count1; __i915_chipset_val() 5691 if (cparams[i].i == dev_priv->ips.c_m && __i915_chipset_val() 5692 cparams[i].t == dev_priv->ips.r_t) { __i915_chipset_val() 5703 dev_priv->ips.last_count1 = total_count; __i915_chipset_val() 5704 dev_priv->ips.last_time1 = now; __i915_chipset_val() 5706 dev_priv->ips.chipset_power = ret; __i915_chipset_val() 5774 diffms = now - dev_priv->ips.last_time2; __i915_update_gfx_val() 5783 if (count < dev_priv->ips.last_count2) { __i915_update_gfx_val() 5784 diff = ~0UL - dev_priv->ips.last_count2; __i915_update_gfx_val() 5787 diff = count - dev_priv->ips.last_count2; __i915_update_gfx_val() 5790 dev_priv->ips.last_count2 = count; __i915_update_gfx_val() 5791 dev_priv->ips.last_time2 = now; __i915_update_gfx_val() 5796 dev_priv->ips.gfx_power = diff; __i915_update_gfx_val() 5840 corr2 = (corr * dev_priv->ips.corr); __i915_gfx_val() 5847 return dev_priv->ips.gfx_power + state2; __i915_gfx_val() 5912 if (dev_priv->ips.max_delay > dev_priv->ips.fmax) i915_gpu_raise() 5913 dev_priv->ips.max_delay--; i915_gpu_raise() 5940 if (dev_priv->ips.max_delay < dev_priv->ips.min_delay) i915_gpu_lower() 5941 dev_priv->ips.max_delay++; i915_gpu_lower() 5995 dev_priv->ips.max_delay = dev_priv->ips.fstart; i915_gpu_turbo_disable() 5997 if (!ironlake_set_drps(dev_priv->dev, dev_priv->ips.fstart)) i915_gpu_turbo_disable() 6029 /* We only register the i915 ips part with intel-ips once everything is intel_gpu_ips_init() 6030 * set up, to avoid intel-ips sneaking in and reading bogus values. */ intel_gpu_ips_init() 6113 dev_priv->ips.corr = (lcfuse & LCFUSE_HIV_MASK); intel_init_emon()
|
H A D | i915_irq.c | 950 new_delay = dev_priv->ips.cur_delay; ironlake_rps_change_irq_handler() 960 if (dev_priv->ips.cur_delay != dev_priv->ips.max_delay) ironlake_rps_change_irq_handler() 961 new_delay = dev_priv->ips.cur_delay - 1; ironlake_rps_change_irq_handler() 962 if (new_delay < dev_priv->ips.max_delay) ironlake_rps_change_irq_handler() 963 new_delay = dev_priv->ips.max_delay; ironlake_rps_change_irq_handler() 965 if (dev_priv->ips.cur_delay != dev_priv->ips.min_delay) ironlake_rps_change_irq_handler() 966 new_delay = dev_priv->ips.cur_delay + 1; ironlake_rps_change_irq_handler() 967 if (new_delay > dev_priv->ips.min_delay) ironlake_rps_change_irq_handler() 968 new_delay = dev_priv->ips.min_delay; ironlake_rps_change_irq_handler() 972 dev_priv->ips.cur_delay = new_delay; ironlake_rps_change_irq_handler()
|
H A D | i915_drv.h | 1865 /* ilk-only ips/rps state. Everything in here is protected by the global 1867 struct intel_ilk_power_mgmt ips; member in struct:drm_i915_private
|
H A D | intel_display.c | 12058 DRM_DEBUG_KMS("ips: %i\n", pipe_config->ips_enabled); intel_dump_pipe_config()
|
/linux-4.4.14/tools/perf/arch/powerpc/util/ |
H A D | skip-callchain-idx.c | 230 * (chain->ips[3]) is undefined and must be ignored. 249 ip = chain->ips[2]; arch_skip_callchain_idx()
|
/linux-4.4.14/tools/perf/tests/ |
H A D | sample-parsing.c | 81 COMP(callchain->ips[i]); samples_same() 159 /* 3 ips */ do_test()
|
H A D | hists_cumulate.c | 47 * of nr and ips[].
|
/linux-4.4.14/drivers/scsi/ |
H A D | Makefile | 76 obj-$(CONFIG_SCSI_IPS) += ips.o
|
H A D | ips.c | 2 /* ips.c -- driver for the Adaptec / IBM ServeRAID controller */ 109 /* 4.72.01 - I/O Mapped Memory release ( so "insmod ips" does not Fail ) */ 187 #include "ips.h" 199 static char *ips = NULL; variable 200 module_param(ips, charp, 0); 340 static const char ips_name[] = "ips"; 364 .proc_name = "ips", 387 static char ips_hot_plug_name[] = "ips"; 544 __setup("ips=", ips_setup); 565 if (ips) ips_detect() 566 ips_setup(ips); ips_detect() 6788 printk(KERN_ERR "ips: This driver has only been tested on the x86/ia64/x86_64 platforms\n"); ips_module_init() 6841 rc = pci_request_regions(pci_dev, "ips"); ips_insert_device()
|
H A D | ips.h | 2 /* ips.h -- driver for the Adaptec / IBM ServeRAID controller */
|
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/ |
H A D | sw.c | 398 module_param_named(ips, rtl88ee_mod_params.inactiveps, bool, 0444); 405 MODULE_PARM_DESC(ips, "Set to 0 to not use link power save (default 1)\n");
|
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/ |
H A D | sw.c | 377 module_param_named(ips, rtl92ce_mod_params.inactiveps, bool, 0444); 381 MODULE_PARM_DESC(ips, "Set to 0 to not use link power save (default 1)\n");
|
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/rtl8192de/ |
H A D | sw.c | 374 module_param_named(ips, rtl92de_mod_params.inactiveps, bool, 0444); 378 MODULE_PARM_DESC(ips, "Set to 0 to not use link power save (default 1)\n");
|
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/rtl8192ee/ |
H A D | sw.c | 374 module_param_named(ips, rtl92ee_mod_params.inactiveps, bool, 0444); 381 MODULE_PARM_DESC(ips, "Set to 0 to not use link power save (default 1)\n");
|
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/rtl8192se/ |
H A D | sw.c | 425 module_param_named(ips, rtl92se_mod_params.inactiveps, bool, 0444); 429 MODULE_PARM_DESC(ips, "Set to 0 to not use link power save (default 1)\n");
|
H A D | hw.c | 1554 /* this is very important for ips power save */ rtl92se_card_disable() 2384 * and cause current increasing about 40 mA for ips, rtl92se_gpio_radio_on_off_checking()
|
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/rtl8723ae/ |
H A D | sw.c | 390 module_param_named(ips, rtl8723e_mod_params.inactiveps, bool, 0444); 397 MODULE_PARM_DESC(ips, "Set to 0 to not use link power save (default 1)\n");
|
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/rtl8723be/ |
H A D | sw.c | 392 module_param_named(ips, rtl8723be_mod_params.inactiveps, bool, 0444); 400 MODULE_PARM_DESC(ips, "Set to 0 to not use link power save (default 1)\n");
|
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/ |
H A D | sw.c | 438 module_param_named(ips, rtl8821ae_mod_params.inactiveps, bool, 0444); 446 MODULE_PARM_DESC(ips, "Set to 0 to not use link power save (default 1)\n");
|
/linux-4.4.14/tools/perf/util/ |
H A D | machine.c | 1694 if (chain->ips[i] == PERF_CONTEXT_USER) resolve_lbr_callchain_sample() 1722 ip = chain->ips[j]; resolve_lbr_callchain_sample() 1731 ip = chain->ips[i + 1 - (j - lbr_nr)]; resolve_lbr_callchain_sample() 1809 chain->ips[first_call] >= PERF_CONTEXT_MAX) thread__resolve_callchain_sample() 1811 else if (be[i].from < chain->ips[first_call] && thread__resolve_callchain_sample() 1812 be[i].from >= chain->ips[first_call] - 8) thread__resolve_callchain_sample() 1852 ip = chain->ips[j]; thread__resolve_callchain_sample()
|
H A D | thread-stack.c | 332 chain->ips[0] = ip; thread_stack__sample() 335 chain->ips[i] = thread->ts->stack[thread->ts->cnt - i].ret_addr; thread_stack__sample()
|
H A D | event.h | 129 u64 ips[0]; member in struct:ip_callchain
|
H A D | session.c | 711 if (callchain->ips[i] == PERF_CONTEXT_USER) callchain__lbr_callstack_printf() 740 i, callchain->ips[i]); callchain__lbr_callstack_printf() 763 i, callchain->ips[i]); callchain__printf()
|
H A D | sort.c | 1612 * their ips, but the name of symbol. sort_dimension__add()
|
/linux-4.4.14/drivers/net/can/mscan/ |
H A D | mpc5xxx_can.c | 137 * get set, and the 'ips' clock is the input to the MSCAN mpc512x_can_get_clock() 202 clk_can = devm_clk_get(&ofdev->dev, "ips"); mpc512x_can_get_clock()
|
/linux-4.4.14/drivers/net/wireless/realtek/rtlwifi/ |
H A D | debug.h | 91 #define COMP_POWER BIT(16) /*For lps/ips/aspm. */
|
H A D | core.c | 619 *although rfoff may not cause by ips, but we will rtl_op_config()
|
/linux-4.4.14/drivers/net/wireless/mwifiex/ |
H A D | cfg80211.c | 2934 __be32 ips[MWIFIEX_MAX_SUPPORTED_IPADDR]; mwifiex_set_auto_arp_mef_entry() local 2941 memset(ips, 0, sizeof(ips)); mwifiex_set_auto_arp_mef_entry() 2950 ips[i] = ifa->ifa_local; mwifiex_set_auto_arp_mef_entry() 2956 if (!ips[i]) mwifiex_set_auto_arp_mef_entry() 2960 (u8 *)&ips[i], sizeof(ips[i])); mwifiex_set_auto_arp_mef_entry() 2963 sizeof(ips[i]); mwifiex_set_auto_arp_mef_entry()
|
/linux-4.4.14/drivers/staging/rtl8723au/include/ |
H A D | rtw_mlme.h | 155 u8 key_mask; /* use for ips to set wep key after ips_leave23a */
|
/linux-4.4.14/include/uapi/linux/usb/ |
H A D | cdc.h | 366 #define USB_CDC_MBIM_NDP32_IPS_SIGN 0x00737069 /* ips<sessionID> : ips0 for now */
|
/linux-4.4.14/fs/xfs/ |
H A D | xfs_inode.c | 436 xfs_inode_t **ips, xfs_lock_inodes() 450 ASSERT(ips && inodes >= 2 && inodes <= 5); xfs_lock_inodes() 471 ASSERT(ips[i]); xfs_lock_inodes() 473 if (i && (ips[i] == ips[i - 1])) /* Already locked */ xfs_lock_inodes() 482 lp = (xfs_log_item_t *)ips[j]->i_itemp; xfs_lock_inodes() 495 xfs_ilock(ips[i], xfs_lock_inumorder(lock_mode, i)); xfs_lock_inodes() 501 if (xfs_ilock_nowait(ips[i], xfs_lock_inumorder(lock_mode, i))) xfs_lock_inodes() 515 if (j != (i - 1) && ips[j] == ips[j + 1]) xfs_lock_inodes() 518 xfs_iunlock(ips[j], lock_mode); xfs_lock_inodes() 435 xfs_lock_inodes( xfs_inode_t **ips, int inodes, uint lock_mode) xfs_lock_inodes() argument
|
/linux-4.4.14/drivers/net/wireless/ath/ath6kl/ |
H A D | cfg80211.c | 2124 __be32 ips[MAX_IP_ADDRS]; ath6kl_wow_suspend_vif() local 2188 memset(&ips, 0, sizeof(ips)); ath6kl_wow_suspend_vif() 2192 ips[index] = ifa->ifa_local; ath6kl_wow_suspend_vif() 2202 ret = ath6kl_wmi_set_ip_cmd(ar->wmi, vif->fw_vif_idx, ips[0], ips[1]); ath6kl_wow_suspend_vif()
|
H A D | wmi.h | 2087 __be32 ips[MAX_IP_ADDRS]; member in struct:wmi_set_ip_cmd
|
H A D | wmi.c | 2701 cmd->ips[0] = ips0; ath6kl_wmi_set_ip_cmd() 2702 cmd->ips[1] = ips1; ath6kl_wmi_set_ip_cmd()
|
/linux-4.4.14/drivers/staging/lustre/lnet/klnds/socklnd/ |
H A D | socklnd.c | 712 ksocknal_match_peerip(ksock_interface_t *iface, __u32 *ips, int nips) ksocknal_match_peerip() argument 722 if (ips[i] == 0) ksocknal_match_peerip() 725 this_xor = ips[i] ^ iface->ksni_ipaddr; ksocknal_match_peerip()
|
/linux-4.4.14/net/iucv/ |
H A D | iucv.c | 1578 struct iucv_path_severed *ips = (void *) data; iucv_path_severed() local 1579 struct iucv_path *path = iucv_path_table[ips->ippathid]; iucv_path_severed() 1584 path->handler->path_severed(path, ips->ipuser); iucv_path_severed()
|
/linux-4.4.14/drivers/staging/rtl8188eu/include/ |
H A D | rtw_mlme.h | 344 u8 key_mask; /* use for ips to set wep key after ips_leave */
|
/linux-4.4.14/include/uapi/linux/ |
H A D | perf_event.h | 733 * u64 ips[nr]; } && PERF_SAMPLE_CALLCHAIN
|
/linux-4.4.14/drivers/tty/serial/ |
H A D | mpc52xx_uart.c | 559 /* uartclk contains the ips freq */ mpc512x_psc_set_baudrate() 900 /* uartclk contains the ips freq */ mpc5125_psc_set_baudrate()
|
/linux-4.4.14/tools/perf/ |
H A D | builtin-timechart.c | 502 ip = chain->ips[i]; cat_backtrace() 504 ip = chain->ips[chain->nr - i - 1]; cat_backtrace()
|
/linux-4.4.14/drivers/usb/musb/ |
H A D | musb_dsps.c | 81 * musb ips.
|