From: Kurt Kanzenbach <kurt@linutronix.de>
To: Tony Nguyen <anthony.l.nguyen@intel.com>,
davem@davemloft.net, kuba@kernel.org, pabeni@redhat.com,
edumazet@google.com
Cc: Muhammad Husaini Zulkifli <muhammad.husaini.zulkifli@intel.com>,
netdev@vger.kernel.org, anthony.l.nguyen@intel.com,
sasha.neftin@intel.com, Tan Tee Min <tee.min.tan@linux.intel.com>,
Naama Meir <naamax.meir@linux.intel.com>
Subject: Re: [PATCH net-next 2/8] igc: remove I226 Qbv BaseTime restriction
Date: Thu, 08 Dec 2022 13:28:21 +0100 [thread overview]
Message-ID: <87pmcu13mi.fsf@kurt> (raw)
In-Reply-To: <20221205212414.3197525-3-anthony.l.nguyen@intel.com>
[-- Attachment #1: Type: text/plain, Size: 2173 bytes --]
On Mon Dec 05 2022, Tony Nguyen wrote:
> From: Muhammad Husaini Zulkifli <muhammad.husaini.zulkifli@intel.com>
>
> Remove the Qbv BaseTime restriction for I226 so that the BaseTime can be
> scheduled to the future time. A new register bit of Tx Qav Control
> (Bit-7: FutScdDis) was introduced to allow I226 scheduling future time as
> Qbv BaseTime and not having the Tx hang timeout issue.
>
> Besides, according to datasheet section 7.5.2.9.3.3, FutScdDis bit has to
> be configured first before the cycle time and base time.
>
> Indeed the FutScdDis bit is only active on re-configuration, thus we have
> to set the BASET_L to zero and then only set it to the desired value.
>
> Please also note that the Qbv configuration flow is moved around based on
> the Qbv programming guideline that is documented in the latest datasheet.
>
> Co-developed-by: Tan Tee Min <tee.min.tan@linux.intel.com>
> Signed-off-by: Tan Tee Min <tee.min.tan@linux.intel.com>
> Signed-off-by: Muhammad Husaini Zulkifli <muhammad.husaini.zulkifli@intel.com>
> Tested-by: Naama Meir <naamax.meir@linux.intel.com>
> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
[snip]
> @@ -5852,8 +5853,10 @@ static bool validate_schedule(struct igc_adapter *adapter,
> * in the future, it will hold all the packets until that
> * time, causing a lot of TX Hangs, so to avoid that, we
> * reject schedules that would start in the future.
> + * Note: Limitation above is no longer in i226.
> */
> - if (!is_base_time_past(qopt->base_time, &now))
> + if (!is_base_time_past(qopt->base_time, &now) &&
> + igc_is_device_id_i225(hw))
> return false;
Nothing against this patch per se, but you should lift the base time
restriction for i225 as well. Even if it's hardware limitation, the
driver should deal with that e.g., using a timer, workqueue, ... The
TAPRIO interface allows the user to set an arbitrary base time, which
can and most likely will be in the future. IMHO the driver should handle
that. For instance, the hellcreek TSN switch has a similar limitation
(base time can only be applied up to 8 seconds in the future) and I've
worked around it in the driver.
Thanks,
Kurt
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]
next prev parent reply other threads:[~2022-12-08 12:28 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-05 21:24 [PATCH net-next 0/8][pull request] Intel Wired LAN Driver Updates 2022-12-05 (igc) Tony Nguyen
2022-12-05 21:24 ` [PATCH net-next 1/8] igc: allow BaseTime 0 enrollment for Qbv Tony Nguyen
2022-12-05 21:24 ` [PATCH net-next 2/8] igc: remove I226 Qbv BaseTime restriction Tony Nguyen
2022-12-08 12:28 ` Kurt Kanzenbach [this message]
2022-12-09 1:50 ` Zulkifli, Muhammad Husaini
2022-12-05 21:24 ` [PATCH net-next 3/8] igc: Add checking for basetime less than zero Tony Nguyen
2022-12-05 21:24 ` [PATCH net-next 4/8] igc: recalculate Qbv end_time by considering cycle time Tony Nguyen
2022-12-05 21:24 ` [PATCH net-next 5/8] igc: enable Qbv configuration for 2nd GCL Tony Nguyen
2022-12-05 21:24 ` [PATCH net-next 6/8] igc: Set Qbv start_time and end_time to end_time if not being configured in GCL Tony Nguyen
2022-12-05 21:24 ` [PATCH net-next 7/8] igc: Use strict cycles for Qbv scheduling Tony Nguyen
2022-12-05 21:24 ` [PATCH net-next 8/8] igc: Enhance Qbv scheduling by using first flag bit Tony Nguyen
2022-12-07 7:46 ` [PATCH net-next 0/8][pull request] Intel Wired LAN Driver Updates 2022-12-05 (igc) Leon Romanovsky
2022-12-08 0:10 ` Jakub Kicinski
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=87pmcu13mi.fsf@kurt \
--to=kurt@linutronix.de \
--cc=anthony.l.nguyen@intel.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=muhammad.husaini.zulkifli@intel.com \
--cc=naamax.meir@linux.intel.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sasha.neftin@intel.com \
--cc=tee.min.tan@linux.intel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).