diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-prph.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-prph.h | 39 |
1 files changed, 31 insertions, 8 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-prph.h b/drivers/net/wireless/iwlwifi/iwl-prph.h index acac629386e0..70d9c7568b98 100644 --- a/drivers/net/wireless/iwlwifi/iwl-prph.h +++ b/drivers/net/wireless/iwlwifi/iwl-prph.h | |||
@@ -358,11 +358,6 @@ | |||
358 | * 7- 0: Enable (1), disable (0), one bit for each channel 0-7 | 358 | * 7- 0: Enable (1), disable (0), one bit for each channel 0-7 |
359 | */ | 359 | */ |
360 | #define IWL49_SCD_TXFACT (IWL49_SCD_START_OFFSET + 0x1c) | 360 | #define IWL49_SCD_TXFACT (IWL49_SCD_START_OFFSET + 0x1c) |
361 | |||
362 | /* Mask to enable contiguous Tx DMA/FIFO channels between "lo" and "hi". */ | ||
363 | #define SCD_TXFACT_REG_TXFIFO_MASK(lo, hi) \ | ||
364 | ((1 << (hi)) | ((1 << (hi)) - (1 << (lo)))) | ||
365 | |||
366 | /* | 361 | /* |
367 | * Queue (x) Write Pointers (indexes, really!), one for each Tx queue. | 362 | * Queue (x) Write Pointers (indexes, really!), one for each Tx queue. |
368 | * Initialized and updated by driver as new TFDs are added to queue. | 363 | * Initialized and updated by driver as new TFDs are added to queue. |
@@ -512,11 +507,39 @@ | |||
512 | #define IWL49_SCD_TRANSLATE_TBL_OFFSET_QUEUE(x) \ | 507 | #define IWL49_SCD_TRANSLATE_TBL_OFFSET_QUEUE(x) \ |
513 | ((IWL49_SCD_TRANSLATE_TBL_OFFSET + ((x) * 2)) & 0xfffffffc) | 508 | ((IWL49_SCD_TRANSLATE_TBL_OFFSET + ((x) * 2)) & 0xfffffffc) |
514 | 509 | ||
515 | #define IWL49_SCD_TXFIFO_POS_TID (0) | 510 | #define IWL_SCD_TXFIFO_POS_TID (0) |
516 | #define IWL49_SCD_TXFIFO_POS_RA (4) | 511 | #define IWL_SCD_TXFIFO_POS_RA (4) |
517 | #define IWL49_SCD_QUEUE_RA_TID_MAP_RATID_MSK (0x01FF) | 512 | #define IWL_SCD_QUEUE_RA_TID_MAP_RATID_MSK (0x01FF) |
518 | 513 | ||
519 | /* 5000 SCD */ | 514 | /* 5000 SCD */ |
515 | #define IWL50_SCD_QUEUE_STTS_REG_POS_TXF (0) | ||
516 | #define IWL50_SCD_QUEUE_STTS_REG_POS_ACTIVE (3) | ||
517 | #define IWL50_SCD_QUEUE_STTS_REG_POS_WSL (4) | ||
518 | #define IWL50_SCD_QUEUE_STTS_REG_POS_SCD_ACT_EN (19) | ||
519 | #define IWL50_SCD_QUEUE_STTS_REG_MSK (0x00FF0000) | ||
520 | |||
521 | #define IWL50_SCD_QUEUE_CTX_REG1_CREDIT_POS (8) | ||
522 | #define IWL50_SCD_QUEUE_CTX_REG1_CREDIT_MSK (0x00FFFF00) | ||
523 | #define IWL50_SCD_QUEUE_CTX_REG1_SUPER_CREDIT_POS (24) | ||
524 | #define IWL50_SCD_QUEUE_CTX_REG1_SUPER_CREDIT_MSK (0xFF000000) | ||
525 | #define IWL50_SCD_QUEUE_CTX_REG2_WIN_SIZE_POS (0) | ||
526 | #define IWL50_SCD_QUEUE_CTX_REG2_WIN_SIZE_MSK (0x0000007F) | ||
527 | #define IWL50_SCD_QUEUE_CTX_REG2_FRAME_LIMIT_POS (16) | ||
528 | #define IWL50_SCD_QUEUE_CTX_REG2_FRAME_LIMIT_MSK (0x007F0000) | ||
529 | |||
530 | #define IWL50_SCD_CONTEXT_DATA_OFFSET (0x600) | ||
531 | #define IWL50_SCD_TX_STTS_BITMAP_OFFSET (0x7B1) | ||
532 | #define IWL50_SCD_TRANSLATE_TBL_OFFSET (0x7E0) | ||
533 | |||
534 | #define IWL50_SCD_CONTEXT_QUEUE_OFFSET(x)\ | ||
535 | (IWL50_SCD_CONTEXT_DATA_OFFSET + ((x) * 8)) | ||
536 | |||
537 | #define IWL50_SCD_TRANSLATE_TBL_OFFSET_QUEUE(x) \ | ||
538 | ((IWL50_SCD_TRANSLATE_TBL_OFFSET + ((x) * 2)) & 0xfffc) | ||
539 | |||
540 | #define IWL50_SCD_QUEUECHAIN_SEL_ALL(x) (((1<<(x)) - 1) &\ | ||
541 | (~(1<<IWL_CMD_QUEUE_NUM))) | ||
542 | |||
520 | #define IWL50_SCD_BASE (PRPH_BASE + 0xa02c00) | 543 | #define IWL50_SCD_BASE (PRPH_BASE + 0xa02c00) |
521 | 544 | ||
522 | #define IWL50_SCD_SRAM_BASE_ADDR (IWL50_SCD_BASE + 0x0) | 545 | #define IWL50_SCD_SRAM_BASE_ADDR (IWL50_SCD_BASE + 0x0) |