summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThorsten Leemhuis <fedora@leemhuis.info>2021-04-10 14:09:58 +0200
committerThorsten Leemhuis <fedora@leemhuis.info>2021-04-10 14:09:58 +0200
commitd986475515eefc76c43ce29973329efd49b796fd (patch)
tree871732f2b66a852a62eae4684df642e8c64e9cea
parent2ba6ea3f93bc0493af38877967368480107848c2 (diff)
parente26d0bca4268d291f515a34fec841b6ec467cc91 (diff)
downloadkernel-d986475515eefc76c43ce29973329efd49b796fd.zip
kernel-d986475515eefc76c43ce29973329efd49b796fd.tar.gz
kernel-d986475515eefc76c43ce29973329efd49b796fd.tar.xz
Merge remote-tracking branch 'origin/f32' into f32-user-thl-vanilla-fedora
-rw-r--r--Makefile.rhelver2
-rw-r--r--Patchlist.changelog12
-rwxr-xr-xkernel.spec6
-rw-r--r--patch-5.11-redhat.patch164
-rw-r--r--sources6
5 files changed, 180 insertions, 10 deletions
diff --git a/Makefile.rhelver b/Makefile.rhelver
index 18afd01..e4f22ec 100644
--- a/Makefile.rhelver
+++ b/Makefile.rhelver
@@ -12,7 +12,7 @@ RHEL_MINOR = 99
#
# Use this spot to avoid future merge conflicts.
# Do not trim this comment.
-RHEL_RELEASE = 13
+RHEL_RELEASE = 14
#
# Early y+1 numbering
diff --git a/Patchlist.changelog b/Patchlist.changelog
index db410d6..6828802 100644
--- a/Patchlist.changelog
+++ b/Patchlist.changelog
@@ -1,3 +1,15 @@
+https://gitlab.com/cki-project/kernel-ark/-/commit/10b9b8dbb3f5967b6f276f28182466fe45b3b0bc
+ 10b9b8dbb3f5967b6f276f28182466fe45b3b0bc Backport of SOF audio hang fix for X1 Carbon 9
+
+https://gitlab.com/cki-project/kernel-ark/-/commit/01612cca904ceb26196b1382117e58109b99a38f
+ 01612cca904ceb26196b1382117e58109b99a38f drm/amdgpu: check alignment on CPU page for bo map
+
+https://gitlab.com/cki-project/kernel-ark/-/commit/060b78036fafaaf280c24cc9b684c8398e0add8d
+ 060b78036fafaaf280c24cc9b684c8398e0add8d drm/amdgpu: Set a suitable dev_info.gart_page_size
+
+https://gitlab.com/cki-project/kernel-ark/-/commit/a13ce1820c09914aab4c46fd600d2e6c44ddfa65
+ a13ce1820c09914aab4c46fd600d2e6c44ddfa65 drm/amdgpu: fix offset calculation in amdgpu_vm_bo_clear_mappings()
+
https://gitlab.com/cki-project/kernel-ark/-/commit/593117da3c5aaaa2f9af01513a9aa7a275e67701
593117da3c5aaaa2f9af01513a9aa7a275e67701 drm/i915: Disable LTTPR support when the DPCD rev < 1.4
diff --git a/kernel.spec b/kernel.spec
index 0831055..d94c4f5 100755
--- a/kernel.spec
+++ b/kernel.spec
@@ -2771,7 +2771,11 @@ fi
#
#
%changelog
-* Tue Mar 30 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.11.11-100]
+* Wed Apr 07 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.11.12-14]
+- Backport of SOF audio hang fix for X1 Carbon 9 (Mark Pearson)
+- drm/amdgpu: check alignment on CPU page for bo map (Xℹ Ruoyao)
+- drm/amdgpu: Set a suitable dev_info.gart_page_size (Huacai Chen)
+- drm/amdgpu: fix offset calculation in amdgpu_vm_bo_clear_mappings() (Nirmoy Das)
- Set CONFIG_XEN_MEMORY_HOTPLUG_LIMIT as required by 5.11.11 (Justin M. Forbes)
* Tue Mar 30 2021 Justin M. Forbes <jforbes@fedoraproject.org> [5.11.11-13]
diff --git a/patch-5.11-redhat.patch b/patch-5.11-redhat.patch
index 0cddf93..aee2a1f 100644
--- a/patch-5.11-redhat.patch
+++ b/patch-5.11-redhat.patch
@@ -66,7 +66,16 @@
sound/hda/Kconfig | 14 +
sound/hda/intel-dsp-config.c | 29 +-
sound/soc/intel/atom/sst-mfld-platform-pcm.c | 6 +-
- 68 files changed, 2268 insertions(+), 255 deletions(-)
+ sound/soc/sof/intel/apl.c | 3 +-
+ sound/soc/sof/intel/cnl.c | 3 +-
+ sound/soc/sof/intel/hda-dsp.c | 6 +
+ sound/soc/sof/intel/hda.h | 1 +
+ sound/soc/sof/intel/icl.c | 3 +-
+ sound/soc/sof/intel/tgl.c | 1 +
+ sound/soc/sof/ops.h | 8 +
+ sound/soc/sof/sof-pci-dev.c | 2 +-
+ sound/soc/sof/sof-priv.h | 4 +-
+ 77 files changed, 2294 insertions(+), 260 deletions(-)
diff --git a/Documentation/ABI/testing/sysfs-platform_profile b/Documentation/ABI/testing/sysfs-platform_profile
new file mode 100644
@@ -280,7 +289,7 @@ index 000000000000..c33a71263d9e
+ 2. Add the new profile name, along with a clear description of the
+ expected behaviour, to the sysfs-platform_profile ABI documentation.
diff --git a/Makefile b/Makefile
-index 7578e0d9622f..74679ade5579 100644
+index 1e31504aab61..59a5c8126afe 100644
--- a/Makefile
+++ b/Makefile
@@ -495,6 +495,7 @@ KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE
@@ -442,7 +451,7 @@ index 1fbed91c73bc..73f5724342b1 100644
/* boot_command_line has been already set up in early.c */
*cmdline_p = boot_command_line;
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
-index 740f3bdb3f61..db04c427e35c 100644
+index df964571a6b4..200db376f728 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -19,6 +19,7 @@
@@ -467,7 +476,7 @@ index 740f3bdb3f61..db04c427e35c 100644
dmi_setup();
/*
-@@ -1113,19 +1121,7 @@ void __init setup_arch(char **cmdline_p)
+@@ -1116,19 +1124,7 @@ void __init setup_arch(char **cmdline_p)
/* Allocate bigger log buffer */
setup_log_buf(1);
@@ -778,7 +787,7 @@ index 000000000000..4a59c5993bde
+MODULE_AUTHOR("Mark Pearson <markpearson@lenovo.com>");
+MODULE_LICENSE("GPL");
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
-index a4fdf61b0644..9aa6d898fadd 100644
+index 239eeeafc62f..bb8c046fc4cb 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -1638,6 +1638,15 @@ static bool acpi_device_enumeration_by_parent(struct acpi_device *device)
@@ -3833,3 +3842,148 @@ index 9e9b05883557..aa5dd590ddd5 100644
},
},
{
+diff --git a/sound/soc/sof/intel/apl.c b/sound/soc/sof/intel/apl.c
+index fc29b91b8932..c7ed2b3d6abc 100644
+--- a/sound/soc/sof/intel/apl.c
++++ b/sound/soc/sof/intel/apl.c
+@@ -27,9 +27,10 @@ static const struct snd_sof_debugfs_map apl_dsp_debugfs[] = {
+
+ /* apollolake ops */
+ const struct snd_sof_dsp_ops sof_apl_ops = {
+- /* probe and remove */
++ /* probe/remove/shutdown */
+ .probe = hda_dsp_probe,
+ .remove = hda_dsp_remove,
++ .shutdown = hda_dsp_shutdown,
+
+ /* Register IO */
+ .write = sof_io_write,
+diff --git a/sound/soc/sof/intel/cnl.c b/sound/soc/sof/intel/cnl.c
+index e38db519f38d..094cde17a1b7 100644
+--- a/sound/soc/sof/intel/cnl.c
++++ b/sound/soc/sof/intel/cnl.c
+@@ -232,9 +232,10 @@ void cnl_ipc_dump(struct snd_sof_dev *sdev)
+
+ /* cannonlake ops */
+ const struct snd_sof_dsp_ops sof_cnl_ops = {
+- /* probe and remove */
++ /* probe/remove/shutdown */
+ .probe = hda_dsp_probe,
+ .remove = hda_dsp_remove,
++ .shutdown = hda_dsp_shutdown,
+
+ /* Register IO */
+ .write = sof_io_write,
+diff --git a/sound/soc/sof/intel/hda-dsp.c b/sound/soc/sof/intel/hda-dsp.c
+index 012bac41fee0..03b0f178ca08 100644
+--- a/sound/soc/sof/intel/hda-dsp.c
++++ b/sound/soc/sof/intel/hda-dsp.c
+@@ -885,6 +885,12 @@ int hda_dsp_suspend(struct snd_sof_dev *sdev, u32 target_state)
+ return snd_sof_dsp_set_power_state(sdev, &target_dsp_state);
+ }
+
++int hda_dsp_shutdown(struct snd_sof_dev *sdev)
++{
++ sdev->system_suspend_target = SOF_SUSPEND_S3;
++ return snd_sof_suspend(sdev->dev);
++}
++
+ int hda_dsp_set_hw_params_upon_resume(struct snd_sof_dev *sdev)
+ {
+ #if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA)
+diff --git a/sound/soc/sof/intel/hda.h b/sound/soc/sof/intel/hda.h
+index a3b6f3e9121c..010577885913 100644
+--- a/sound/soc/sof/intel/hda.h
++++ b/sound/soc/sof/intel/hda.h
+@@ -512,6 +512,7 @@ int hda_dsp_resume(struct snd_sof_dev *sdev);
+ int hda_dsp_runtime_suspend(struct snd_sof_dev *sdev);
+ int hda_dsp_runtime_resume(struct snd_sof_dev *sdev);
+ int hda_dsp_runtime_idle(struct snd_sof_dev *sdev);
++int hda_dsp_shutdown(struct snd_sof_dev *sdev);
+ int hda_dsp_set_hw_params_upon_resume(struct snd_sof_dev *sdev);
+ void hda_dsp_dump_skl(struct snd_sof_dev *sdev, u32 flags);
+ void hda_dsp_dump(struct snd_sof_dev *sdev, u32 flags);
+diff --git a/sound/soc/sof/intel/icl.c b/sound/soc/sof/intel/icl.c
+index e9d5a0a58504..88a74be8a0c1 100644
+--- a/sound/soc/sof/intel/icl.c
++++ b/sound/soc/sof/intel/icl.c
+@@ -26,9 +26,10 @@ static const struct snd_sof_debugfs_map icl_dsp_debugfs[] = {
+
+ /* Icelake ops */
+ const struct snd_sof_dsp_ops sof_icl_ops = {
+- /* probe and remove */
++ /* probe/remove/shutdown */
+ .probe = hda_dsp_probe,
+ .remove = hda_dsp_remove,
++ .shutdown = hda_dsp_shutdown,
+
+ /* Register IO */
+ .write = sof_io_write,
+diff --git a/sound/soc/sof/intel/tgl.c b/sound/soc/sof/intel/tgl.c
+index 2252ca38ff4b..4f661f042d4d 100644
+--- a/sound/soc/sof/intel/tgl.c
++++ b/sound/soc/sof/intel/tgl.c
+@@ -25,6 +25,7 @@ const struct snd_sof_dsp_ops sof_tgl_ops = {
+ /* probe and remove */
+ .probe = hda_dsp_probe,
+ .remove = hda_dsp_remove,
++ .shutdown = hda_dsp_shutdown,
+
+ /* Register IO */
+ .write = sof_io_write,
+diff --git a/sound/soc/sof/ops.h b/sound/soc/sof/ops.h
+index 95e748b36903..7562097bd7d5 100644
+--- a/sound/soc/sof/ops.h
++++ b/sound/soc/sof/ops.h
+@@ -37,6 +37,14 @@ static inline int snd_sof_remove(struct snd_sof_dev *sdev)
+ return 0;
+ }
+
++static inline int snd_sof_shutdown(struct snd_sof_dev *sdev)
++{
++ if (sof_ops(sdev)->shutdown)
++ return sof_ops(sdev)->shutdown(sdev);
++
++ return 0;
++}
++
+ /* control */
+
+ /*
+diff --git a/sound/soc/sof/sof-pci-dev.c b/sound/soc/sof/sof-pci-dev.c
+index 9adf50b20a73..a93b3aa6349c 100644
+--- a/sound/soc/sof/sof-pci-dev.c
++++ b/sound/soc/sof/sof-pci-dev.c
+@@ -269,7 +269,7 @@ static const struct sof_dev_desc ehl_desc = {
+ .default_tplg_path = "intel/sof-tplg",
+ .default_fw_filename = "sof-ehl.ri",
+ .nocodec_tplg_filename = "sof-ehl-nocodec.tplg",
+- .ops = &sof_cnl_ops,
++ .ops = &sof_tgl_ops,
+ };
+ #endif
+
+diff --git a/sound/soc/sof/sof-priv.h b/sound/soc/sof/sof-priv.h
+index 68da8f797403..8d0c33c6d053 100644
+--- a/sound/soc/sof/sof-priv.h
++++ b/sound/soc/sof/sof-priv.h
+@@ -98,9 +98,10 @@ struct snd_sof_pdata;
+ */
+ struct snd_sof_dsp_ops {
+
+- /* probe and remove */
++ /* probe/remove/shutdown */
+ int (*probe)(struct snd_sof_dev *sof_dev); /* mandatory */
+ int (*remove)(struct snd_sof_dev *sof_dev); /* optional */
++ int (*shutdown)(struct snd_sof_dev *sof_dev); /* optional */
+
+ /* DSP core boot / reset */
+ int (*run)(struct snd_sof_dev *sof_dev); /* mandatory */
+@@ -460,6 +461,7 @@ struct snd_sof_dev {
+
+ int snd_sof_device_probe(struct device *dev, struct snd_sof_pdata *plat_data);
+ int snd_sof_device_remove(struct device *dev);
++int snd_sof_device_shutdown(struct device *dev);
+
+ int snd_sof_runtime_suspend(struct device *dev);
+ int snd_sof_runtime_resume(struct device *dev);
diff --git a/sources b/sources
index 5dd7346..624f4f1 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (linux-5.11.11.tar.xz) = c644166f844e31c4e5a6b9721726ba8a59468f524f231ea1e8e0d9091a4c9a7b5874742f35f132444f2fe305dce8d80830895ccbb41be39df3a0a96c56909e5a
-SHA512 (kernel-abi-whitelists-5.11.11-100.tar.bz2) = 81ea10862b15de26c6fb3729c09a4d5c61947bab2bd6613b41fbe05078755bbbbf0bb2ec0998323879d43f5db623af104dcc69f5a85436f00bea234bfee9aafd
-SHA512 (kernel-kabi-dw-5.11.11-100.tar.bz2) = fb9e3950ff4fbdcb57e9547d8487af5369b5a3f9cd20902b8dac1680039fd4ede76c9a13cb1fbacf8937261996c6a1d83427feda7b166ca609e2cc4b7d79d3c2
+SHA512 (linux-5.11.12.tar.xz) = 6dc0a854c92dc4249ee0475bfb71377a786e90f288ddd5aa8c4e145b56d1b1aaa163b90f54b0fc0964e9d3fbe882131e8a3c6839ff70b5ff39c3f53c90dac4f6
+SHA512 (kernel-abi-whitelists-5.11.12-100.tar.bz2) = 59a82545ca62f7f334995f231dd842dbbb06e30c6b15fd2462991a740085fd74e866f53746a748479046d341261359fa246e3c51f1f2121b29d0d53154b0cc6f
+SHA512 (kernel-kabi-dw-5.11.12-100.tar.bz2) = f06cdbcca25dd9f928f9089c868182c4879402dcfa36815f073b301654013f017349099354923f968e8ebf0dc0568cef318546ebb508df814d127dd263a9d1d2