Lines Matching refs:shmem
25 * @shmem: Transmit/Receive shared memory area
32 struct scmi_shared_mem __iomem *shmem;
41 shmem_tx_prepare(smbox->shmem, m, smbox->cinfo);
57 if (cl->knows_txdone && !shmem_channel_free(smbox->shmem)) {
62 scmi_rx_callback(smbox->cinfo, shmem_read_header(smbox->shmem), NULL);
93 * 'mboxes' and 'shmem', then determin which mailbox channel indexes are
105 num_sh = of_count_phandle_with_args(np, "shmem", NULL);
108 /* Bail out if mboxes and shmem descriptors are inconsistent */
117 /* Bail out if provided shmem descriptors do not refer distinct areas */
121 np_tx = of_parse_phandle(np, "shmem", 0);
122 np_rx = of_parse_phandle(np, "shmem", 1);
124 dev_warn(cdev, "Invalid shmem descriptor for '%s'\n",
133 /* Calculate channels IDs to use depending on mboxes/shmem layout */
165 struct device_node *shmem;
182 shmem = of_parse_phandle(cdev->of_node, "shmem", idx);
183 if (!of_device_is_compatible(shmem, "arm,scmi-shmem")) {
184 of_node_put(shmem);
188 ret = of_address_to_resource(shmem, 0, &res);
189 of_node_put(shmem);
196 smbox->shmem = devm_ioremap(dev, res.start, size);
197 if (!smbox->shmem) {
286 shmem_fetch_response(smbox->shmem, xfer);
294 shmem_fetch_notification(smbox->shmem, max_len, xfer);
301 shmem_clear_channel(smbox->shmem);
309 return shmem_poll_done(smbox->shmem, xfer);