Re: [PATCH v3 for-next 3/3] RDMA/hns: Add timer allocation support for hip08

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, Nov 24, 2018 at 05:12:55PM +0800, Lijun Ou wrote:
> From: Yangyang Li <liyangyang20@xxxxxxxxxx>
> 
> This patch adds qpc timer and cqc timer allocation
> support for hardware timeout retransmission in
> kernel space driver.
> 
> Signed-off-by: Yangyang Li <liyangyang20@xxxxxxxxxx>
>  drivers/infiniband/hw/hns/hns_roce_cmd.h    |   8 +++
>  drivers/infiniband/hw/hns/hns_roce_device.h |  28 ++++++++
>  drivers/infiniband/hw/hns/hns_roce_hem.c    |  42 ++++++++++++
>  drivers/infiniband/hw/hns/hns_roce_hem.h    |   2 +
>  drivers/infiniband/hw/hns/hns_roce_hw_v2.c  | 103 +++++++++++++++++++++++++++-
>  drivers/infiniband/hw/hns/hns_roce_hw_v2.h  |  24 +++++++
>  drivers/infiniband/hw/hns/hns_roce_main.c   |  36 ++++++++++
>  7 files changed, 242 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/infiniband/hw/hns/hns_roce_cmd.h b/drivers/infiniband/hw/hns/hns_roce_cmd.h
> index 5348282..97c5f2c 100644
> +++ b/drivers/infiniband/hw/hns/hns_roce_cmd.h
> @@ -93,6 +93,14 @@ enum {
>  	HNS_ROCE_CMD_READ_SCC_CTX_BT0	= 0xa4,
>  	HNS_ROCE_CMD_WRITE_SCC_CTX_BT0	= 0xa5,
>  
> +	/* QPC TIMER commands */
> +	HNS_ROCE_CMD_WRITE_QPC_TIMER_BT0 = 0x33,
> +	HNS_ROCE_CMD_READ_QPC_TIMER_BT0  = 0x37,
> +
> +	/* CQC TIMER commands */
> +	HNS_ROCE_CMD_WRITE_CQC_TIMER_BT0 = 0x23,
> +	HNS_ROCE_CMD_READ_CQC_TIMER_BT0  = 0x27,
> +
>  	/* EQC commands */
>  	HNS_ROCE_CMD_CREATE_AEQC	= 0x80,
>  	HNS_ROCE_CMD_MODIFY_AEQC	= 0x81,
> diff --git a/drivers/infiniband/hw/hns/hns_roce_device.h b/drivers/infiniband/hw/hns/hns_roce_device.h
> index 6fe1871..2a66929 100644
> +++ b/drivers/infiniband/hw/hns/hns_roce_device.h
> @@ -486,6 +486,13 @@ struct hns_roce_qp_table {
>  	struct hns_roce_hem_table	scc_ctx_table;
>  };
>  
> +struct hns_roce_qpc_timer_table {
> +	struct hns_roce_bitmap		bitmap;
> +	spinlock_t			lock;
> +	struct radix_tree_root		tree;

Same comment as for the SRQ patches, lets use xarray instead of adding
new radix_tree users

> +	struct hns_roce_hem_table	table;
> +};
> +
>  struct hns_roce_cq_table {
>  	struct hns_roce_bitmap		bitmap;
>  	spinlock_t			lock;
> @@ -499,6 +506,13 @@ struct hns_roce_srq_table {
>  	struct hns_roce_hem_table	table;
>  };
>  
> +struct hns_roce_cqc_timer_table {
> +	struct hns_roce_bitmap		bitmap;
> +	spinlock_t			lock;
> +	struct radix_tree_root		tree;

Here too

Although, I'm confused, this adds a new struct and a member called
'tree' but the word 'tree' does not appear in this patch otherwise. What is
going on? Where is the user?

Jason



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux