Page MenuHomeFreeBSD

ufshci: correct the crypto/config register offsets and HCMID fields
ClosedPublic

Authored by jaeyoon on Aug 13 2026, 8:42 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Sep 11, 7:22 AM
Unknown Object (File)
Tue, Sep 8, 7:26 PM
Unknown Object (File)
Tue, Sep 8, 7:33 AM
Unknown Object (File)
Tue, Sep 8, 1:20 AM
Unknown Object (File)
Mon, Sep 7, 1:52 PM
Unknown Object (File)
Sun, Sep 6, 4:03 AM
Unknown Object (File)
Sat, Sep 5, 7:50 PM
Unknown Object (File)
Fri, Sep 4, 10:00 PM
Subscribers
None

Details

Summary

The reserved array after CCAP must be 127 dwords, but it was 511.
This pushed the config, MCQ config, and ESI registers from 0x300 and
0x380 up to 0x900. None of these registers are used yet, so nothing
broke.

Also fix the HCMID bank index field. The spec places it at bits
[23:16], but it was defined on top of the manufacturer code at [15:0].

Sponsored by: Samsung Electronics

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

jaeyoon created this revision.

The change looks good, just wondering about the inconsistency.

sys/dev/ufshci/ufshci_reg.h
64

why the error? I think the new one is right, but there's got to be a better way to get the stride right. There's also a mix of uint32_t and uint8_t. Is there a reason for that?

This revision is now accepted and ready to land.Fri, Aug 14, 9:09 PM

set it to uint8_t and added a static_assert.

This revision now requires review to proceed.Tue, Aug 18, 4:40 AM

Since this isn't a major change, I'll go ahead and push it as is.

This revision was not accepted when it landed; it landed in state Needs Review.Tue, Aug 18, 5:26 AM
This revision was automatically updated to reflect the committed changes.