mana: Support selective revoke of vtl0 vf#3571
Open
sunilmut wants to merge 3 commits into
Open
Conversation
EQE 135 now indicates whether to revoke vtl0 VF or not using the EQE data field. Also added a new feature flag to report to HWC about this supported feature.
Contributor
There was a problem hiding this comment.
Pull request overview
Extends MANA HWC reset request handling so that EQE 135 can selectively indicate whether the VTL0 VF must be revoked. The reset-pending state changes from bool to Option<bool>, with Some(revoke_vtl0_vf) propagated from the EQE payload through GdmaDriver and ManaDevice to the netvsp worker's reconfigure_vf path. A new driver capability flag (DRIVER_CAP_FLAG_1_VTL2_SELECTIVE_REVOKE_SUB_ON_RESET_EQE = 0x8000000) is advertised to HWC.
Changes:
- New
EqeVfResetbitfield and capability flag ingdma_defs, parsed inGdmaDriver::process_all_eqs. get_reset_request_pendingand thevf_reset_request_*mesh channel now carryOption<bool>/bool.HclNetworkVFManagerWorker::reconfigure_vfnow takesrevoke_vtl0_vfand only revokes the VTL0 VF when set.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| vm/devices/net/gdma_defs/src/lib.rs | Adds EqeVfReset bitfield and DRIVER_CAP_FLAG_1_VTL2_SELECTIVE_REVOKE_SUB_ON_RESET_EQE. |
| vm/devices/net/mana_driver/src/gdma_driver.rs | Switches reset_request_pending to Option<bool>, parses EQE 135 payload, advertises new cap flag. |
| vm/devices/net/mana_driver/src/mana.rs | Propagates bool through vf_reset_request_sender/subscribe_vf_reset_request. |
| vm/devices/net/mana_driver/src/resources.rs | Updates skip_hwc check to use .is_some(). |
| vm/devices/net/mana_driver/src/tests.rs | Adjusts existing assertions to the new Option<bool> API. |
| openhcl/underhill_core/src/emuplat/netvsp.rs | Threads revoke_vtl0_vf through NextWorkItem::VfReconfig(bool) and reconfigure_vf. |
| { | ||
| sender.send(()); | ||
| sender.send(revoke_vtl0_vf); | ||
|
|
|
|
||
| assert!( | ||
| gdma.get_reset_request_pending(), | ||
| gdma.get_reset_request_pending().is_some(), |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
EQE 135 now indicates whether to revoke vtl0 VF or not using the EQE data field. Also added a new feature flag to report to HWC about this supported feature.