[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-rdma
Subject: Re: [PATCH rdma-next v2 07/11] RDMA/efa: Implement functions that submit and complete admin commands
From: Gal Pressman <galpress () amazon ! com>
Date: 2019-02-28 7:39:27
Message-ID: 591b9087-256a-2fb3-4670-d262a7592e14 () amazon ! com
[Download RAW message or body]
On 27-Feb-19 22:57, Saleem, Shiraz wrote:
>> Subject: [PATCH rdma-next v2 07/11] RDMA/efa: Implement functions that
>> submit and complete admin commands
>>
>> Add admin commands submissions/completions implementation.
>>
>> Signed-off-by: Gal Pressman <galpress@amazon.com>
>> ---
>> drivers/infiniband/hw/efa/efa_com.c | 1184
>> +++++++++++++++++++++++++++++++++++
>> 1 file changed, 1184 insertions(+)
>> create mode 100644 drivers/infiniband/hw/efa/efa_com.c
>>
> [...]
>
>> +static int efa_com_admin_init_sq(struct efa_com_dev *edev) {
>> + struct efa_com_admin_queue *aq = &edev->aq;
>> + struct efa_com_admin_sq *sq = &aq->sq;
>> + u16 size = ADMIN_SQ_SIZE(aq->depth);
>> + u32 addr_high;
>> + u32 addr_low;
>> + u32 aq_caps;
>> +
>> + sq->entries =
>> + dma_alloc_coherent(aq->dmadev, size, &sq->dma_addr,
>> GFP_KERNEL);
>> + if (!sq->entries)
>> + return -ENOMEM;
>> +
>> + spin_lock_init(&sq->lock);
>> +
>> + sq->cc = 0;
>> + sq->pc = 0;
>> + sq->phase = 1;
>> +
>> + sq->db_addr = (u32 __iomem *)(edev->reg_bar +
>> +EFA_REGS_AQ_PROD_DB_OFF);
>> +
>> + addr_high = EFA_DMA_ADDR_TO_UINT32_HIGH(sq->dma_addr);
>> + addr_low = EFA_DMA_ADDR_TO_UINT32_LOW(sq->dma_addr);
>> +
>> + writel(addr_low, edev->reg_bar + EFA_REGS_AQ_BASE_LO_OFF);
>> + writel(addr_high, edev->reg_bar + EFA_REGS_AQ_BASE_HI_OFF);
>> +
>> + aq_caps = 0;
>
> Remove and change |= to = on next line. Few instances of these.
Will do.
>
>> + aq_caps |= aq->depth & EFA_REGS_AQ_CAPS_AQ_DEPTH_MASK;
>> + aq_caps |= (sizeof(struct efa_admin_aq_entry) <<
>> + EFA_REGS_AQ_CAPS_AQ_ENTRY_SIZE_SHIFT) &
>> + EFA_REGS_AQ_CAPS_AQ_ENTRY_SIZE_MASK;
>> +
>> + writel(aq_caps, edev->reg_bar + EFA_REGS_AQ_CAPS_OFF);
>> +
>> + return 0;
>> +}
>> +
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic