RE: [EXTERNAL] Re: [PATCH V2 net] net: mana: Configure hwc timeout from hardware

From: Souradeep Chakrabarti
Date: Tue Jul 11 2023 - 00:34:31 EST




>-----Original Message-----
>From: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>
>Sent: Friday, July 7, 2023 3:47 PM
>To: Souradeep Chakrabarti <schakrabarti@xxxxxxxxxxxxxxxxxxx>
>Cc: KY Srinivasan <kys@xxxxxxxxxxxxx>; Haiyang Zhang
><haiyangz@xxxxxxxxxxxxx>; wei.liu@xxxxxxxxxx; Dexuan Cui
><decui@xxxxxxxxxxxxx>; davem@xxxxxxxxxxxxx; edumazet@xxxxxxxxxx;
>kuba@xxxxxxxxxx; pabeni@xxxxxxxxxx; Long Li <longli@xxxxxxxxxxxxx>; Ajay
>Sharma <sharmaajay@xxxxxxxxxxxxx>; leon@xxxxxxxxxx;
>cai.huoqing@xxxxxxxxx; ssengar@xxxxxxxxxxxxxxxxxxx; vkuznets@xxxxxxxxxx;
>tglx@xxxxxxxxxxxxx; linux-hyperv@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx;
>linux-kernel@xxxxxxxxxxxxxxx; linux-rdma@xxxxxxxxxxxxxxx;
>stable@xxxxxxxxxxxxxxx; Souradeep Chakrabarti
><schakrabarti@xxxxxxxxxxxxx>
>Subject: [EXTERNAL] Re: [PATCH V2 net] net: mana: Configure hwc timeout
>from hardware
>
>On Fri, Jul 07, 2023 at 02:45:28AM -0700, Souradeep Chakrabarti wrote:
>> At present hwc timeout value is a fixed value.
>> This patch sets the hwc timeout from the hardware.
>>
>> Signed-off-by: Souradeep Chakrabarti
>> <schakrabarti@xxxxxxxxxxxxxxxxxxx>
>> ---
>> V1 -> V2:
>> * Added return check for mana_gd_query_hwc_timeout
>> * Removed dev_err from mana_gd_query_hwc_timeout
>> ---
>> .../net/ethernet/microsoft/mana/gdma_main.c | 30
>++++++++++++++++++-
>> .../net/ethernet/microsoft/mana/hw_channel.c | 25 +++++++++++++++-
>> include/net/mana/gdma.h | 20 ++++++++++++-
>> include/net/mana/hw_channel.h | 5 ++++
>> 4 files changed, 77 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/net/ethernet/microsoft/mana/gdma_main.c
>> b/drivers/net/ethernet/microsoft/mana/gdma_main.c
>> index 8f3f78b68592..949c927c3a7e 100644
>> --- a/drivers/net/ethernet/microsoft/mana/gdma_main.c
>> +++ b/drivers/net/ethernet/microsoft/mana/gdma_main.c
>> @@ -106,6 +106,27 @@ static int mana_gd_query_max_resources(struct
>pci_dev *pdev)
>> return 0;
>> }
>>
>> +static int mana_gd_query_hwc_timeout(struct pci_dev *pdev, u32
>> +*timeout_val) {
>> + struct gdma_context *gc = pci_get_drvdata(pdev);
>> + struct gdma_query_hwc_timeout_req req = {};
>> + struct gdma_query_hwc_timeout_resp resp = {};
>> + int err;
>> +
>> + mana_gd_init_req_hdr(&req.hdr, GDMA_QUERY_HWC_TIMEOUT,
>> + sizeof(req), sizeof(resp));
>> + req.timeout_ms = *timeout_val;
>> + err = mana_gd_send_request(gc, sizeof(req), &req, sizeof(resp), &resp);
>> + if (err || resp.hdr.status)
>> + return err ? err : -EPROTO;
>> +
>> + *timeout_val = resp.timeout_ms;
>> + dev_info(gc->dev, "Successfully changed the timeout value %u\n",
>> + *timeout_val);
>
>When the kernel works properly, it is quiet. Please always remove your
>debugging code before submitting changes for inclusion.
>
>thanks,
>
>greg k-h
Thank you for the comments, will take care of them in the next revision.
regards,
Souradeep