Lines Matching +full:0 +full:x6001

22 #define DRIVER_VERSION	"1.0.0"
24 #define TELEM_TRC_VERBOSITY_MASK 0x3
26 #define TELEM_MIN_PERIOD(x) ((x) & 0x7F0000)
27 #define TELEM_MAX_PERIOD(x) ((x) & 0x7F000000)
29 #define TELEM_CLEAR_SAMPLE_PERIOD(x) ((x) &= ~0x7F)
31 #define TELEM_SAMPLING_DEFAULT_PERIOD 0xD
37 #define IOSS_TELEM 0xeb
38 #define IOSS_TELEM_EVENT_READ 0x0
39 #define IOSS_TELEM_EVENT_WRITE 0x1
40 #define IOSS_TELEM_INFO_READ 0x2
41 #define IOSS_TELEM_TRACE_CTL_READ 0x5
42 #define IOSS_TELEM_TRACE_CTL_WRITE 0x6
43 #define IOSS_TELEM_EVENT_CTL_READ 0x7
44 #define IOSS_TELEM_EVENT_CTL_WRITE 0x8
45 #define IOSS_TELEM_EVT_WRITE_SIZE 0x3
47 #define TELEM_INFO_SRAMEVTS_MASK 0xFF00
48 #define TELEM_INFO_SRAMEVTS_SHIFT 0x8
51 #define TELEM_INFO_NENABLES_MASK 0xFF
52 #define TELEM_EVENT_ENABLE 0x8000
55 #define TELEM_MASK_BYTE 0xFF
57 #define TELEM_MASK_PCS_STATE 0xF
63 #define TELEM_EXTRACT_VERBOSITY(x, y) ((y) = (((x) >> 27) & 0x3))
68 TELEM_UPDATE = 0,
88 {"SOC_S0IX_TOTAL_RES", 0x4800},
89 {"SOC_S0IX_TOTAL_OCC", 0x4000},
90 {"SOC_S0IX_SHALLOW_RES", 0x4801},
91 {"SOC_S0IX_SHALLOW_OCC", 0x4001},
92 {"SOC_S0IX_DEEP_RES", 0x4802},
93 {"SOC_S0IX_DEEP_OCC", 0x4002},
94 {"PMC_POWER_GATE", 0x5818},
95 {"PMC_D3_STATES", 0x5819},
96 {"PMC_D0I3_STATES", 0x581A},
97 {"PMC_S0IX_WAKE_REASON_GPIO", 0x6000},
98 {"PMC_S0IX_WAKE_REASON_TIMER", 0x6001},
99 {"PMC_S0IX_WAKE_REASON_VNNREQ", 0x6002},
100 {"PMC_S0IX_WAKE_REASON_LOWPOWER", 0x6003},
101 {"PMC_S0IX_WAKE_REASON_EXTERNAL", 0x6004},
102 {"PMC_S0IX_WAKE_REASON_MISC", 0x6005},
103 {"PMC_S0IX_BLOCKING_IPS_D3_D0I3", 0x6006},
104 {"PMC_S0IX_BLOCKING_IPS_PG", 0x6007},
105 {"PMC_S0IX_BLOCKING_MISC_IPS_PG", 0x6008},
106 {"PMC_S0IX_BLOCK_IPS_VNN_REQ", 0x6009},
107 {"PMC_S0IX_BLOCK_IPS_CLOCKS", 0x600B},
113 {"IA_CORE0_C6_RES", 0x0400},
114 {"IA_CORE0_C6_CTR", 0x0000},
115 {"IA_MODULE0_C7_RES", 0x0410},
116 {"IA_MODULE0_C7_CTR", 0x000E},
117 {"IA_C0_RES", 0x0805},
118 {"PCS_LTR", 0x2801},
119 {"PSTATES", 0x2802},
120 {"SOC_S0I3_RES", 0x0409},
121 {"SOC_S0I3_CTR", 0x000A},
122 {"PCS_S0I3_CTR", 0x0009},
123 {"PCS_C1E_RES", 0x041A},
124 {"PCS_IDLE_STATUS", 0x2806},
125 {"IA_PERF_LIMITS", 0x280B},
126 {"GT_PERF_LIMITS", 0x280C},
127 {"PCS_WAKEUP_S0IX_CTR", 0x0030},
128 {"PCS_IDLE_BLOCKED", 0x2C00},
129 {"PCS_S0IX_BLOCKED", 0x2C01},
130 {"PCS_S0IX_WAKE_REASONS", 0x2C02},
131 {"PCS_LTR_BLOCKING", 0x2C03},
132 {"PC2_AND_MEM_SHALLOW_IDLE_RES", 0x1D40},
137 {"IA_CORE0_C6_RES", 0x0400},
138 {"IA_CORE0_C6_CTR", 0x0000},
139 {"IA_MODULE0_C7_RES", 0x0410},
140 {"IA_MODULE0_C7_CTR", 0x000C},
141 {"IA_C0_RES", 0x0805},
142 {"PCS_LTR", 0x2801},
143 {"PSTATES", 0x2802},
144 {"SOC_S0I3_RES", 0x0407},
145 {"SOC_S0I3_CTR", 0x0008},
146 {"PCS_S0I3_CTR", 0x0007},
147 {"PCS_C1E_RES", 0x0414},
148 {"PCS_IDLE_STATUS", 0x2806},
149 {"IA_PERF_LIMITS", 0x280B},
150 {"GT_PERF_LIMITS", 0x280C},
151 {"PCS_WAKEUP_S0IX_CTR", 0x0025},
152 {"PCS_IDLE_BLOCKED", 0x2C00},
153 {"PCS_S0IX_BLOCKED", 0x2C01},
154 {"PCS_S0IX_WAKE_REASONS", 0x2C02},
155 {"PCS_LTR_BLOCKING", 0x2C03},
156 {"PC2_AND_MEM_SHALLOW_IDLE_RES", 0x1D40},
197 return 0; in telem_get_unitconfig()
209 if (ret < 0) in telemetry_check_evtid()
223 if ((len > 0) && (evtmap == NULL)) in telemetry_check_evtid()
233 if ((len > 0) && (evtmap == NULL)) in telemetry_check_evtid()
243 return 0; in telemetry_check_evtid()
257 IOSS_TELEM_EVT_WRITE_SIZE, NULL, 0); in telemetry_plt_config_ioss_event()
267 index, 0, &write_buf, NULL); in telemetry_plt_config_pss_event()
287 IOSS_TELEM_EVENT_CTL_READ, NULL, 0, in telemetry_setup_iossevtconfig()
299 sizeof(telem_ctrl), NULL, 0); in telemetry_setup_iossevtconfig()
314 NULL, 0); in telemetry_setup_iossevtconfig()
319 telm_conf->ioss_config.ssram_evts_used = 0; in telemetry_setup_iossevtconfig()
322 for (idx = 0; idx < num_ioss_evts; idx++) { in telemetry_setup_iossevtconfig()
342 NULL, 0); in telemetry_setup_iossevtconfig()
347 telm_conf->ioss_config.ssram_evts_used = 0; in telemetry_setup_iossevtconfig()
350 for (index = 0; index < num_ioss_evts; index++) { in telemetry_setup_iossevtconfig()
368 for (index = telm_conf->ioss_config.ssram_evts_used, idx = 0; in telemetry_setup_iossevtconfig()
392 &telem_ctrl, sizeof(telem_ctrl), NULL, 0); in telemetry_setup_iossevtconfig()
400 return 0; in telemetry_setup_iossevtconfig()
419 0, 0, NULL, &telem_ctrl); in telemetry_setup_pssevtconfig()
428 0, 0, &telem_ctrl, NULL); in telemetry_setup_pssevtconfig()
441 0, 0, &telem_ctrl, NULL); in telemetry_setup_pssevtconfig()
446 telm_conf->pss_config.ssram_evts_used = 0; in telemetry_setup_pssevtconfig()
448 for (idx = 0; idx < num_pss_evts; idx++) { in telemetry_setup_pssevtconfig()
467 0, 0, &telem_ctrl, NULL); in telemetry_setup_pssevtconfig()
472 telm_conf->pss_config.ssram_evts_used = 0; in telemetry_setup_pssevtconfig()
475 for (index = 0; index < num_pss_evts; index++) { in telemetry_setup_pssevtconfig()
493 for (index = telm_conf->pss_config.ssram_evts_used, idx = 0; in telemetry_setup_pssevtconfig()
517 0, 0, &telem_ctrl, NULL); in telemetry_setup_pssevtconfig()
525 return 0; in telemetry_setup_pssevtconfig()
580 IOSS_TELEM_INFO_READ, NULL, 0, in telemetry_setup()
603 ret = intel_punit_ipc_command(IPC_PUNIT_BIOS_READ_TELE_INFO, 0, 0, in telemetry_setup()
639 return 0; in telemetry_setup()
647 if ((pss_evtconfig.num_evts > 0) && in telemetry_plt_update_events()
653 if ((ioss_evtconfig.num_evts > 0) && in telemetry_plt_update_events()
670 u32 telem_ctrl = 0; in telemetry_plt_set_sampling_period()
671 int ret = 0; in telemetry_plt_set_sampling_period()
685 IOSS_TELEM_EVENT_CTL_READ, NULL, 0, in telemetry_plt_set_sampling_period()
698 NULL, 0); in telemetry_plt_set_sampling_period()
713 NULL, 0); in telemetry_plt_set_sampling_period()
731 0, 0, NULL, &telem_ctrl); in telemetry_plt_set_sampling_period()
741 0, 0, &telem_ctrl, NULL); in telemetry_plt_set_sampling_period()
755 0, 0, &telem_ctrl, NULL); in telemetry_plt_set_sampling_period()
779 return 0; in telemetry_plt_get_sampling_period()
828 for (index = 0; index < telm_conf->pss_config.ssram_evts_used; in telemetry_plt_get_eventconfig()
834 for (index = 0; index < telm_conf->ioss_config.ssram_evts_used; in telemetry_plt_get_eventconfig()
841 return 0; in telemetry_plt_get_eventconfig()
872 int ret, index, timeout = 0; in telem_evtlog_read()
875 if (ret < 0) in telem_evtlog_read()
891 for (index = 0; index < len; index++) { in telem_evtlog_read()
941 if (ret < 0) in telemetry_plt_raw_read_eventlog()
949 for (index = 0; index < ret; index++) { in telemetry_plt_raw_read_eventlog()
954 for (index = 0, readlen = 0; (index < ret) && (readlen < len); in telemetry_plt_raw_read_eventlog()
956 for (idx1 = 0; idx1 < len; idx1++) { in telemetry_plt_raw_read_eventlog()
988 u32 temp = 0; in telemetry_plt_get_trace_verbosity()
999 0, 0, NULL, &temp); in telemetry_plt_get_trace_verbosity()
1010 NULL, 0, &temp, sizeof(temp)); in telemetry_plt_get_trace_verbosity()
1033 u32 temp = 0; in telemetry_plt_set_trace_verbosity()
1043 0, 0, NULL, &temp); in telemetry_plt_set_trace_verbosity()
1054 0, 0, &temp, NULL); in telemetry_plt_set_trace_verbosity()
1064 NULL, 0, &temp, sizeof(temp)); in telemetry_plt_set_trace_verbosity()
1075 &temp, sizeof(temp), NULL, 0); in telemetry_plt_set_trace_verbosity()
1120 mem = devm_platform_ioremap_resource(pdev, 0); in telemetry_pltdrv_probe()
1151 return 0; in telemetry_pltdrv_probe()