All of lore.kernel.org
 help / color / mirror / Atom feed
From: Claudiu <claudiu.beznea@tuxon.dev>
To: s.shtylyov@omp.ru, davem@davemloft.net, edumazet@google.com,
	kuba@kernel.org, pabeni@redhat.com, richardcochran@gmail.com,
	p.zabel@pengutronix.de
Cc: netdev@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	linux-kernel@vger.kernel.org, claudiu.beznea@tuxon.dev,
	Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Subject: [PATCH net-next v6 01/15] net: ravb: Let IP-specific receive function to interrogate descriptors
Date: Fri,  2 Feb 2024 10:41:22 +0200	[thread overview]
Message-ID: <20240202084136.3426492-2-claudiu.beznea.uj@bp.renesas.com> (raw)
In-Reply-To: <20240202084136.3426492-1-claudiu.beznea.uj@bp.renesas.com>

From: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>

ravb_poll() initial code used to interrogate the first descriptor of the
RX queue in case gPTP is false to determine if ravb_rx() should be called.
This is done for non-gPTP IPs. For gPTP IPs the driver PTP-specific
information was used to determine if receive function should be called. As
every IP has its own receive function that interrogates the RX descriptors
list in the same way the ravb_poll() was doing there is no need to double
check this in ravb_poll(). Removing the code from ravb_poll() leads to a
cleaner code.

Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Reviewed-by: Sergey Shtylyov <s.shtylyov@omp.ru>
---

Changes in v6:
- re-arranged the tags as my b4 am/shazam placed the Rb tags
  before author's Sob tag

Changes in v5:
- none

Changes in v4:
 - none
 
Changes in v3:
- collected Sergey's tag

Changes in v2:
- addressed review comments and keep stale code out of this patch

 drivers/net/ethernet/renesas/ravb_main.c | 13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c
index 0e3731f50fc2..d371c4bed634 100644
--- a/drivers/net/ethernet/renesas/ravb_main.c
+++ b/drivers/net/ethernet/renesas/ravb_main.c
@@ -1288,25 +1288,16 @@ static int ravb_poll(struct napi_struct *napi, int budget)
 	struct net_device *ndev = napi->dev;
 	struct ravb_private *priv = netdev_priv(ndev);
 	const struct ravb_hw_info *info = priv->info;
-	bool gptp = info->gptp || info->ccc_gac;
-	struct ravb_rx_desc *desc;
 	unsigned long flags;
 	int q = napi - priv->napi;
 	int mask = BIT(q);
 	int quota = budget;
-	unsigned int entry;
 
-	if (!gptp) {
-		entry = priv->cur_rx[q] % priv->num_rx_ring[q];
-		desc = &priv->gbeth_rx_ring[entry];
-	}
 	/* Processing RX Descriptor Ring */
 	/* Clear RX interrupt */
 	ravb_write(ndev, ~(mask | RIS0_RESERVED), RIS0);
-	if (gptp || desc->die_dt != DT_FEMPTY) {
-		if (ravb_rx(ndev, &quota, q))
-			goto out;
-	}
+	if (ravb_rx(ndev, &quota, q))
+		goto out;
 
 	/* Processing TX Descriptor Ring */
 	spin_lock_irqsave(&priv->lock, flags);
-- 
2.39.2


  reply	other threads:[~2024-02-02  8:41 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-02  8:41 [PATCH net-next v6 00/15] net: ravb: Prepare for suspend to RAM and runtime PM support (part 1) Claudiu
2024-02-02  8:41 ` Claudiu [this message]
2024-02-02  8:41 ` [PATCH net-next v6 02/15] net: ravb: Rely on PM domain to enable gptp_clk Claudiu
2024-02-02  8:41 ` [PATCH net-next v6 03/15] net: ravb: Make reset controller support mandatory Claudiu
2024-02-02  8:41 ` [PATCH net-next v6 04/15] net: ravb: Switch to SYSTEM_SLEEP_PM_OPS()/RUNTIME_PM_OPS() and pm_ptr() Claudiu
2024-02-02  8:41 ` [PATCH net-next v6 05/15] net: ravb: Use tabs instead of spaces Claudiu
2024-02-02  8:41 ` [PATCH net-next v6 06/15] net: ravb: Assert/de-assert reset on suspend/resume Claudiu
2024-02-02  8:41 ` [PATCH net-next v6 07/15] net: ravb: Move reference clock enable/disable on runtime PM APIs Claudiu
2024-02-02  8:41 ` [PATCH net-next v6 08/15] net: ravb: Move getting/requesting IRQs in the probe() method Claudiu
2024-02-02  8:41 ` [PATCH net-next v6 09/15] net: ravb: Split GTI computation and set operations Claudiu
2024-02-02  8:41 ` [PATCH net-next v6 10/15] net: ravb: Move delay mode set in the driver's ndo_open API Claudiu
2024-02-02  8:41 ` [PATCH net-next v6 11/15] net: ravb: Move DBAT configuration to " Claudiu
2024-02-02  8:41 ` [PATCH net-next v6 12/15] net: ravb: Move PTP initialization in the driver's ndo_open API for ccc_gac platorms Claudiu
2024-02-02  8:41 ` [PATCH net-next v6 13/15] net: ravb: Set config mode in ndo_open and reset mode in ndo_close Claudiu
2024-02-02  8:41 ` [PATCH net-next v6 14/15] net: ravb: Simplify ravb_suspend() Claudiu
2024-02-02  8:41 ` [PATCH net-next v6 15/15] net: ravb: Simplify ravb_resume() Claudiu
2024-02-06 10:20 ` [PATCH net-next v6 00/15] net: ravb: Prepare for suspend to RAM and runtime PM support (part 1) patchwork-bot+netdevbpf

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=20240202084136.3426492-2-claudiu.beznea.uj@bp.renesas.com \
    --to=claudiu.beznea@tuxon.dev \
    --cc=claudiu.beznea.uj@bp.renesas.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=pabeni@redhat.com \
    --cc=richardcochran@gmail.com \
    --cc=s.shtylyov@omp.ru \
    /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.