configs/linux: Set CONFIG_BLK_DEV_INTEGRITY
P9 platforms support the use of the Samsung "Bolt" NVMe adapter. These
adapters include data integrity support. CONFIG_BLK_DEV_INTEGRITY
enables this but more importantly it avoids an issue when the adapter is
configured with T10 data integrity and accessed by a kernel without
CONFIG_BLK_DEV_INTEGRITY set.
This manifests as the adapter failing to init correctly and the system
hanging on any attempt to access the device, including failing to reboot
or kexec:
[ 36.320430] nvme nvme0: I/O 498 QID 2 timeout, aborting
[ 36.320443] nvme nvme0: I/O 499 QID 2 timeout, aborting
[ 36.320452] nvme nvme0: I/O 500 QID 2 timeout, aborting
[ 36.320470] nvme nvme0: controller is down; will reset: CSTS=0x3, PCI_STATUS=0x1010
[ 36.482668] print_req_error: I/O error, dev nvme0n1, sector 0
[ 36.482677] Buffer I/O error on dev nvme0n1, logical block 0, async page read
[ 36.482683] print_req_error: I/O error, dev nvme0n1, sector 16
[ 36.482687] Buffer I/O error on dev nvme0n1, logical block 1, async page read
[ 36.482692] print_req_error: I/O error, dev nvme0n1, sector 32
[ 36.482695] Buffer I/O error on dev nvme0n1, logical block 2, async page read
[ 36.482700] print_req_error: I/O error, dev nvme0n1, sector 64
[ 36.482703] Buffer I/O error on dev nvme0n1, logical block 4, async page read
[ 36.482707] print_req_error: I/O error, dev nvme0n1, sector 80
[ 36.482710] Buffer I/O error on dev nvme0n1, logical block 5, async page read
[ 36.482715] print_req_error: I/O error, dev nvme0n1, sector 96
[ 36.482718] Buffer I/O error on dev nvme0n1, logical block 6, async page read
[ 36.482722] print_req_error: I/O error, dev nvme0n1, sector 112
[ 36.482725] Buffer I/O error on dev nvme0n1, logical block 7, async page read
[ 36.482753] nvme nvme0: Abort status: 0x7
[ 36.482758] nvme nvme0: Abort status: 0x7
[ 36.482763] nvme nvme0: Abort status: 0x7
[ 36.482771] print_req_error: I/O error, dev nvme0n1, sector 48
[ 36.482775] Buffer I/O error on dev nvme0n1, logical block 3, async page read
[ 36.540460] nvme 0000:01:00.0: Using 64-bit DMA iommu bypass
[ 99.040422] nvme nvme0: I/O 1 QID 0 timeout, disable controller
[ 99.210493] nvme nvme0: Identify Controller failed (-4)
[ 99.210498] nvme nvme0: Removing after probe failure status: -5
In the absence of a fix for this issue, set CONFIG_BLK_DEV_INTEGRITY as
a workaround, and for the sake of completeness add it to
skiroot_defconfig and pseries_skiroot_defconfig as well.
This also regenerates and simplifies the defconfigs.
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
diff --git a/openpower/configs/linux/pseries_skiroot_defconfig b/openpower/configs/linux/pseries_skiroot_defconfig
index d27e0e9..fba487a 100644
--- a/openpower/configs/linux/pseries_skiroot_defconfig
+++ b/openpower/configs/linux/pseries_skiroot_defconfig
@@ -7,7 +7,6 @@
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
# CONFIG_CROSS_MEMORY_ATTACH is not set
-CONFIG_IRQ_DOMAIN_DEBUG=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_TASKSTATS=y
@@ -33,6 +32,7 @@
CONFIG_MODULE_SIG=y
CONFIG_MODULE_SIG_FORCE=y
CONFIG_MODULE_SIG_SHA512=y
+CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_PARTITION_ADVANCED=y
# CONFIG_IOSCHED_DEADLINE is not set
CONFIG_PPC_SPLPAR=y
@@ -229,7 +229,6 @@
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_STACKOVERFLOW=y
-CONFIG_LOCKUP_DETECTOR=y
CONFIG_SCHEDSTATS=y
# CONFIG_FTRACE is not set
CONFIG_XMON=y
diff --git a/openpower/configs/linux/skiroot_defconfig b/openpower/configs/linux/skiroot_defconfig
index 567763e..3dcaa26 100644
--- a/openpower/configs/linux/skiroot_defconfig
+++ b/openpower/configs/linux/skiroot_defconfig
@@ -1,14 +1,12 @@
CONFIG_PPC64=y
CONFIG_ALTIVEC=y
CONFIG_VSX=y
-CONFIG_SMP=y
CONFIG_NR_CPUS=2048
CONFIG_CPU_LITTLE_ENDIAN=y
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
# CONFIG_CROSS_MEMORY_ATTACH is not set
-CONFIG_IRQ_DOMAIN_DEBUG=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_TASKSTATS=y
@@ -34,6 +32,7 @@
CONFIG_MODULE_SIG=y
CONFIG_MODULE_SIG_FORCE=y
CONFIG_MODULE_SIG_SHA512=y
+CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_PARTITION_ADVANCED=y
# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_PPC_PSERIES is not set
@@ -210,7 +209,6 @@
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_STACKOVERFLOW=y
-CONFIG_LOCKUP_DETECTOR=y
CONFIG_SCHEDSTATS=y
# CONFIG_FTRACE is not set
CONFIG_XMON=y
diff --git a/openpower/configs/linux/skiroot_p9_defconfig b/openpower/configs/linux/skiroot_p9_defconfig
index 20a0501..576907c 100644
--- a/openpower/configs/linux/skiroot_p9_defconfig
+++ b/openpower/configs/linux/skiroot_p9_defconfig
@@ -33,6 +33,7 @@
CONFIG_MODULE_SIG=y
CONFIG_MODULE_SIG_FORCE=y
CONFIG_MODULE_SIG_SHA512=y
+CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_PARTITION_ADVANCED=y
# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_PPC_PSERIES is not set
@@ -128,10 +129,10 @@
CONFIG_E100=m
CONFIG_E1000=m
CONFIG_E1000E=m
+CONFIG_IGB=m
CONFIG_IXGB=m
CONFIG_IXGBE=m
CONFIG_I40E=m
-CONFIG_IGB=m
CONFIG_MLX4_EN=m
CONFIG_MLX5_CORE=m
CONFIG_MLX5_CORE_EN=y