pcc_data
struct pcc_data *data = region_context;
struct pcc_data *data = container_of(cl, struct pcc_data, cl);
struct pcc_data *data;
pcc_ss_data = pcc_data[pcc_ss_id];
pcc_ss_data = pcc_data[pcc_ss_id];
pcc_ss_data = pcc_data[pcc_ss_id];
pcc_ss_data = pcc_data[pcc_ss_id];
pcc_ss_data = pcc_data[pcc_ss_id];
pcc_ss_data = pcc_data[pcc_ss_id];
pcc_ss_data = pcc_data[pcc_ss_id];
struct cppc_pcc_data *pcc_ss_data = pcc_data[pcc_ss_id];
struct cppc_pcc_data *pcc_ss_data = pcc_data[pcc_ss_id];
pcc_data[pcc_ss_idx]->pcc_channel = pcc_chan;
pcc_data[pcc_ss_idx]->deadline_us = usecs_lat;
pcc_data[pcc_ss_idx]->pcc_mrtt = pcc_chan->min_turnaround_time;
pcc_data[pcc_ss_idx]->pcc_mpar = pcc_chan->max_access_rate;
pcc_data[pcc_ss_idx]->pcc_nominal = pcc_chan->latency;
pcc_data[pcc_ss_idx]->pcc_channel_acquired = true;
if (pcc_data[pcc_ss_id]) {
pcc_data[pcc_ss_id]->refcount++;
pcc_data[pcc_ss_id] = kzalloc_obj(struct cppc_pcc_data);
if (!pcc_data[pcc_ss_id])
pcc_data[pcc_ss_id]->refcount++;
static struct cppc_pcc_data *pcc_data[MAX_PCC_SUBSPACES];
if (pcc_subspace_id >= 0 && !pcc_data[pcc_subspace_id]->pcc_channel_acquired) {
init_rwsem(&pcc_data[pcc_subspace_id]->pcc_lock);
init_waitqueue_head(&pcc_data[pcc_subspace_id]->pcc_write_wait_q);
if (pcc_ss_id >= 0 && pcc_data[pcc_ss_id]) {
if (pcc_data[pcc_ss_id]->pcc_channel_acquired) {
pcc_data[pcc_ss_id]->refcount--;
if (!pcc_data[pcc_ss_id]->refcount) {
pcc_mbox_free_channel(pcc_data[pcc_ss_id]->pcc_channel);
kfree(pcc_data[pcc_ss_id]);
pcc_data[pcc_ss_id] = NULL;
#define GET_PCC_VADDR(offs, pcc_ss_id) (pcc_data[pcc_ss_id]->pcc_channel->shmem + \
shmem.pcc_data.data = *data;
memcpy_fromio(data, &addr->pcc_data.data, sizeof(*data));
struct hisi_uncore_pcc_data pcc_data;