mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 22:40:51 +07:00
NVMe: Correct the Controller Configuration settings
The arbitration field was extended by one bit, shifting the shutdown notification bits by one. Also, the SQ/CQ entry size was made configurable for future extensions. Reported-by: Paul Luse <paul.e.luse@intel.com> Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
This commit is contained in:
parent
8ef700678f
commit
7f53f9d242
@ -905,6 +905,7 @@ static int __devinit nvme_configure_admin_queue(struct nvme_dev *dev)
|
||||
dev->ctrl_config = NVME_CC_ENABLE | NVME_CC_CSS_NVM;
|
||||
dev->ctrl_config |= (PAGE_SHIFT - 12) << NVME_CC_MPS_SHIFT;
|
||||
dev->ctrl_config |= NVME_CC_ARB_RR | NVME_CC_SHN_NONE;
|
||||
dev->ctrl_config |= NVME_CC_IOSQES | NVME_CC_IOCQES;
|
||||
|
||||
writel(0, &dev->bar->cc);
|
||||
writel(aqa, &dev->bar->aqa);
|
||||
|
@ -41,10 +41,12 @@ enum {
|
||||
NVME_CC_MPS_SHIFT = 7,
|
||||
NVME_CC_ARB_RR = 0 << 11,
|
||||
NVME_CC_ARB_WRRU = 1 << 11,
|
||||
NVME_CC_ARB_VS = 3 << 11,
|
||||
NVME_CC_SHN_NONE = 0 << 13,
|
||||
NVME_CC_SHN_NORMAL = 1 << 13,
|
||||
NVME_CC_SHN_ABRUPT = 2 << 13,
|
||||
NVME_CC_ARB_VS = 7 << 11,
|
||||
NVME_CC_SHN_NONE = 0 << 14,
|
||||
NVME_CC_SHN_NORMAL = 1 << 14,
|
||||
NVME_CC_SHN_ABRUPT = 2 << 14,
|
||||
NVME_CC_IOSQES = 6 << 16,
|
||||
NVME_CC_IOCQES = 4 << 20,
|
||||
NVME_CSTS_RDY = 1 << 0,
|
||||
NVME_CSTS_CFS = 1 << 1,
|
||||
NVME_CSTS_SHST_NORMAL = 0 << 2,
|
||||
|
Loading…
Reference in New Issue
Block a user