FreeBSD kernel iwm device code
if_iwm_fw.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define IWM_PAGE_2_EXP_SIZE   12 /* 4K == 2^12 */
 
#define IWM_FW_PAGING_SIZE   (1 << IWM_PAGE_2_EXP_SIZE) /* page size is 4KB */
 
#define IWM_PAGE_PER_GROUP_2_EXP_SIZE   3
 
#define IWM_NUM_OF_PAGE_PER_GROUP   (1 << IWM_PAGE_PER_GROUP_2_EXP_SIZE)
 
#define IWM_PAGING_BLOCK_SIZE   (IWM_NUM_OF_PAGE_PER_GROUP * IWM_FW_PAGING_SIZE)
 
#define IWM_BLOCK_2_EXP_SIZE   (IWM_PAGE_2_EXP_SIZE + IWM_PAGE_PER_GROUP_2_EXP_SIZE)
 
#define IWM_BLOCK_PER_IMAGE_2_EXP_SIZE   5
 
#define IWM_NUM_OF_BLOCK_PER_IMAGE   (1 << IWM_BLOCK_PER_IMAGE_2_EXP_SIZE)
 
#define IWM_MAX_PAGING_IMAGE_SIZE   (IWM_NUM_OF_BLOCK_PER_IMAGE * IWM_PAGING_BLOCK_SIZE)
 
#define IWM_PAGING_ADDR_SIG   0xAA000000
 
#define IWM_PAGING_CMD_IS_SECURED   (1 << 9)
 
#define IWM_PAGING_CMD_IS_ENABLED   (1 << 8)
 
#define IWM_PAGING_CMD_NUM_OF_PAGES_IN_LAST_GRP_POS   0
 
#define IWM_PAGING_TLV_SECURE_MASK   1
 

Functions

void iwm_free_fw_paging (struct iwm_softc *)
 
int iwm_save_fw_paging (struct iwm_softc *, const struct iwm_fw_img *)
 
int iwm_send_paging_cmd (struct iwm_softc *, const struct iwm_fw_img *)
 

Macro Definition Documentation

◆ IWM_BLOCK_2_EXP_SIZE

#define IWM_BLOCK_2_EXP_SIZE   (IWM_PAGE_2_EXP_SIZE + IWM_PAGE_PER_GROUP_2_EXP_SIZE)

Definition at line 90 of file if_iwm_fw.h.

◆ IWM_BLOCK_PER_IMAGE_2_EXP_SIZE

#define IWM_BLOCK_PER_IMAGE_2_EXP_SIZE   5

Definition at line 95 of file if_iwm_fw.h.

◆ IWM_FW_PAGING_SIZE

#define IWM_FW_PAGING_SIZE   (1 << IWM_PAGE_2_EXP_SIZE) /* page size is 4KB */

Definition at line 83 of file if_iwm_fw.h.

◆ IWM_MAX_PAGING_IMAGE_SIZE

#define IWM_MAX_PAGING_IMAGE_SIZE   (IWM_NUM_OF_BLOCK_PER_IMAGE * IWM_PAGING_BLOCK_SIZE)

Definition at line 99 of file if_iwm_fw.h.

◆ IWM_NUM_OF_BLOCK_PER_IMAGE

#define IWM_NUM_OF_BLOCK_PER_IMAGE   (1 << IWM_BLOCK_PER_IMAGE_2_EXP_SIZE)

Definition at line 97 of file if_iwm_fw.h.

◆ IWM_NUM_OF_PAGE_PER_GROUP

#define IWM_NUM_OF_PAGE_PER_GROUP   (1 << IWM_PAGE_PER_GROUP_2_EXP_SIZE)

Definition at line 86 of file if_iwm_fw.h.

◆ IWM_PAGE_2_EXP_SIZE

#define IWM_PAGE_2_EXP_SIZE   12 /* 4K == 2^12 */

Definition at line 82 of file if_iwm_fw.h.

◆ IWM_PAGE_PER_GROUP_2_EXP_SIZE

#define IWM_PAGE_PER_GROUP_2_EXP_SIZE   3

Definition at line 84 of file if_iwm_fw.h.

◆ IWM_PAGING_ADDR_SIG

#define IWM_PAGING_ADDR_SIG   0xAA000000

Definition at line 102 of file if_iwm_fw.h.

◆ IWM_PAGING_BLOCK_SIZE

#define IWM_PAGING_BLOCK_SIZE   (IWM_NUM_OF_PAGE_PER_GROUP * IWM_FW_PAGING_SIZE)

Definition at line 88 of file if_iwm_fw.h.

◆ IWM_PAGING_CMD_IS_ENABLED

#define IWM_PAGING_CMD_IS_ENABLED   (1 << 8)

Definition at line 105 of file if_iwm_fw.h.

◆ IWM_PAGING_CMD_IS_SECURED

#define IWM_PAGING_CMD_IS_SECURED   (1 << 9)

Definition at line 104 of file if_iwm_fw.h.

◆ IWM_PAGING_CMD_NUM_OF_PAGES_IN_LAST_GRP_POS

#define IWM_PAGING_CMD_NUM_OF_PAGES_IN_LAST_GRP_POS   0

Definition at line 106 of file if_iwm_fw.h.

◆ IWM_PAGING_TLV_SECURE_MASK

#define IWM_PAGING_TLV_SECURE_MASK   1

Definition at line 107 of file if_iwm_fw.h.

Function Documentation

◆ iwm_free_fw_paging()

void iwm_free_fw_paging ( struct iwm_softc sc)

Definition at line 129 of file if_iwm_fw.c.

References iwm_fw_paging::fw_paging_block, iwm_softc::fw_paging_db, iwm_dma_contig_free(), IWM_NUM_OF_FW_PAGING_BLOCKS, and iwm_dma_info::vaddr.

Referenced by iwm_alloc_fw_paging_mem(), iwm_detach_local(), iwm_fill_paging_mem(), and iwm_load_ucode_wait_alive().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ iwm_save_fw_paging()

int iwm_save_fw_paging ( struct iwm_softc sc,
const struct iwm_fw_img fw 
)

Definition at line 301 of file if_iwm_fw.c.

References iwm_alloc_fw_paging_mem(), and iwm_fill_paging_mem().

Referenced by iwm_load_ucode_wait_alive().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ iwm_send_paging_cmd()