Home | History | Annotate | Download | only in ic

Lines Matching defs:shmem

89 scmi_message_header(volatile struct scmi_shmem *shmem,
92 shmem->message_header = (protocol_id << 10) | (message_id << 0);
101 volatile struct scmi_shmem *shmem;
110 shmem = sc->sc_shmem_tx;
114 if ((shmem->channel_status & SCMI_CHANNEL_FREE) == 0) {
119 scmi_message_header(shmem, SCMI_BASE, SCMI_PROTOCOL_VERSION);
120 shmem->length = sizeof(uint32_t);
127 vers = shmem->message_payload[1];
180 volatile struct scmi_shmem *shmem = sc->sc_shmem_tx;
183 shmem->channel_status = 0;
188 if ((shmem->channel_status & SCMI_CHANNEL_ERROR))
190 if ((shmem->channel_status & SCMI_CHANNEL_FREE) == 0)
192 return shmem->message_payload[0];
198 volatile struct scmi_shmem *shmem = sc->sc_shmem_tx;
202 shmem->channel_status = 0;
209 if (shmem->channel_status & SCMI_CHANNEL_FREE)
213 if ((shmem->channel_status & SCMI_CHANNEL_ERROR))
215 if ((shmem->channel_status & SCMI_CHANNEL_FREE) == 0)
218 return shmem->message_payload[0];
231 volatile struct scmi_shmem *shmem = sc->sc_shmem_tx;
235 scmi_message_header(shmem, SCMI_CLOCK, SCMI_PROTOCOL_ATTRIBUTES);
236 shmem->length = sizeof(uint32_t);
241 nclocks = shmem->message_payload[1] & 0xffff;
257 volatile struct scmi_shmem *shmem = sc->sc_shmem_tx;
260 scmi_message_header(shmem, SCMI_CLOCK, SCMI_CLOCK_CONFIG_SET);
261 shmem->length = 3 * sizeof(uint32_t);
262 shmem->message_payload[0] = idx;
263 shmem->message_payload[1] = on ? SCMI_CLOCK_CONFIG_SET_ENABLE : 0;
271 volatile struct scmi_shmem *shmem = sc->sc_shmem_tx;
275 scmi_message_header(shmem, SCMI_CLOCK, SCMI_CLOCK_RATE_GET);
276 shmem->length = 2 * sizeof(uint32_t);
277 shmem->message_payload[0] = idx;
281 if (shmem->message_payload[2] != 0)
284 return shmem->message_payload[1];
291 volatile struct scmi_shmem *shmem = sc->sc_shmem_tx;
295 scmi_message_header(shmem, SCMI_CLOCK, SCMI_CLOCK_RATE_SET);
296 shmem->length = 5 * sizeof(uint32_t);
297 shmem->message_payload[0] = 0;
298 shmem->message_payload[1] = idx;
299 shmem->message_payload[2] = freq;
300 shmem->message_payload[3] = 0;
315 volatile struct scmi_shmem *shmem = sc->sc_shmem_tx;
329 vers = shmem->message_payload[1];
336 scmi_message_header(shmem, SCMI_PERF, SCMI_PROTOCOL_ATTRIBUTES);
337 shmem->length = sizeof(uint32_t);
345 sc->sc_perf_ndomains = shmem->message_payload[1] & 0xffff;
348 sc->sc_perf_power_unit = (shmem->message_payload[1] >> 16) & 0x3;
354 scmi_message_header(shmem, SCMI_PERF,
356 shmem->length = 2 * sizeof(uint32_t);
357 shmem->message_payload[0] = i;
366 &shmem->message_payload[1];
405 volatile struct scmi_shmem *shmem = sc->sc_shmem_tx;
412 scmi_message_header(shmem, SCMI_PERF,
414 shmem->length = sizeof(uint32_t) * 3;
415 shmem->message_payload[0] = domain;
416 shmem->message_payload[1] = idx;
425 &shmem->message_payload[1];
457 volatile struct scmi_shmem *shmem = sc->sc_shmem_tx;
465 scmi_message_header(shmem, SCMI_PERF, SCMI_PERF_LIMITS_GET);
466 shmem->length = sizeof(uint32_t) * 2;
467 shmem->message_payload[0] = pd->pd_domain_id;
470 *max_level = shmem->message_payload[1];
471 *min_level = shmem->message_payload[2];
482 volatile struct scmi_shmem *shmem = sc->sc_shmem_tx;
490 scmi_message_header(shmem, SCMI_PERF, SCMI_PERF_LEVEL_GET);
491 shmem->length = sizeof(uint32_t) * 2;
492 shmem->message_payload[0] = pd->pd_domain_id;
495 *perf_level = shmem->message_payload[1];
506 volatile struct scmi_shmem *shmem = sc->sc_shmem_tx;
514 scmi_message_header(shmem, SCMI_PERF, SCMI_PERF_LEVEL_SET);
515 shmem->length = sizeof(uint32_t) * 3;
516 shmem->message_payload[0] = pd->pd_domain_id;
517 shmem->message_payload[1] = perf_level;