diff --git a/pkg/host/configvalidation.go b/pkg/host/configvalidation.go index b4de853..38d4164 100644 --- a/pkg/host/configvalidation.go +++ b/pkg/host/configvalidation.go @@ -124,10 +124,13 @@ func (v *configValidationImpl) ConstructNvParamMapFromTemplate( log.Log.Error(err, "failed to get PCI link speed", "pciAddr", pciAddr) return desiredParameters, err } + // According to the PRM for Gen5 we need to set to enable the auto managing mode. + // However, we are observing that FW doesn't load after reboot in this case. + // Using max values for generations until fix is available. if pciLinkSpeed == 16 { // Gen4 - desiredParameters[consts.MaxAccOutReadParam] = "44" + desiredParameters[consts.MaxAccOutReadParam] = "64" } else if pciLinkSpeed > 16 { // Gen5 - desiredParameters[consts.MaxAccOutReadParam] = "0" + desiredParameters[consts.MaxAccOutReadParam] = "128" } } diff --git a/pkg/host/configvalidation_test.go b/pkg/host/configvalidation_test.go index 14ea079..586130d 100644 --- a/pkg/host/configvalidation_test.go +++ b/pkg/host/configvalidation_test.go @@ -207,7 +207,7 @@ var _ = Describe("ConfigValidationImpl", func() { nvParams, err := validator.ConstructNvParamMapFromTemplate(device, query) Expect(err).NotTo(HaveOccurred()) - Expect(nvParams).To(HaveKeyWithValue(consts.MaxAccOutReadParam, "44")) + Expect(nvParams).To(HaveKeyWithValue(consts.MaxAccOutReadParam, "64")) }) It("should return the correct MaxAccOutRead param for PCIgen5", func() { @@ -236,7 +236,7 @@ var _ = Describe("ConfigValidationImpl", func() { nvParams, err := validator.ConstructNvParamMapFromTemplate(device, query) Expect(err).NotTo(HaveOccurred()) - Expect(nvParams).To(HaveKeyWithValue(consts.MaxAccOutReadParam, "0")) + Expect(nvParams).To(HaveKeyWithValue(consts.MaxAccOutReadParam, "128")) }) It("should return an error when GpuOptimized is enabled without PciPerformanceOptimized", func() { mockHostUtils.On("GetPCILinkSpeed", mock.Anything).Return(16, nil)