pcc.h (807B)
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * PCC (Platform Communications Channel) methods 4 */ 5 6#ifndef _PCC_H 7#define _PCC_H 8 9#include <linux/mailbox_controller.h> 10#include <linux/mailbox_client.h> 11 12struct pcc_mbox_chan { 13 struct mbox_chan *mchan; 14 u64 shmem_base_addr; 15 u64 shmem_size; 16 u32 latency; 17 u32 max_access_rate; 18 u16 min_turnaround_time; 19}; 20 21#define MAX_PCC_SUBSPACES 256 22#ifdef CONFIG_PCC 23extern struct pcc_mbox_chan * 24pcc_mbox_request_channel(struct mbox_client *cl, int subspace_id); 25extern void pcc_mbox_free_channel(struct pcc_mbox_chan *chan); 26#else 27static inline struct pcc_mbox_chan * 28pcc_mbox_request_channel(struct mbox_client *cl, int subspace_id) 29{ 30 return ERR_PTR(-ENODEV); 31} 32static inline void pcc_mbox_free_channel(struct pcc_mbox_chan *chan) { } 33#endif 34 35#endif /* _PCC_H */