~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/sound/soc/sof/sof-client.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /sound/soc/sof/sof-client.h (Architecture alpha) and /sound/soc/sof/sof-client.h (Architecture sparc64)


  1 /* SPDX-License-Identifier: GPL-2.0-only */         1 /* SPDX-License-Identifier: GPL-2.0-only */
  2                                                     2 
  3 #ifndef __SOC_SOF_CLIENT_H                          3 #ifndef __SOC_SOF_CLIENT_H
  4 #define __SOC_SOF_CLIENT_H                          4 #define __SOC_SOF_CLIENT_H
  5                                                     5 
  6 #include <linux/auxiliary_bus.h>                    6 #include <linux/auxiliary_bus.h>
  7 #include <linux/device.h>                           7 #include <linux/device.h>
  8 #include <linux/list.h>                             8 #include <linux/list.h>
  9 #include <sound/sof.h>                              9 #include <sound/sof.h>
 10                                                    10 
 11 struct sof_ipc_fw_version;                         11 struct sof_ipc_fw_version;
 12 struct sof_ipc_cmd_hdr;                            12 struct sof_ipc_cmd_hdr;
 13 struct snd_sof_dev;                                13 struct snd_sof_dev;
 14 struct dentry;                                     14 struct dentry;
 15                                                    15 
 16 struct sof_ipc4_fw_module;                         16 struct sof_ipc4_fw_module;
 17                                                    17 
 18 /**                                                18 /**
 19  * struct sof_client_dev - SOF client device       19  * struct sof_client_dev - SOF client device
 20  * @auxdev:     auxiliary device                   20  * @auxdev:     auxiliary device
 21  * @sdev:       pointer to SOF core device str     21  * @sdev:       pointer to SOF core device struct
 22  * @list:       item in SOF core client dev li     22  * @list:       item in SOF core client dev list
 23  * @data:       device specific data               23  * @data:       device specific data
 24  */                                                24  */
 25 struct sof_client_dev {                            25 struct sof_client_dev {
 26         struct auxiliary_device auxdev;            26         struct auxiliary_device auxdev;
 27         struct snd_sof_dev *sdev;                  27         struct snd_sof_dev *sdev;
 28         struct list_head list;                     28         struct list_head list;
 29         void *data;                                29         void *data;
 30 };                                                 30 };
 31                                                    31 
 32 #define sof_client_dev_to_sof_dev(cdev)            32 #define sof_client_dev_to_sof_dev(cdev)         ((cdev)->sdev)
 33                                                    33 
 34 #define auxiliary_dev_to_sof_client_dev(auxili     34 #define auxiliary_dev_to_sof_client_dev(auxiliary_dev) \
 35         container_of(auxiliary_dev, struct sof     35         container_of(auxiliary_dev, struct sof_client_dev, auxdev)
 36                                                    36 
 37 #define dev_to_sof_client_dev(dev) \               37 #define dev_to_sof_client_dev(dev) \
 38         container_of(to_auxiliary_dev(dev), st     38         container_of(to_auxiliary_dev(dev), struct sof_client_dev, auxdev)
 39                                                    39 
 40 int sof_client_ipc_tx_message(struct sof_clien     40 int sof_client_ipc_tx_message(struct sof_client_dev *cdev, void *ipc_msg,
 41                               void *reply_data     41                               void *reply_data, size_t reply_bytes);
 42 static inline int sof_client_ipc_tx_message_no     42 static inline int sof_client_ipc_tx_message_no_reply(struct sof_client_dev *cdev, void *ipc_msg)
 43 {                                                  43 {
 44         return sof_client_ipc_tx_message(cdev,     44         return sof_client_ipc_tx_message(cdev, ipc_msg, NULL, 0);
 45 }                                                  45 }
 46 int sof_client_ipc_set_get_data(struct sof_cli     46 int sof_client_ipc_set_get_data(struct sof_client_dev *cdev, void *ipc_msg,
 47                                 bool set);         47                                 bool set);
 48                                                    48 
 49 struct sof_ipc4_fw_module *sof_client_ipc4_fin     49 struct sof_ipc4_fw_module *sof_client_ipc4_find_module(struct sof_client_dev *c, const guid_t *u);
 50                                                    50 
 51 struct dentry *sof_client_get_debugfs_root(str     51 struct dentry *sof_client_get_debugfs_root(struct sof_client_dev *cdev);
 52 struct device *sof_client_get_dma_dev(struct s     52 struct device *sof_client_get_dma_dev(struct sof_client_dev *cdev);
 53 const struct sof_ipc_fw_version *sof_client_ge     53 const struct sof_ipc_fw_version *sof_client_get_fw_version(struct sof_client_dev *cdev);
 54 size_t sof_client_get_ipc_max_payload_size(str     54 size_t sof_client_get_ipc_max_payload_size(struct sof_client_dev *cdev);
 55 enum sof_ipc_type sof_client_get_ipc_type(stru     55 enum sof_ipc_type sof_client_get_ipc_type(struct sof_client_dev *cdev);
 56                                                    56 
 57 /* module refcount management of SOF core */       57 /* module refcount management of SOF core */
 58 int sof_client_core_module_get(struct sof_clie     58 int sof_client_core_module_get(struct sof_client_dev *cdev);
 59 void sof_client_core_module_put(struct sof_cli     59 void sof_client_core_module_put(struct sof_client_dev *cdev);
 60                                                    60 
 61 /* IPC notification */                             61 /* IPC notification */
 62 typedef void (*sof_client_event_callback)(stru     62 typedef void (*sof_client_event_callback)(struct sof_client_dev *cdev, void *msg_buf);
 63                                                    63 
 64 int sof_client_register_ipc_rx_handler(struct      64 int sof_client_register_ipc_rx_handler(struct sof_client_dev *cdev,
 65                                        u32 ipc     65                                        u32 ipc_msg_type,
 66                                        sof_cli     66                                        sof_client_event_callback callback);
 67 void sof_client_unregister_ipc_rx_handler(stru     67 void sof_client_unregister_ipc_rx_handler(struct sof_client_dev *cdev,
 68                                           u32      68                                           u32 ipc_msg_type);
 69                                                    69 
 70 /* DSP state notification and query */             70 /* DSP state notification and query */
 71 typedef void (*sof_client_fw_state_callback)(s     71 typedef void (*sof_client_fw_state_callback)(struct sof_client_dev *cdev,
 72                                              e     72                                              enum sof_fw_state state);
 73                                                    73 
 74 int sof_client_register_fw_state_handler(struc     74 int sof_client_register_fw_state_handler(struct sof_client_dev *cdev,
 75                                          sof_c     75                                          sof_client_fw_state_callback callback);
 76 void sof_client_unregister_fw_state_handler(st     76 void sof_client_unregister_fw_state_handler(struct sof_client_dev *cdev);
 77 enum sof_fw_state sof_client_get_fw_state(stru     77 enum sof_fw_state sof_client_get_fw_state(struct sof_client_dev *cdev);
 78 int sof_client_ipc_rx_message(struct sof_clien     78 int sof_client_ipc_rx_message(struct sof_client_dev *cdev, void *ipc_msg, void *msg_buf);
 79                                                    79 
 80 #endif /* __SOC_SOF_CLIENT_H */                    80 #endif /* __SOC_SOF_CLIENT_H */
 81                                                    81 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php