File tree Expand file tree Collapse file tree
apollolake/include/platform
baytrail/include/platform
cannonlake/include/platform Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -74,7 +74,6 @@ struct idc {
7474 uint32_t done_bit_mask ; /**< done interrupt mask */
7575 uint32_t msg_pending ; /**< is message pending */
7676 struct idc_msg received_msg ; /**< received message */
77- struct idc_msg msg_to_send ; /**< message to be sent */
7877};
7978
8079/**
@@ -142,21 +141,20 @@ static void idc_irq_handler(void *arg)
142141
143142/**
144143 * \brief Sends IDC message.
144+ * \param[in,out] msg Pointer to IDC message.
145145 */
146- static inline void arch_idc_send_msg (void )
146+ static inline void arch_idc_send_msg (struct idc_msg * msg )
147147{
148148 struct idc * idc = * idc_get ();
149-
150- struct idc_msg msg = idc -> msg_to_send ;
151149 int core = cpu_get_id ();
152150 uint32_t flags ;
153151
154152 tracev_idc ("Msg" );
155153
156154 spin_lock_irq (& idc -> lock , flags );
157155
158- idc_write (IPC_IDCIETC (msg . core ), core , msg . extension );
159- idc_write (IPC_IDCITC (msg . core ), core , msg . header | IPC_IDCITC_BUSY );
156+ idc_write (IPC_IDCIETC (msg -> core ), core , msg -> extension );
157+ idc_write (IPC_IDCITC (msg -> core ), core , msg -> header | IPC_IDCITC_BUSY );
160158
161159 spin_unlock_irq (& idc -> lock , flags );
162160}
Original file line number Diff line number Diff line change 3737#ifndef __ARCH_IDC_H__
3838#define __ARCH_IDC_H__
3939
40+ struct idc_msg ;
41+
4042/**
4143 * \brief Sends IDC message.
4244 */
43- static inline void arch_idc_send_msg (void ) { }
45+ static inline void arch_idc_send_msg (struct idc_msg * msg ) { }
4446
4547/**
4648 * \brief Checks for pending IDC messages.
Original file line number Diff line number Diff line change 3333
3434#include <arch/idc.h>
3535
36- static inline void idc_send_msg (void )
36+ static inline void idc_send_msg (struct idc_msg * msg )
3737{
38- arch_idc_send_msg ();
38+ arch_idc_send_msg (msg );
3939}
4040
4141static inline void idc_process_msg_queue (void )
Original file line number Diff line number Diff line change 3131#ifndef __INCLUDE_PLATFORM_IDC_H__
3232#define __INCLUDE_PLATFORM_IDC_H__
3333
34- static inline void idc_send_msg (void ) { }
34+ struct idc_msg ;
35+
36+ static inline void idc_send_msg (struct idc_msg * msg ) { }
3537
3638static inline void idc_process_msg_queue (void ) { }
3739
Original file line number Diff line number Diff line change 3333
3434#include <arch/idc.h>
3535
36- static inline void idc_send_msg (void )
36+ static inline void idc_send_msg (struct idc_msg * msg )
3737{
38- arch_idc_send_msg ();
38+ arch_idc_send_msg (msg );
3939}
4040
4141static inline void idc_process_msg_queue (void )
Original file line number Diff line number Diff line change 3131#ifndef __INCLUDE_PLATFORM_IDC_H__
3232#define __INCLUDE_PLATFORM_IDC_H__
3333
34- static inline void idc_send_msg (void ) { }
34+ struct idc_msg ;
35+
36+ static inline void idc_send_msg (struct idc_msg * msg ) { }
3537
3638static inline void idc_process_msg_queue (void ) { }
3739
You can’t perform that action at this time.
0 commit comments