iwlwifi: mvm: add wide firmware command infrastructure for RX
Add support for extended firmware event header that contains a group id as well as the command id. Signed-off-by: Avraham Stern <avraham.stern@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
This commit is contained in:
parent
6eb031d2fe
commit
1230b16b44
@ -201,13 +201,15 @@ static void iwl_mvm_nic_config(struct iwl_op_mode *op_mode)
|
||||
}
|
||||
|
||||
struct iwl_rx_handlers {
|
||||
u8 cmd_id;
|
||||
u16 cmd_id;
|
||||
bool async;
|
||||
void (*fn)(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb);
|
||||
};
|
||||
|
||||
#define RX_HANDLER(_cmd_id, _fn, _async) \
|
||||
{ .cmd_id = _cmd_id , .fn = _fn , .async = _async }
|
||||
#define RX_HANDLER_GRP(_grp, _cmd, _fn, _async) \
|
||||
{ .cmd_id = WIDE_ID(_grp, _cmd), .fn = _fn, .async = _async }
|
||||
|
||||
/*
|
||||
* Handlers for fw notifications
|
||||
@ -263,6 +265,7 @@ static const struct iwl_rx_handlers iwl_mvm_rx_handlers[] = {
|
||||
|
||||
};
|
||||
#undef RX_HANDLER
|
||||
#undef RX_HANDLER_GRP
|
||||
#define CMD(x) [x] = #x
|
||||
|
||||
static const char *const iwl_mvm_cmd_strings[REPLY_MAX] = {
|
||||
@ -735,7 +738,7 @@ static void iwl_mvm_rx_dispatch(struct iwl_op_mode *op_mode,
|
||||
const struct iwl_rx_handlers *rx_h = &iwl_mvm_rx_handlers[i];
|
||||
struct iwl_async_handler_entry *entry;
|
||||
|
||||
if (rx_h->cmd_id != pkt->hdr.cmd)
|
||||
if (rx_h->cmd_id != WIDE_ID(pkt->hdr.group_id, pkt->hdr.cmd))
|
||||
continue;
|
||||
|
||||
if (!rx_h->async) {
|
||||
|
Loading…
Reference in New Issue
Block a user