Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
hif.h File Reference
#include "common.h"
#include "core.h"
#include <linux/scatterlist.h>

Go to the source code of this file.

Data Structures

struct  bus_request
 
struct  hif_scatter_item
 
struct  hif_scatter_req
 
struct  ath6kl_irq_proc_registers
 
struct  ath6kl_irq_enable_reg
 
struct  ath6kl_device
 
struct  ath6kl_hif_ops
 

Macros

#define BUS_REQUEST_MAX_NUM   64
 
#define HIF_MBOX_BLOCK_SIZE   128
 
#define HIF_MBOX0_BLOCK_SIZE   1
 
#define HIF_DMA_BUFFER_SIZE   (32 * 1024)
 
#define CMD53_FIXED_ADDRESS   1
 
#define CMD53_INCR_ADDRESS   2
 
#define MAX_SCATTER_REQUESTS   4
 
#define MAX_SCATTER_ENTRIES_PER_REQ   16
 
#define MAX_SCATTER_REQ_TRANSFER_SIZE   (32 * 1024)
 
#define MANUFACTURER_ID_AR6003_BASE   0x300
 
#define MANUFACTURER_ID_AR6004_BASE   0x400
 
#define MANUFACTURER_ID_ATH6KL_BASE_MASK   0xFF00
 
#define MANUFACTURER_CODE   0x271 /* Atheros */
 
#define HIF_MBOX_BASE_ADDR   0x800
 
#define HIF_MBOX_WIDTH   0x800
 
#define HIF_MBOX_END_ADDR   (HTC_MAILBOX_NUM_MAX * HIF_MBOX_WIDTH - 1)
 
#define HIF_MBOX0_EXT_BASE_ADDR   0x4000
 
#define HIF_MBOX0_EXT_WIDTH   (12*1024)
 
#define HIF_GMBOX_BASE_ADDR   0x7000
 
#define HIF_GMBOX_WIDTH   0x4000
 
#define CCCR_SDIO_IRQ_MODE_REG   0xF0
 
#define SDIO_IRQ_MODE_ASYNC_4BIT_IRQ   (1 << 0)
 
#define HTC_MAILBOX   0
 
#define ATH6KL_TARGET_DEBUG_INTR_MASK   0x01
 
#define ATH6KL_SCATTER_ENTRIES_PER_REQ   16
 
#define ATH6KL_MAX_TRANSFER_SIZE_PER_SCATTER   (16 * 1024)
 
#define ATH6KL_SCATTER_REQS   4
 
#define ATH6KL_HIF_COMMUNICATION_TIMEOUT   1000
 
#define HIF_READ   0x00000001
 
#define HIF_WRITE   0x00000002
 
#define HIF_DIR_MASK   (HIF_READ | HIF_WRITE)
 
#define HIF_SYNCHRONOUS   0x00000010
 
#define HIF_ASYNCHRONOUS   0x00000020
 
#define HIF_EMODE_MASK   (HIF_SYNCHRONOUS | HIF_ASYNCHRONOUS)
 
#define HIF_BYTE_BASIS   0x00000040
 
#define HIF_BLOCK_BASIS   0x00000080
 
#define HIF_DMODE_MASK   (HIF_BYTE_BASIS | HIF_BLOCK_BASIS)
 
#define HIF_FIXED_ADDRESS   0x00000100
 
#define HIF_INCREMENTAL_ADDRESS   0x00000200
 
#define HIF_AMODE_MASK   (HIF_FIXED_ADDRESS | HIF_INCREMENTAL_ADDRESS)
 
#define HIF_WR_ASYNC_BYTE_INC
 
#define HIF_WR_ASYNC_BLOCK_INC
 
#define HIF_WR_SYNC_BYTE_FIX
 
#define HIF_WR_SYNC_BYTE_INC
 
#define HIF_WR_SYNC_BLOCK_INC
 
#define HIF_RD_SYNC_BYTE_INC
 
#define HIF_RD_SYNC_BYTE_FIX
 
#define HIF_RD_ASYNC_BLOCK_FIX
 
