Lines Matching refs:pcc_ss_data
204 struct cppc_pcc_data *pcc_ss_data = pcc_data[pcc_ss_id];
206 pcc_ss_data->pcc_comm_addr;
208 if (!pcc_ss_data->platform_owns_pcc)
217 pcc_ss_data->deadline_us);
220 pcc_ss_data->platform_owns_pcc = false;
239 struct cppc_pcc_data *pcc_ss_data = pcc_data[pcc_ss_id];
241 pcc_ss_data->pcc_comm_addr;
254 if (pcc_ss_data->pending_pcc_write_cmd)
261 pcc_ss_data->pending_pcc_write_cmd = FALSE;
268 if (pcc_ss_data->pcc_mrtt) {
270 pcc_ss_data->last_cmd_cmpl_time);
271 if (pcc_ss_data->pcc_mrtt > time_delta)
272 udelay(pcc_ss_data->pcc_mrtt - time_delta);
286 if (pcc_ss_data->pcc_mpar) {
287 if (pcc_ss_data->mpar_count == 0) {
289 pcc_ss_data->last_mpar_reset);
290 if ((time_delta < 60 * MSEC_PER_SEC) && pcc_ss_data->last_mpar_reset) {
296 pcc_ss_data->last_mpar_reset = ktime_get();
297 pcc_ss_data->mpar_count = pcc_ss_data->pcc_mpar;
299 pcc_ss_data->mpar_count--;
308 pcc_ss_data->platform_owns_pcc = true;
311 ret = mbox_send_message(pcc_ss_data->pcc_channel->mchan, &cmd);
321 if (pcc_ss_data->pcc_mrtt)
322 pcc_ss_data->last_cmd_cmpl_time = ktime_get();
324 if (pcc_ss_data->pcc_channel->mchan->mbox->txdone_irq)
325 mbox_chan_txdone(pcc_ss_data->pcc_channel->mchan, ret);
327 mbox_client_txdone(pcc_ss_data->pcc_channel->mchan, ret);
338 if (desc->write_cmd_id == pcc_ss_data->pcc_write_cnt)
342 pcc_ss_data->pcc_write_cnt++;
343 wake_up_all(&pcc_ss_data->pcc_write_wait_q);
1107 struct cppc_pcc_data *pcc_ss_data = NULL;
1113 pcc_ss_data = pcc_data[pcc_ss_id];
1115 down_write(&pcc_ss_data->pcc_lock);
1122 up_write(&pcc_ss_data->pcc_lock);
1185 struct cppc_pcc_data *pcc_ss_data = NULL;
1209 pcc_ss_data = pcc_data[pcc_ss_id];
1211 down_write(&pcc_ss_data->pcc_lock);
1255 up_write(&pcc_ss_data->pcc_lock);
1315 struct cppc_pcc_data *pcc_ss_data = NULL;
1343 pcc_ss_data = pcc_data[pcc_ss_id];
1344 down_write(&pcc_ss_data->pcc_lock);
1377 up_write(&pcc_ss_data->pcc_lock);
1392 struct cppc_pcc_data *pcc_ss_data = NULL;
1421 pcc_ss_data = pcc_data[pcc_ss_id];
1423 down_write(&pcc_ss_data->pcc_lock);
1426 up_write(&pcc_ss_data->pcc_lock);
1459 struct cppc_pcc_data *pcc_ss_data = NULL;
1465 pcc_ss_data = pcc_data[pcc_ss_id];
1467 down_write(&pcc_ss_data->pcc_lock);
1476 up_write(&pcc_ss_data->pcc_lock);
1495 struct cppc_pcc_data *pcc_ss_data = NULL;
1517 pcc_ss_data = pcc_data[pcc_ss_id];
1519 down_write(&pcc_ss_data->pcc_lock);
1522 up_write(&pcc_ss_data->pcc_lock);
1545 struct cppc_pcc_data *pcc_ss_data = NULL;
1564 pcc_ss_data = pcc_data[pcc_ss_id];
1566 down_write(&pcc_ss_data->pcc_lock);
1569 up_write(&pcc_ss_data->pcc_lock);
1589 struct cppc_pcc_data *pcc_ss_data = NULL;
1613 pcc_ss_data = pcc_data[pcc_ss_id];
1614 down_read(&pcc_ss_data->pcc_lock); /* BEGIN Phase-I */
1615 if (pcc_ss_data->platform_owns_pcc) {
1618 up_read(&pcc_ss_data->pcc_lock);
1626 pcc_ss_data->pending_pcc_write_cmd = true;
1627 cpc_desc->write_cmd_id = pcc_ss_data->pcc_write_cnt;
1644 up_read(&pcc_ss_data->pcc_lock); /* END Phase-I */
1692 if (down_write_trylock(&pcc_ss_data->pcc_lock)) {/* BEGIN Phase-II */
1694 if (pcc_ss_data->pending_pcc_write_cmd)
1696 up_write(&pcc_ss_data->pcc_lock); /* END Phase-II */
1699 wait_event(pcc_ss_data->pcc_write_wait_q,
1700 cpc_desc->write_cmd_id != pcc_ss_data->pcc_write_cnt);
1738 struct cppc_pcc_data *pcc_ss_data;
1753 pcc_ss_data = pcc_data[pcc_ss_id];
1754 if (pcc_ss_data->pcc_mpar)
1755 latency_ns = 60 * (1000 * 1000 * 1000 / pcc_ss_data->pcc_mpar);
1757 latency_ns = max(latency_ns, pcc_ss_data->pcc_nominal * 1000);
1758 latency_ns = max(latency_ns, pcc_ss_data->pcc_mrtt * 1000);