summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/intel/iwlwifi/pcie/rx.c
diff options
context:
space:
mode:
authorSara Sharon <sara.sharon@intel.com>2018-03-04 13:09:01 +0200
committerLuca Coelho <luciano.coelho@intel.com>2018-08-02 10:50:05 +0300
commitb2a58c9712bb1b8744944c0cc54168be27e217f7 (patch)
treedf5230a7f7f0f769e8fade2bd24f6423c3f4be78 /drivers/net/wireless/intel/iwlwifi/pcie/rx.c
parent18ead597daa17a557249cf4b2f494361d836ed52 (diff)
iwlwifi: pcie: unionize used bd and completion descriptor
This allows less "dummy" declarations and casting. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/pcie/rx.c')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/pcie/rx.c32
1 files changed, 8 insertions, 24 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/rx.c b/drivers/net/wireless/intel/iwlwifi/pcie/rx.c
index 78e7e2d5d290..284946653e27 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/rx.c
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/rx.c
@@ -649,7 +649,6 @@ static void iwl_pcie_free_rxq_dma(struct iwl_trans *trans,
struct iwl_rxq *rxq)
{
struct device *dev = trans->dev;
- struct iwl_rx_completion_desc *rx_cd;
bool use_rx_td = (trans->cfg->device_family >=
IWL_DEVICE_FAMILY_22560);
int free_size = iwl_pcie_free_bd_size(trans, use_rx_td);
@@ -671,7 +670,7 @@ static void iwl_pcie_free_rxq_dma(struct iwl_trans *trans,
if (rxq->used_bd)
dma_free_coherent(trans->dev,
- (use_rx_td ? sizeof(*rx_cd) :
+ (use_rx_td ? sizeof(*rxq->cd) :
sizeof(__le32)) * rxq->queue_size,
rxq->used_bd, rxq->used_bd_dma);
rxq->used_bd_dma = 0;
@@ -698,7 +697,6 @@ static int iwl_pcie_alloc_rxq_dma(struct iwl_trans *trans,
{
struct iwl_trans_pcie *trans_pcie = IWL_TRANS_GET_PCIE_TRANS(trans);
struct device *dev = trans->dev;
- struct iwl_rx_completion_desc *rx_cd;
int i;
int free_size;
bool use_rx_td = (trans->cfg->device_family >=
@@ -725,7 +723,7 @@ static int iwl_pcie_alloc_rxq_dma(struct iwl_trans *trans,
if (trans->cfg->mq_rx_supported) {
rxq->used_bd = dma_zalloc_coherent(dev,
(use_rx_td ?
- sizeof(*rx_cd) :
+ sizeof(*rxq->cd) :
sizeof(__le32)) *
rxq->queue_size,
&rxq->used_bd_dma,
@@ -1371,18 +1369,10 @@ restart:
* to retrieve the vid
*/
if (trans->cfg->device_family >=
- IWL_DEVICE_FAMILY_22560) {
- struct iwl_rx_completion_desc *rx_cd =
- &((struct iwl_rx_completion_desc *)
- rxq->used_bd)[i];
-
- vid = le16_to_cpu(rx_cd->rbid) & 0x0FFF;
- } else {
- __le32 *used =
- &((__le32 *)rxq->used_bd)[i];
-
- vid = le32_to_cpu(*used) & 0x0FFF;
- }
+ IWL_DEVICE_FAMILY_22560)
+ vid = le16_to_cpu(rxq->cd[i].rbid) & 0x0FFF;
+ else
+ vid = le32_to_cpu(rxq->bd_32[i]) & 0x0FFF;
if (WARN(!vid ||
vid > ARRAY_SIZE(trans_pcie->global_table),
@@ -1397,15 +1387,9 @@ restart:
goto out;
}
if (trans->cfg->device_family >=
- IWL_DEVICE_FAMILY_22560) {
- struct iwl_rx_completion_desc *rx_cd =
- &((struct iwl_rx_completion_desc *)
- rxq->used_bd)[i];
-
- rxb->size = le32_to_cpu(rx_cd->size) &
+ IWL_DEVICE_FAMILY_22560)
+ rxb->size = le32_to_cpu(rxq->cd[i].size) &
IWL_RX_CD_SIZE;
- }
-
rxb->invalid = true;
} else {
rxb = rxq->queue[i];