1234567891011121314151617181920212223242526272829303132333435 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * PCC (Platform Communications Channel) methods
- */
- #ifndef _PCC_H
- #define _PCC_H
- #include <linux/mailbox_controller.h>
- #include <linux/mailbox_client.h>
- struct pcc_mbox_chan {
- struct mbox_chan *mchan;
- u64 shmem_base_addr;
- u64 shmem_size;
- u32 latency;
- u32 max_access_rate;
- u16 min_turnaround_time;
- };
- #define MAX_PCC_SUBSPACES 256
- #ifdef CONFIG_PCC
- extern struct pcc_mbox_chan *
- pcc_mbox_request_channel(struct mbox_client *cl, int subspace_id);
- extern void pcc_mbox_free_channel(struct pcc_mbox_chan *chan);
- #else
- static inline struct pcc_mbox_chan *
- pcc_mbox_request_channel(struct mbox_client *cl, int subspace_id)
- {
- return ERR_PTR(-ENODEV);
- }
- static inline void pcc_mbox_free_channel(struct pcc_mbox_chan *chan) { }
- #endif
- #endif /* _PCC_H */
|