#define HIF_RD_SYNC_BLOCK_FIX
 

Functions

int ath6kl_hif_setup (struct ath6kl_device *dev)
 
int ath6kl_hif_unmask_intrs (struct ath6kl_device *dev)
 
int ath6kl_hif_mask_intrs (struct ath6kl_device *dev)
 
int ath6kl_hif_poll_mboxmsg_rx (struct ath6kl_device *dev, u32 *lk_ahd, int timeout)
 
int ath6kl_hif_rx_control (struct ath6kl_device *dev, bool enable_rx)
 
int ath6kl_hif_disable_intrs (struct ath6kl_device *dev)
 
int ath6kl_hif_rw_comp_handler (void *context, int status)
 
int ath6kl_hif_intr_bh_handler (struct ath6kl *ar)
 
int ath6kl_hif_submit_scat_req (struct ath6kl_device *dev, struct hif_scatter_req *scat_req, bool read)
 

Variables

struct ath6kl_irq_proc_registers __packed
 

Macro Definition Documentation

#define ATH6KL_HIF_COMMUNICATION_TIMEOUT   1000

Definition at line 74 of file hif.h.

#define ATH6KL_MAX_TRANSFER_SIZE_PER_SCATTER   (16 * 1024)

Definition at line 71 of file hif.h.

#define ATH6KL_SCATTER_ENTRIES_PER_REQ   16

Definition at line 70 of file hif.h.

#define ATH6KL_SCATTER_REQS   4

Definition at line 72 of file hif.h.

#define ATH6KL_TARGET_DEBUG_INTR_MASK   0x01

Definition at line 67 of file hif.h.

#define BUS_REQUEST_MAX_NUM   64

Definition at line 26 of file hif.h.

#define CCCR_SDIO_IRQ_MODE_REG   0xF0

Definition at line 59 of file hif.h.

#define CMD53_FIXED_ADDRESS   1

Definition at line 31 of file hif.h.

#define CMD53_INCR_ADDRESS   2

Definition at line 32 of file hif.h.

#define HIF_AMODE_MASK   (HIF_FIXED_ADDRESS | HIF_INCREMENTAL_ADDRESS)

Definition at line 133 of file hif.h.

#define HIF_ASYNCHRONOUS   0x00000020

Definition at line 109 of file hif.h.

#define HIF_BLOCK_BASIS   0x00000080

Definition at line 123 of file hif.h.

#define HIF_BYTE_BASIS   0x00000040

Definition at line 122 of file hif.h.

#define HIF_DIR_MASK   (HIF_READ | HIF_WRITE)

Definition at line 95 of file hif.h.

#define HIF_DMA_BUFFER_SIZE   (32 * 1024)

Definition at line 30 of file hif.h.

#define HIF_DMODE_MASK   (HIF_BYTE_BASIS | HIF_BLOCK_BASIS)

Definition at line 124 of file hif.h.

#define HIF_EMODE_MASK   (HIF_SYNCHRONOUS | HIF_ASYNCHRONOUS)

Definition at line 110 of file hif.h.

#define HIF_FIXED_ADDRESS   0x00000100

Definition at line 131 of file hif.h.

#define HIF_GMBOX_BASE_ADDR   0x7000

Definition at line 55 of file hif.h.

#define HIF_GMBOX_WIDTH   0x4000

Definition at line 56 of file hif.h.

#define HIF_INCREMENTAL_ADDRESS   0x00000200

Definition at line 132 of file hif.h.

#define HIF_MBOX0_BLOCK_SIZE   1

Definition at line 28 of file hif.h.

#define HIF_MBOX0_EXT_BASE_ADDR   0x4000

Definition at line 51 of file hif.h.

#define HIF_MBOX0_EXT_WIDTH   (12*1024)

Definition at line 52 of file hif.h.

#define HIF_MBOX_BASE_ADDR   0x800

Definition at line 45 of file hif.h.

#define HIF_MBOX_BLOCK_SIZE   128

Definition at line 27 of file hif.h.

