Page MenuHomeFreeBSD

nvme: derive CC.CSS from CAP.CSS instead of hardcoding the NVM set
ClosedPublic

Authored by seuros on Sun, Sep 13, 8:56 AM.
Referenced Files
Unknown Object (File)
Sat, Oct 10, 2:54 PM
Unknown Object (File)
Sat, Oct 10, 2:25 PM
Unknown Object (File)
Sat, Oct 10, 10:00 AM
Unknown Object (File)
Sat, Oct 10, 6:31 AM
Unknown Object (File)
Fri, Oct 9, 4:48 PM
Unknown Object (File)
Fri, Oct 9, 7:46 AM
Unknown Object (File)
Tue, Oct 6, 3:35 AM
Unknown Object (File)
Tue, Oct 6, 1:24 AM
Subscribers
None

Details

Summary

CC.CSS was always writting zero, which is a reserved encoding on a
controller that does not support the NVM command set.
Select 111b on admin-only controllers and 110b when the
I/O command set mechanism is available.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 77152
Build 74035: arc lint + arc unit

Event Timeline

seuros created this revision.

I couldn't find the constants in the NVMe spec. Could you please help me understand where you are getting this info from?

sys/dev/nvme/nvme_ctrlr.c
366

Is this indentation correct?

405–412

style(9) nit.

I couldn't find the constants in the NVMe spec. Could you please help me understand where you are getting this info from?

https://nvmexpress.org/wp-content/uploads/NVM-Express-Base-Specification-Revision-2.4-Ratified-2026.07.31.pdf page 107

sys/dev/nvme/nvme_ctrlr.c
366

It show correct in vim and zed.

This revision is now accepted and ready to land.Tue, Sep 22, 3:34 AM