From: Simon Horman <horms@kernel.org>
To: Jijie Shao <shaojijie@huawei.com>
Cc: yisen.zhuang@huawei.com, salil.mehta@huawei.com,
davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
pabeni@redhat.com, shenjian15@huawei.com,
wangpeiyang1@huawei.com, liuyonglong@huawei.com,
sudongming1@huawei.com, xujunsheng@huawei.com,
shiyongbang@huawei.com, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH net-next 04/10] net: hibmcge: Add interrupt supported in this module
Date: Mon, 5 Aug 2024 13:57:43 +0100 [thread overview]
Message-ID: <20240805125743.GB2633937@kernel.org> (raw)
In-Reply-To: <20240731094245.1967834-5-shaojijie@huawei.com>
On Wed, Jul 31, 2024 at 05:42:39PM +0800, Jijie Shao wrote:
> The driver supports four interrupts: TX interrupt, RX interrupt,
> mdio interrupt, and error interrupt.
>
> Actually, the driver does not use the mdio interrupt.
> Therefore, the driver does not request the mdio interrupt.
>
> The error interrupt distinguishes different error information
> by using different masks. To distinguish different errors,
> the statistics count is added for each error.
>
> To ensure the consistency of the code process, masks are added for the
> TX interrupt and RX interrupt.
>
> This patch implements interrupt request and free, and provides a
> unified entry for the interrupt handler function. However,
> the specific interrupt handler function of each interrupt
> is not implemented currently.
>
> Signed-off-by: Jijie Shao <shaojijie@huawei.com>
...
> diff --git a/drivers/net/ethernet/hisilicon/hibmcge/hbg_irq.c b/drivers/net/ethernet/hisilicon/hibmcge/hbg_irq.c
...
> +int hbg_irq_init(struct hbg_priv *priv)
> +{
> + struct hbg_vector *vectors = &priv->vectors;
> + struct hbg_irq *irq;
> + int ret;
> + int i;
> +
> + ret = pci_alloc_irq_vectors(priv->pdev, HBG_VECTOR_NUM, HBG_VECTOR_NUM,
> + PCI_IRQ_MSI);
> + if (ret < 0) {
> + dev_err(&priv->pdev->dev,
> + "failed to allocate MSI vectors, vectors = %d\n", ret);
> + return ret;
> + }
> +
> + if (ret != HBG_VECTOR_NUM) {
> + dev_err(&priv->pdev->dev,
> + "requested %u MSI, but allocated %d MSI\n",
> + HBG_VECTOR_NUM, ret);
> + ret = -EINVAL;
> + goto free_vectors;
> + }
> +
> + vectors->irqs = devm_kcalloc(&priv->pdev->dev, HBG_VECTOR_NUM,
> + sizeof(struct hbg_irq), GFP_KERNEL);
> + if (!vectors->irqs) {
> + ret = -ENOMEM;
> + goto free_vectors;
> + }
> +
> + /* mdio irq not request */
> + vectors->irq_count = HBG_VECTOR_NUM - 1;
> + for (i = 0; i < vectors->irq_count; i++) {
> + irq = &vectors->irqs[i];
> + snprintf(irq->name, sizeof(irq->name) - 1, "%s-%s-%s",
> + HBG_DEV_NAME, pci_name(priv->pdev), irq_names_map[i]);
> +
> + irq->id = pci_irq_vector(priv->pdev, i);
> + irq_set_status_flags(irq->id, IRQ_NOAUTOEN);
I think that you <linux/irq.h> needs to be included.
Else allmodconfig builds - on x86_64 but curiously not ARM64 - fail.
CC drivers/net/ethernet/hisilicon/hibmcge/hbg_irq.o
drivers/net/ethernet/hisilicon/hibmcge/hbg_irq.c: In function 'hbg_irq_init':
drivers/net/ethernet/hisilicon/hibmcge/hbg_irq.c:150:17: error: implicit declaration of function 'irq_set_status_flags' [-Wimplicit-function-declaration]
150 | irq_set_status_flags(irq->id, IRQ_NOAUTOEN);
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/hisilicon/hibmcge/hbg_irq.c:150:47: error: 'IRQ_NOAUTOEN' undeclared (first use in this function); did you mean 'IRQF_NO_AUTOEN'?
150 | irq_set_status_flags(irq->id, IRQ_NOAUTOEN);
| ^~~~~~~~~~~~
| IRQF_NO_AUTOEN
...
next prev parent reply other threads:[~2024-08-05 12:57 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-31 9:42 [RFC PATCH net-next 00/10] Add support of HIBMCGE Ethernet Driver Jijie Shao
2024-07-31 9:42 ` [RFC PATCH net-next 01/10] net: hibmcge: Add pci table supported in this module Jijie Shao
2024-07-31 9:42 ` [RFC PATCH net-next 02/10] net: hibmcge: Add read/write registers supported through the bar space Jijie Shao
2024-08-05 12:55 ` Simon Horman
2024-08-05 13:08 ` Jijie Shao
2024-07-31 9:42 ` [RFC PATCH net-next 03/10] net: hibmcge: Add mdio and hardware configuration supported in this module Jijie Shao
2024-08-01 0:42 ` Andrew Lunn
2024-08-01 9:04 ` Jijie Shao
2024-08-01 12:07 ` Andrew Lunn
2024-07-31 9:42 ` [RFC PATCH net-next 04/10] net: hibmcge: Add interrupt " Jijie Shao
2024-07-31 13:14 ` Joe Damato
2024-08-01 11:31 ` Jijie Shao
2024-08-05 12:57 ` Simon Horman [this message]
2024-08-05 13:29 ` Jijie Shao
2024-07-31 9:42 ` [RFC PATCH net-next 05/10] net: hibmcge: Implement some .ndo functions Jijie Shao
2024-08-01 0:51 ` Andrew Lunn
2024-08-01 9:13 ` Jijie Shao
2024-08-01 12:18 ` Andrew Lunn
2024-08-01 12:33 ` Jijie Shao
2024-08-01 12:36 ` Andrew Lunn
2024-08-01 13:08 ` Jijie Shao
2024-07-31 9:42 ` [RFC PATCH net-next 06/10] net: hibmcge: Implement .ndo_start_xmit function Jijie Shao
2024-07-31 9:42 ` [RFC PATCH net-next 07/10] net: hibmcge: Implement rx_poll function to receive packets Jijie Shao
2024-07-31 13:23 ` Joe Damato
2024-08-01 11:58 ` Jijie Shao
2024-07-31 9:42 ` [RFC PATCH net-next 08/10] net: hibmcge: Implement workqueue and some ethtool_ops functions Jijie Shao
2024-08-01 1:10 ` Andrew Lunn
2024-08-01 11:10 ` Jijie Shao
2024-08-01 12:26 ` Andrew Lunn
2024-08-01 13:06 ` Jijie Shao
2024-08-01 20:16 ` Andrew Lunn
2024-07-31 9:42 ` [RFC PATCH net-next 09/10] net: hibmcge: Add a Makefile and update Kconfig for hibmcge Jijie Shao
2024-08-01 1:13 ` Andrew Lunn
2024-08-01 12:15 ` Jijie Shao
2024-08-01 12:33 ` Andrew Lunn
2024-07-31 9:42 ` [RFC PATCH net-next 10/10] net: hibmcge: Add maintainer " Jijie Shao
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240805125743.GB2633937@kernel.org \
--to=horms@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=liuyonglong@huawei.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=salil.mehta@huawei.com \
--cc=shaojijie@huawei.com \
--cc=shenjian15@huawei.com \
--cc=shiyongbang@huawei.com \
--cc=sudongming1@huawei.com \
--cc=wangpeiyang1@huawei.com \
--cc=xujunsheng@huawei.com \
--cc=yisen.zhuang@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.