iwlwifi: Add iwl_write8()
To support byte writes to CSR_INT_COALESCING and CSR_INT_PERIODIC registers, add iwl_write8(), including debug/trace support. Signed-off-by: Ben Cahill <ben.m.cahill@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
3305443c96
commit
4e03185fb8
@ -5,6 +5,7 @@
|
|||||||
#define CREATE_TRACE_POINTS
|
#define CREATE_TRACE_POINTS
|
||||||
#include "iwl-devtrace.h"
|
#include "iwl-devtrace.h"
|
||||||
|
|
||||||
|
EXPORT_TRACEPOINT_SYMBOL(iwlwifi_dev_iowrite8);
|
||||||
EXPORT_TRACEPOINT_SYMBOL(iwlwifi_dev_ioread32);
|
EXPORT_TRACEPOINT_SYMBOL(iwlwifi_dev_ioread32);
|
||||||
EXPORT_TRACEPOINT_SYMBOL(iwlwifi_dev_iowrite32);
|
EXPORT_TRACEPOINT_SYMBOL(iwlwifi_dev_iowrite32);
|
||||||
EXPORT_TRACEPOINT_SYMBOL(iwlwifi_dev_rx);
|
EXPORT_TRACEPOINT_SYMBOL(iwlwifi_dev_rx);
|
||||||
|
@ -32,6 +32,22 @@ TRACE_EVENT(iwlwifi_dev_ioread32,
|
|||||||
TP_printk("[%p] read io[%#x] = %#x", __entry->priv, __entry->offs, __entry->val)
|
TP_printk("[%p] read io[%#x] = %#x", __entry->priv, __entry->offs, __entry->val)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
TRACE_EVENT(iwlwifi_dev_iowrite8,
|
||||||
|
TP_PROTO(struct iwl_priv *priv, u32 offs, u8 val),
|
||||||
|
TP_ARGS(priv, offs, val),
|
||||||
|
TP_STRUCT__entry(
|
||||||
|
PRIV_ENTRY
|
||||||
|
__field(u32, offs)
|
||||||
|
__field(u8, val)
|
||||||
|
),
|
||||||
|
TP_fast_assign(
|
||||||
|
PRIV_ASSIGN;
|
||||||
|
__entry->offs = offs;
|
||||||
|
__entry->val = val;
|
||||||
|
),
|
||||||
|
TP_printk("[%p] write io[%#x] = %#x)", __entry->priv, __entry->offs, __entry->val)
|
||||||
|
);
|
||||||
|
|
||||||
TRACE_EVENT(iwlwifi_dev_iowrite32,
|
TRACE_EVENT(iwlwifi_dev_iowrite32,
|
||||||
TP_PROTO(struct iwl_priv *priv, u32 offs, u32 val),
|
TP_PROTO(struct iwl_priv *priv, u32 offs, u32 val),
|
||||||
TP_ARGS(priv, offs, val),
|
TP_ARGS(priv, offs, val),
|
||||||
|
@ -62,6 +62,26 @@
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
static inline void _iwl_write8(struct iwl_priv *priv, u32 ofs, u8 val)
|
||||||
|
{
|
||||||
|
trace_iwlwifi_dev_iowrite8(priv, ofs, val);
|
||||||
|
iowrite8(val, priv->hw_base + ofs);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_IWLWIFI_DEBUG
|
||||||
|
static inline void __iwl_write8(const char *f, u32 l, struct iwl_priv *priv,
|
||||||
|
u32 ofs, u8 val)
|
||||||
|
{
|
||||||
|
IWL_DEBUG_IO(priv, "write8(0x%08X, 0x%02X) - %s %d\n", ofs, val, f, l);
|
||||||
|
_iwl_write8(priv, ofs, val);
|
||||||
|
}
|
||||||
|
#define iwl_write8(priv, ofs, val) \
|
||||||
|
__iwl_write8(__FILE__, __LINE__, priv, ofs, val)
|
||||||
|
#else
|
||||||
|
#define iwl_write8(priv, ofs, val) _iwl_write8(priv, ofs, val)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
static inline void _iwl_write32(struct iwl_priv *priv, u32 ofs, u32 val)
|
static inline void _iwl_write32(struct iwl_priv *priv, u32 ofs, u32 val)
|
||||||
{
|
{
|
||||||
trace_iwlwifi_dev_iowrite32(priv, ofs, val);
|
trace_iwlwifi_dev_iowrite32(priv, ofs, val);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user