Lines Matching refs:pcc_ss_id
95 #define GET_PCC_VADDR(offs, pcc_ss_id) (pcc_data[pcc_ss_id]->pcc_comm_addr + \ argument
188 static int check_pcc_chan(int pcc_ss_id, bool chk_err_bit) in check_pcc_chan() argument
191 struct cppc_pcc_data *pcc_ss_data = pcc_data[pcc_ss_id]; in check_pcc_chan()
214 pcc_ss_id, ret); in check_pcc_chan()
223 static int send_pcc_cmd(int pcc_ss_id, u16 cmd) in send_pcc_cmd() argument
226 struct cppc_pcc_data *pcc_ss_data = pcc_data[pcc_ss_id]; in send_pcc_cmd()
242 send_pcc_cmd(pcc_ss_id, CMD_WRITE); in send_pcc_cmd()
244 ret = check_pcc_chan(pcc_ss_id, false); in send_pcc_cmd()
279 pcc_ss_id); in send_pcc_cmd()
301 pcc_ss_id, cmd, ret); in send_pcc_cmd()
306 ret = check_pcc_chan(pcc_ss_id, true); in send_pcc_cmd()
559 static int pcc_data_alloc(int pcc_ss_id) in pcc_data_alloc() argument
561 if (pcc_ss_id < 0 || pcc_ss_id >= MAX_PCC_SUBSPACES) in pcc_data_alloc()
564 if (pcc_data[pcc_ss_id]) { in pcc_data_alloc()
565 pcc_data[pcc_ss_id]->refcount++; in pcc_data_alloc()
567 pcc_data[pcc_ss_id] = kzalloc(sizeof(struct cppc_pcc_data), in pcc_data_alloc()
569 if (!pcc_data[pcc_ss_id]) in pcc_data_alloc()
571 pcc_data[pcc_ss_id]->refcount++; in pcc_data_alloc()
848 int pcc_ss_id = per_cpu(cpu_pcc_subspace_idx, pr->id); in acpi_cppc_processor_exit() local
850 if (pcc_ss_id >= 0 && pcc_data[pcc_ss_id]) { in acpi_cppc_processor_exit()
851 if (pcc_data[pcc_ss_id]->pcc_channel_acquired) { in acpi_cppc_processor_exit()
852 pcc_data[pcc_ss_id]->refcount--; in acpi_cppc_processor_exit()
853 if (!pcc_data[pcc_ss_id]->refcount) { in acpi_cppc_processor_exit()
854 pcc_mbox_free_channel(pcc_data[pcc_ss_id]->pcc_channel); in acpi_cppc_processor_exit()
855 kfree(pcc_data[pcc_ss_id]); in acpi_cppc_processor_exit()
856 pcc_data[pcc_ss_id] = NULL; in acpi_cppc_processor_exit()
917 int pcc_ss_id = per_cpu(cpu_pcc_subspace_idx, cpu); in cpc_read() local
926 if (reg->space_id == ACPI_ADR_SPACE_PLATFORM_COMM && pcc_ss_id >= 0) in cpc_read()
927 vaddr = GET_PCC_VADDR(reg->address, pcc_ss_id); in cpc_read()
951 reg->bit_width, pcc_ss_id); in cpc_read()
962 int pcc_ss_id = per_cpu(cpu_pcc_subspace_idx, cpu); in cpc_write() local
965 if (reg->space_id == ACPI_ADR_SPACE_PLATFORM_COMM && pcc_ss_id >= 0) in cpc_write()
966 vaddr = GET_PCC_VADDR(reg->address, pcc_ss_id); in cpc_write()
990 reg->bit_width, pcc_ss_id); in cpc_write()
1011 int pcc_ss_id = per_cpu(cpu_pcc_subspace_idx, cpunum); in cppc_get_perf() local
1015 if (pcc_ss_id < 0) in cppc_get_perf()
1018 pcc_ss_data = pcc_data[pcc_ss_id]; in cppc_get_perf()
1022 if (send_pcc_cmd(pcc_ss_id, CMD_READ) >= 0) in cppc_get_perf()
1076 int pcc_ss_id = per_cpu(cpu_pcc_subspace_idx, cpunum); in cppc_get_perf_caps() local
1097 if (pcc_ss_id < 0) { in cppc_get_perf_caps()
1101 pcc_ss_data = pcc_data[pcc_ss_id]; in cppc_get_perf_caps()
1105 if (send_pcc_cmd(pcc_ss_id, CMD_READ) < 0) { in cppc_get_perf_caps()
1164 int pcc_ss_id = per_cpu(cpu_pcc_subspace_idx, cpunum); in cppc_get_perf_ctrs() local
1189 if (pcc_ss_id < 0) { in cppc_get_perf_ctrs()
1193 pcc_ss_data = pcc_data[pcc_ss_id]; in cppc_get_perf_ctrs()
1197 if (send_pcc_cmd(pcc_ss_id, CMD_READ) < 0) { in cppc_get_perf_ctrs()
1243 int pcc_ss_id = per_cpu(cpu_pcc_subspace_idx, cpu); in cppc_set_perf() local
1262 if (pcc_ss_id < 0) { in cppc_set_perf()
1266 pcc_ss_data = pcc_data[pcc_ss_id]; in cppc_set_perf()
1269 ret = check_pcc_chan(pcc_ss_id, false); in cppc_set_perf()
1342 send_pcc_cmd(pcc_ss_id, CMD_WRITE); in cppc_set_perf()
1380 int pcc_ss_id = per_cpu(cpu_pcc_subspace_idx, cpu_num); in cppc_get_transition_latency() local
1391 if (pcc_ss_id < 0) in cppc_get_transition_latency()
1394 pcc_ss_data = pcc_data[pcc_ss_id]; in cppc_get_transition_latency()