kernel: Move to Linux v5.3.7-openpower1
This adds another backported patch to fix the lpfc driver:
scsi: lpfc: Limit xri count for kdump environment
PowerPC releated changes:
powerpc/eeh: Fix crash on converting OF node to edev
powerpc: Make sure IPI handlers see data written by IPI senders
powerpc: Restore correct DSCR in context switch
powerpc: Fix DSCR inheritance in copy_thread()
powerpc: Keep thread.dscr and thread.dscr_inherit in sync
powerpc: Update DSCR on all CPUs when writing sysfs dscr_default
powerpc/eeh: Check handle_eeh_events() return value
powerpc: Add "memory" attribute for mfmsr()
powerpc/ftrace: Fix assembly trampoline register usage
Signed-off-by: Joel Stanley <joel@jms.id.au>
diff --git a/openpower/linux/0007-scsi-lpfc-Limit-xri-count-for-kdump-environment.patch b/openpower/linux/0007-scsi-lpfc-Limit-xri-count-for-kdump-environment.patch
new file mode 100644
index 0000000..71ae797
--- /dev/null
+++ b/openpower/linux/0007-scsi-lpfc-Limit-xri-count-for-kdump-environment.patch
@@ -0,0 +1,53 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: James Smart <jsmart2021@gmail.com>
+Date: Wed, 14 Aug 2019 16:56:31 -0700
+Subject: [PATCH 7/8] scsi: lpfc: Limit xri count for kdump environment
+
+scsi-mq operation inherently performs pre-allocation of resources for
+blk-mq request queues. Even though the kdump environment reduces the
+configuration to a single CPU, thus 1 hardware queue, which helps
+significantly, the resources are still rather large due to the per request
+allocations. blk-mq pre-allocations can be over 4KB per request. With
+adapter can_queue values in the 4k or 8k range, this can easily be 32MBs
+before any other driver memory is factored in. Driver SGL DMA buffer
+allocation can be up to 8KB per request as well adding an additional
+64MB. Totals are well over 100MB for a single shost. Given kdump memory
+auto-sizing utilities don't accommodate this amount of memory well, it's
+very possible for kdump to fail due to lack of memory.
+
+Fix by having the driver recognize that it is booting within a kdump
+context and reduce the number of requests it will support to a more
+reasonable value.
+
+Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
+Signed-off-by: James Smart <jsmart2021@gmail.com>
+Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
+(cherry picked from commit 31f06d2e73726160645f8d9976a0b3f42e136da7)
+Signed-off-by: Joel Stanley <joel@jms.id.au>
+---
+ drivers/scsi/lpfc/lpfc_init.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c
+index a5b515fdda2e..7edbba7debc2 100644
+--- a/drivers/scsi/lpfc/lpfc_init.c
++++ b/drivers/scsi/lpfc/lpfc_init.c
+@@ -39,6 +39,7 @@
+ #include <linux/msi.h>
+ #include <linux/irq.h>
+ #include <linux/bitops.h>
++#include <linux/crash_dump.h>
+
+ #include <scsi/scsi.h>
+ #include <scsi/scsi_device.h>
+@@ -8309,6 +8310,10 @@ lpfc_sli4_read_config(struct lpfc_hba *phba)
+ bf_get(lpfc_mbx_rd_conf_extnts_inuse, rd_config);
+ phba->sli4_hba.max_cfg_param.max_xri =
+ bf_get(lpfc_mbx_rd_conf_xri_count, rd_config);
++ /* Reduce resource usage in kdump environment */
++ if (is_kdump_kernel() &&
++ phba->sli4_hba.max_cfg_param.max_xri > 512)
++ phba->sli4_hba.max_cfg_param.max_xri = 512;
+ phba->sli4_hba.max_cfg_param.xri_base =
+ bf_get(lpfc_mbx_rd_conf_xri_base, rd_config);
+ phba->sli4_hba.max_cfg_param.max_vpi =