mei: hbm: introduce dma bit in the message header
Add dma_ring bit in the mei message header for conveying that the message data itself are on the dma ring. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>hifive-unleashed-5.1
parent
ee7aba5aba
commit
9d89ddfc62
|
@ -1551,6 +1551,7 @@ static void mei_msg_hdr_init(struct mei_msg_hdr *mei_hdr, struct mei_cl_cb *cb)
|
|||
mei_hdr->length = 0;
|
||||
mei_hdr->reserved = 0;
|
||||
mei_hdr->msg_complete = 0;
|
||||
mei_hdr->dma_ring = 0;
|
||||
mei_hdr->internal = cb->internal;
|
||||
}
|
||||
|
||||
|
|
|
@ -145,6 +145,7 @@ static inline void mei_hbm_hdr(struct mei_msg_hdr *hdr, size_t length)
|
|||
hdr->me_addr = 0;
|
||||
hdr->length = length;
|
||||
hdr->msg_complete = 1;
|
||||
hdr->dma_ring = 0;
|
||||
hdr->reserved = 0;
|
||||
hdr->internal = 0;
|
||||
}
|
||||
|
|
|
@ -190,19 +190,27 @@ enum mei_cl_disconnect_status {
|
|||
MEI_CL_DISCONN_SUCCESS = MEI_HBMS_SUCCESS
|
||||
};
|
||||
|
||||
/*
|
||||
* MEI BUS Interface Section
|
||||
/**
|
||||
* struct mei_msg_hdr - MEI BUS Interface Section
|
||||
*
|
||||
* @me_addr: device address
|
||||
* @host_addr: host address
|
||||
* @length: message length
|
||||
* @reserved: reserved
|
||||
* @dma_ring: message is on dma ring
|
||||
* @internal: message is internal
|
||||
* @msg_complete: last packet of the message
|
||||
*/
|
||||
struct mei_msg_hdr {
|
||||
u32 me_addr:8;
|
||||
u32 host_addr:8;
|
||||
u32 length:9;
|
||||
u32 reserved:5;
|
||||
u32 reserved:4;
|
||||
u32 dma_ring:1;
|
||||
u32 internal:1;
|
||||
u32 msg_complete:1;
|
||||
} __packed;
|
||||
|
||||
|
||||
struct mei_bus_message {
|
||||
u8 hbm_cmd;
|
||||
u8 data[0];
|
||||
|
|
|
@ -714,10 +714,10 @@ static inline void mei_dbgfs_deregister(struct mei_device *dev) {}
|
|||
int mei_register(struct mei_device *dev, struct device *parent);
|
||||
void mei_deregister(struct mei_device *dev);
|
||||
|
||||
#define MEI_HDR_FMT "hdr:host=%02d me=%02d len=%d internal=%1d comp=%1d"
|
||||
#define MEI_HDR_FMT "hdr:host=%02d me=%02d len=%d dma=%1d internal=%1d comp=%1d"
|
||||
#define MEI_HDR_PRM(hdr) \
|
||||
(hdr)->host_addr, (hdr)->me_addr, \
|
||||
(hdr)->length, (hdr)->internal, (hdr)->msg_complete
|
||||
(hdr)->length, (hdr)->dma_ring, (hdr)->internal, (hdr)->msg_complete
|
||||
|
||||
ssize_t mei_fw_status2str(struct mei_fw_status *fw_sts, char *buf, size_t len);
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue