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

[Rebase & FF] 202405: Nvme Alternative Queue #941

Merged
merged 2 commits into from
Jul 16, 2024

Commits on Jul 16, 2024

  1. MdeModulePkg: Add alternative queue sizes in nvme driver to support s…

    …pecific devices
    
    Add a new PCD that toggles between the old driver behavior and new behavior that uses a different hardcoded queue size to support specific devices.  Default behavior should not change.
    
    MdeModulePkg/NvmExpressDxe: Improve NVMe controller init robustness
    
    It has been observed that some faulty NVMe devices may return
    invalid values. The code in NvmExpressDxe recognizes the controller
    is not responding correctly and issues an ASSERT() often in DEBUG
    builds or a reset in RELEASE builds.
    
    The following changes are made to NvmeControllerInit() to prevent a
    faulty NVMe device from halting the overall boot:
    
    1. Check the Vendor ID and Device ID to verify they are read properly
       and if not, return EFI_DEVICE_ERROR
    2. Replace the ASSERT() when Memory Page Size Minimum (Cap.Mpsmin)
       with an error message and return EFI_DEVICE_ERROR
    
    Signed-off-by: Michael Kubacki <[email protected]>
    
    MdeModulePkg/NvmExpressDxe: Correct function parameter modifer
    
    Updates the `Cap` parameter for `ReadNvmeControllerCapabilities()`
    to be `OUT` since the buffer pointed to is written within the
    function.
    
    Signed-off-by: Michael Kubacki <[email protected]>
    chris-oo authored and VivianNK committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    28e1962 View commit details
    Browse the repository at this point in the history
  2. MdePkg/Nvme.h: Add missing NVMe capability descriptions

    Adds missing structure member documentation.
    
    Signed-off-by: Michael Kubacki <[email protected]>
    makubacki authored and VivianNK committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    0a1a8ca View commit details
    Browse the repository at this point in the history