#define HIF_MBOX_END_ADDR   (HTC_MAILBOX_NUM_MAX * HIF_MBOX_WIDTH - 1)

Definition at line 48 of file hif.h.

#define HIF_MBOX_WIDTH   0x800

Definition at line 46 of file hif.h.

#define HIF_RD_ASYNC_BLOCK_FIX
Value:
HIF_BLOCK_BASIS | HIF_FIXED_ADDRESS)

Definition at line 163 of file hif.h.

#define HIF_RD_SYNC_BLOCK_FIX
Value:
HIF_BLOCK_BASIS | HIF_FIXED_ADDRESS)

Definition at line 167 of file hif.h.

#define HIF_RD_SYNC_BYTE_FIX
Value:
HIF_BYTE_BASIS | HIF_FIXED_ADDRESS)

Definition at line 159 of file hif.h.

#define HIF_RD_SYNC_BYTE_INC
Value:

Definition at line 155 of file hif.h.

#define HIF_READ   0x00000001

Definition at line 93 of file hif.h.

#define HIF_SYNCHRONOUS   0x00000010

Definition at line 108 of file hif.h.

#define HIF_WR_ASYNC_BLOCK_INC
Value:

Definition at line 139 of file hif.h.

#define HIF_WR_ASYNC_BYTE_INC
Value:

Definition at line 135 of file hif.h.

#define HIF_WR_SYNC_BLOCK_INC
Value:

Definition at line 151 of file hif.h.

#define HIF_WR_SYNC_BYTE_FIX
Value:
HIF_BYTE_BASIS | HIF_FIXED_ADDRESS)

Definition at line 143 of file hif.h.

#define HIF_WR_SYNC_BYTE_INC
Value:

Definition at line 147 of file hif.h.

#define HIF_WRITE   0x00000002

Definition at line 94 of file hif.h.

#define HTC_MAILBOX   0

Definition at line 65 of file hif.h.

#define MANUFACTURER_CODE   0x271 /* Atheros */

Definition at line 42 of file hif.h.

#define MANUFACTURER_ID_AR6003_BASE   0x300

Definition at line 38 of file hif.h.

#define MANUFACTURER_ID_AR6004_BASE   0x400

Definition at line 39 of file hif.h.

#define MANUFACTURER_ID_ATH6KL_BASE_MASK   0xFF00

Definition at line 41 of file hif.h.

#define MAX_SCATTER_ENTRIES_PER_REQ   16

Definition at line 35 of file hif.h.

#define MAX_SCATTER_REQ_TRANSFER_SIZE   (32 * 1024)

Definition at line 36 of file hif.h.

#define MAX_SCATTER_REQUESTS   4

Definition at line 34 of file hif.h.

#define SDIO_IRQ_MODE_ASYNC_4BIT_IRQ   (1 << 0)

Definition at line 62 of file hif.h.

Function Documentation

int ath6kl_hif_disable_intrs ( struct ath6kl_device dev)

Definition at line 619 of file hif.c.

int ath6kl_hif_intr_bh_handler ( struct ath6kl ar)

Definition at line 543 of file hif.c.

int ath6kl_hif_mask_intrs ( struct ath6kl_device dev)

Definition at line 660 of file hif.c.

int ath6kl_hif_poll_mboxmsg_rx ( struct ath6kl_device dev,
u32 lk_ahd,
int  timeout 
)

Definition at line 144 of file hif.c.

int ath6kl_hif_rw_comp_handler ( void context,
int  status 
)

Definition at line 53 of file hif.c.

int ath6kl_hif_rx_control ( struct ath6kl_device dev,
bool  enable_rx 
)

Definition at line 203 of file hif.c.

int ath6kl_hif_setup ( struct ath6kl_device dev)

Definition at line 672 of file hif.c.

int ath6kl_hif_submit_scat_req ( struct ath6kl_device dev,
struct hif_scatter_req scat_req,
bool  read 
)

Definition at line 233 of file hif.c.

int ath6kl_hif_unmask_intrs ( struct ath6kl_device dev)

Definition at line 638 of file hif.c.

Variable Documentation