Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

openSeaChest_NVMe --getFeatures 1 not getting the right Arbitration Burst value #17

Open
jaythegreatman opened this issue Apr 21, 2024 · 1 comment
Assignees
Labels

Comments

@jaythegreatman
Copy link

Problem

Arbitration Burst returned by --getFeatures 1 does not match the raw value returned by --getFeatures list

Expected behavior

--getFeatures 1 gets the lower 3 bits of the raw value as Arbitration Burst

How to reproduce

openSeaChest_NVMe --getFeatures list returns

 Feature ID     Raw Value (DWORD 0)
===============================
    01h         0x00000004
...

While openSeaChest_NVMe --getFeatures 1 returns

        Arbitration & Command Processing Feature
=============================================
Hi  Priority Weight (HPW) :             0x00
Med Priority Weight (MPW) :             0x00
Low Priority Weight (LPW) :             0x00
Arbitration Burst    (AB) :             0x00

Deployment information

Any

Additional information

printf("Arbitration Burst (AB) :\t\t0x%02X\n", featureCmd.featSetGetValue & 0x00000003);

Here it's getting the lower 2 bits.
Please refer to NVM Express Base Specification, Revision 2.0d, Page 312, Figure 318, Bits 02:00

@vonericsen vonericsen self-assigned this Apr 22, 2024
@vonericsen
Copy link
Contributor

@jaythegreatman,

Thank you for reporting this bug. I will correct this today.

vonericsen added a commit that referenced this issue Apr 22, 2024
Fixing the arbitration burst output as it was missing the most significant bit for this field to output.
I converted all outputs to using the M_GETBITRANGE macro to make this more consistent and easier to read and see that it is reading the correct range of bits for each field.

[#17]

Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants