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 3, 1:01 PM
Unknown Object (File)
Sat, Oct 3, 12:05 PM
Unknown Object (File)
Sat, Oct 3, 11:10 AM
Unknown Object (File)
Sat, Oct 3, 9:29 AM
Unknown Object (File)
Sat, Oct 3, 12:15 AM
Unknown Object (File)
Fri, Oct 2, 9:04 PM
Unknown Object (File)
Fri, Oct 2, 6:52 PM
Unknown Object (File)
Fri, Oct 2, 4:35 PM
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 Not Applicable
Unit
Tests Not Applicable

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