iwlwifi: move device_pointers from iwl_priv to iwl_shared
Move the low level ucode device_pointers structure to iwl_shared. Signed-off-by: Don Fry <donald.h.fry@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
This commit is contained in:
parent
ab36eab24e
commit
ae6130fc9b
|
@ -1165,7 +1165,7 @@ int iwl_rx_dispatch(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb,
|
||||||
pkt->hdr.cmd);
|
pkt->hdr.cmd);
|
||||||
w->triggered = true;
|
w->triggered = true;
|
||||||
if (w->fn)
|
if (w->fn)
|
||||||
w->fn(priv, pkt, w->fn_data);
|
w->fn(trans(priv), pkt, w->fn_data);
|
||||||
}
|
}
|
||||||
spin_unlock(&priv->shrd->notif_wait_lock);
|
spin_unlock(&priv->shrd->notif_wait_lock);
|
||||||
|
|
||||||
|
|
|
@ -366,7 +366,7 @@ static void iwl_continuous_event_trace(struct iwl_priv *priv)
|
||||||
u32 num_wraps; /* # times uCode wrapped to top of log */
|
u32 num_wraps; /* # times uCode wrapped to top of log */
|
||||||
u32 next_entry; /* index of next entry to be written by uCode */
|
u32 next_entry; /* index of next entry to be written by uCode */
|
||||||
|
|
||||||
base = priv->device_pointers.error_event_table;
|
base = priv->shrd->device_pointers.error_event_table;
|
||||||
if (iwlagn_hw_valid_rtc_data_addr(base)) {
|
if (iwlagn_hw_valid_rtc_data_addr(base)) {
|
||||||
capacity = iwl_read_targ_mem(bus(priv), base);
|
capacity = iwl_read_targ_mem(bus(priv), base);
|
||||||
num_wraps = iwl_read_targ_mem(bus(priv),
|
num_wraps = iwl_read_targ_mem(bus(priv),
|
||||||
|
|
|
@ -865,11 +865,6 @@ struct iwl_priv {
|
||||||
|
|
||||||
__le16 switch_channel;
|
__le16 switch_channel;
|
||||||
|
|
||||||
struct {
|
|
||||||
u32 error_event_table;
|
|
||||||
u32 log_event_table;
|
|
||||||
} device_pointers;
|
|
||||||
|
|
||||||
u16 active_rate;
|
u16 active_rate;
|
||||||
|
|
||||||
u8 start_calib;
|
u8 start_calib;
|
||||||
|
|
|
@ -427,7 +427,7 @@ static int iwlagn_mac_resume(struct ieee80211_hw *hw)
|
||||||
iwl_write32(bus(priv), CSR_UCODE_DRV_GP1_CLR,
|
iwl_write32(bus(priv), CSR_UCODE_DRV_GP1_CLR,
|
||||||
CSR_UCODE_DRV_GP1_BIT_D3_CFG_COMPLETE);
|
CSR_UCODE_DRV_GP1_BIT_D3_CFG_COMPLETE);
|
||||||
|
|
||||||
base = priv->device_pointers.error_event_table;
|
base = priv->shrd->device_pointers.error_event_table;
|
||||||
if (iwlagn_hw_valid_rtc_data_addr(base)) {
|
if (iwlagn_hw_valid_rtc_data_addr(base)) {
|
||||||
spin_lock_irqsave(&bus(priv)->reg_lock, flags);
|
spin_lock_irqsave(&bus(priv)->reg_lock, flags);
|
||||||
ret = iwl_grab_nic_access_silent(bus(priv));
|
ret = iwl_grab_nic_access_silent(bus(priv));
|
||||||
|
|
|
@ -97,6 +97,7 @@
|
||||||
struct iwl_cfg;
|
struct iwl_cfg;
|
||||||
struct iwl_bus;
|
struct iwl_bus;
|
||||||
struct iwl_priv;
|
struct iwl_priv;
|
||||||
|
struct iwl_trans;
|
||||||
struct iwl_sensitivity_ranges;
|
struct iwl_sensitivity_ranges;
|
||||||
struct iwl_trans_ops;
|
struct iwl_trans_ops;
|
||||||
|
|
||||||
|
@ -294,7 +295,7 @@ enum iwl_ucode_type {
|
||||||
struct iwl_notification_wait {
|
struct iwl_notification_wait {
|
||||||
struct list_head list;
|
struct list_head list;
|
||||||
|
|
||||||
void (*fn)(struct iwl_priv *priv, struct iwl_rx_packet *pkt,
|
void (*fn)(struct iwl_trans *trans, struct iwl_rx_packet *pkt,
|
||||||
void *data);
|
void *data);
|
||||||
void *fn_data;
|
void *fn_data;
|
||||||
|
|
||||||
|
@ -323,6 +324,7 @@ struct iwl_notification_wait {
|
||||||
* @notif_waits: things waiting for notification
|
* @notif_waits: things waiting for notification
|
||||||
* @notif_wait_lock: lock protecting notification
|
* @notif_wait_lock: lock protecting notification
|
||||||
* @notif_waitq: head of notification wait queue
|
* @notif_waitq: head of notification wait queue
|
||||||
|
* @device_pointers: pointers to ucode event tables
|
||||||
*/
|
*/
|
||||||
struct iwl_shared {
|
struct iwl_shared {
|
||||||
#ifdef CONFIG_IWLWIFI_DEBUG
|
#ifdef CONFIG_IWLWIFI_DEBUG
|
||||||
|
@ -361,6 +363,12 @@ struct iwl_shared {
|
||||||
struct list_head notif_waits;
|
struct list_head notif_waits;
|
||||||
spinlock_t notif_wait_lock;
|
spinlock_t notif_wait_lock;
|
||||||
wait_queue_head_t notif_waitq;
|
wait_queue_head_t notif_waitq;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
u32 error_event_table;
|
||||||
|
u32 log_event_table;
|
||||||
|
} device_pointers;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/*Whatever _m is (iwl_trans, iwl_priv, iwl_bus, these macros will work */
|
/*Whatever _m is (iwl_trans, iwl_priv, iwl_bus, these macros will work */
|
||||||
|
@ -510,7 +518,7 @@ void __acquires(wait_entry)
|
||||||
iwl_init_notification_wait(struct iwl_shared *shrd,
|
iwl_init_notification_wait(struct iwl_shared *shrd,
|
||||||
struct iwl_notification_wait *wait_entry,
|
struct iwl_notification_wait *wait_entry,
|
||||||
u8 cmd,
|
u8 cmd,
|
||||||
void (*fn)(struct iwl_priv *priv,
|
void (*fn)(struct iwl_trans *trans,
|
||||||
struct iwl_rx_packet *pkt,
|
struct iwl_rx_packet *pkt,
|
||||||
void *data),
|
void *data),
|
||||||
void *fn_data);
|
void *fn_data);
|
||||||
|
|
|
@ -594,7 +594,7 @@ static void iwl_dump_nic_error_log(struct iwl_trans *trans)
|
||||||
struct iwl_trans_pcie *trans_pcie =
|
struct iwl_trans_pcie *trans_pcie =
|
||||||
IWL_TRANS_GET_PCIE_TRANS(trans);
|
IWL_TRANS_GET_PCIE_TRANS(trans);
|
||||||
|
|
||||||
base = priv->device_pointers.error_event_table;
|
base = trans->shrd->device_pointers.error_event_table;
|
||||||
if (trans->shrd->ucode_type == IWL_UCODE_INIT) {
|
if (trans->shrd->ucode_type == IWL_UCODE_INIT) {
|
||||||
if (!base)
|
if (!base)
|
||||||
base = priv->init_errlog_ptr;
|
base = priv->init_errlog_ptr;
|
||||||
|
@ -724,7 +724,7 @@ static int iwl_print_event_log(struct iwl_trans *trans, u32 start_idx,
|
||||||
if (num_events == 0)
|
if (num_events == 0)
|
||||||
return pos;
|
return pos;
|
||||||
|
|
||||||
base = priv->device_pointers.log_event_table;
|
base = trans->shrd->device_pointers.log_event_table;
|
||||||
if (trans->shrd->ucode_type == IWL_UCODE_INIT) {
|
if (trans->shrd->ucode_type == IWL_UCODE_INIT) {
|
||||||
if (!base)
|
if (!base)
|
||||||
base = priv->init_evtlog_ptr;
|
base = priv->init_evtlog_ptr;
|
||||||
|
@ -838,7 +838,7 @@ int iwl_dump_nic_event_log(struct iwl_trans *trans, bool full_log,
|
||||||
size_t bufsz = 0;
|
size_t bufsz = 0;
|
||||||
struct iwl_priv *priv = priv(trans);
|
struct iwl_priv *priv = priv(trans);
|
||||||
|
|
||||||
base = priv->device_pointers.log_event_table;
|
base = trans->shrd->device_pointers.log_event_table;
|
||||||
if (trans->shrd->ucode_type == IWL_UCODE_INIT) {
|
if (trans->shrd->ucode_type == IWL_UCODE_INIT) {
|
||||||
logsize = priv->init_evtlog_size;
|
logsize = priv->init_evtlog_size;
|
||||||
if (!base)
|
if (!base)
|
||||||
|
|
|
@ -550,7 +550,7 @@ struct iwlagn_alive_data {
|
||||||
u8 subtype;
|
u8 subtype;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void iwl_alive_fn(struct iwl_priv *priv,
|
static void iwl_alive_fn(struct iwl_trans *trans,
|
||||||
struct iwl_rx_packet *pkt,
|
struct iwl_rx_packet *pkt,
|
||||||
void *data)
|
void *data)
|
||||||
{
|
{
|
||||||
|
@ -559,14 +559,14 @@ static void iwl_alive_fn(struct iwl_priv *priv,
|
||||||
|
|
||||||
palive = &pkt->u.alive_frame;
|
palive = &pkt->u.alive_frame;
|
||||||
|
|
||||||
IWL_DEBUG_FW(priv, "Alive ucode status 0x%08X revision "
|
IWL_DEBUG_FW(trans, "Alive ucode status 0x%08X revision "
|
||||||
"0x%01X 0x%01X\n",
|
"0x%01X 0x%01X\n",
|
||||||
palive->is_valid, palive->ver_type,
|
palive->is_valid, palive->ver_type,
|
||||||
palive->ver_subtype);
|
palive->ver_subtype);
|
||||||
|
|
||||||
priv->device_pointers.error_event_table =
|
trans->shrd->device_pointers.error_event_table =
|
||||||
le32_to_cpu(palive->error_event_table_ptr);
|
le32_to_cpu(palive->error_event_table_ptr);
|
||||||
priv->device_pointers.log_event_table =
|
trans->shrd->device_pointers.log_event_table =
|
||||||
le32_to_cpu(palive->log_event_table_ptr);
|
le32_to_cpu(palive->log_event_table_ptr);
|
||||||
|
|
||||||
alive_data->subtype = palive->ver_subtype;
|
alive_data->subtype = palive->ver_subtype;
|
||||||
|
@ -577,7 +577,7 @@ static void iwl_alive_fn(struct iwl_priv *priv,
|
||||||
void iwl_init_notification_wait(struct iwl_shared *shrd,
|
void iwl_init_notification_wait(struct iwl_shared *shrd,
|
||||||
struct iwl_notification_wait *wait_entry,
|
struct iwl_notification_wait *wait_entry,
|
||||||
u8 cmd,
|
u8 cmd,
|
||||||
void (*fn)(struct iwl_priv *priv,
|
void (*fn)(struct iwl_trans *trans,
|
||||||
struct iwl_rx_packet *pkt,
|
struct iwl_rx_packet *pkt,
|
||||||
void *data),
|
void *data),
|
||||||
void *fn_data)
|
void *fn_data)
|
||||||
|
|
Loading…
Reference in New Issue