summaryrefslogtreecommitdiffstats
path: root/patch-5.15-redhat.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patch-5.15-redhat.patch')
-rw-r--r--patch-5.15-redhat.patch146
1 files changed, 23 insertions, 123 deletions
diff --git a/patch-5.15-redhat.patch b/patch-5.15-redhat.patch
index 627cea836..8fd89645b 100644
--- a/patch-5.15-redhat.patch
+++ b/patch-5.15-redhat.patch
@@ -23,6 +23,7 @@
drivers/firmware/efi/Makefile | 1 +
drivers/firmware/efi/efi.c | 124 +++++++++++++++------
drivers/firmware/efi/secureboot.c | 38 +++++++
+ drivers/gpu/drm/i915/gt/intel_workarounds.c | 7 --
drivers/hid/hid-rmi.c | 64 -----------
drivers/hwtracing/coresight/coresight-etm4x-core.c | 19 ++++
drivers/input/rmi4/rmi_driver.c | 124 ++++++++++++---------
@@ -34,8 +35,6 @@
drivers/nvme/host/nvme.h | 4 +
drivers/pci/quirks.c | 24 ++++
drivers/usb/core/hub.c | 7 ++
- drivers/usb/host/xhci-tegra.c | 41 +++++--
- fs/fuse/dev.c | 14 +--
include/linux/efi.h | 22 ++--
include/linux/lsm_hook_defs.h | 2 +
include/linux/lsm_hooks.h | 6 +
@@ -49,7 +48,7 @@
security/lockdown/Kconfig | 13 +++
security/lockdown/lockdown.c | 1 +
security/security.c | 6 +
- 51 files changed, 791 insertions(+), 223 deletions(-)
+ 50 files changed, 760 insertions(+), 206 deletions(-)
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 1396fd2d9031..4bc97128cee8 100644
@@ -72,7 +71,7 @@ index 1396fd2d9031..4bc97128cee8 100644
This is normally done in pci_enable_device(),
so this option is a temporary workaround
diff --git a/Makefile b/Makefile
-index 820ccbe7586f..d43527e2c53b 100644
+index 0faa64733281..5da4d20e69ec 100644
--- a/Makefile
+++ b/Makefile
@@ -18,6 +18,10 @@ $(if $(filter __%, $(MAKECMDGOALS)), \
@@ -1067,6 +1066,24 @@ index 000000000000..de0a3714a5d4
+ }
+ }
+}
+diff --git a/drivers/gpu/drm/i915/gt/intel_workarounds.c b/drivers/gpu/drm/i915/gt/intel_workarounds.c
+index aae609d7d85d..6b5ab19a2ada 100644
+--- a/drivers/gpu/drm/i915/gt/intel_workarounds.c
++++ b/drivers/gpu/drm/i915/gt/intel_workarounds.c
+@@ -621,13 +621,6 @@ static void gen12_ctx_workarounds_init(struct intel_engine_cs *engine,
+ FF_MODE2_GS_TIMER_MASK,
+ FF_MODE2_GS_TIMER_224,
+ 0, false);
+-
+- /*
+- * Wa_14012131227:dg1
+- * Wa_1508744258:tgl,rkl,dg1,adl-s,adl-p
+- */
+- wa_masked_en(wal, GEN7_COMMON_SLICE_CHICKEN1,
+- GEN9_RHWO_OPTIMIZATION_DISABLE);
+ }
+
+ static void dg1_ctx_workarounds_init(struct intel_engine_cs *engine,
diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c
index 311eee599ce9..2460c6bd46f8 100644
--- a/drivers/hid/hid-rmi.c
@@ -1664,10 +1681,10 @@ index 208fa03acdda..88cfaa8ac3b3 100644
* Intersil/Techwell TW686[4589]-based video capture cards have an empty (zero)
* class code. Fix it.
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
-index 86658a81d284..5647f4756e97 100644
+index 00070a8a6507..e9e0ffa990cd 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -5657,6 +5657,13 @@ static void hub_event(struct work_struct *work)
+@@ -5666,6 +5666,13 @@ static void hub_event(struct work_struct *work)
(u16) hub->change_bits[0],
(u16) hub->event_bits[0]);
@@ -1681,123 +1698,6 @@ index 86658a81d284..5647f4756e97 100644
/* Lock the device, then check to see if we were
* disconnected while waiting for the lock to succeed. */
usb_lock_device(hdev);
-diff --git a/drivers/usb/host/xhci-tegra.c b/drivers/usb/host/xhci-tegra.c
-index 1bf494b649bd..c8af2cd2216d 100644
---- a/drivers/usb/host/xhci-tegra.c
-+++ b/drivers/usb/host/xhci-tegra.c
-@@ -1400,6 +1400,7 @@ static void tegra_xusb_deinit_usb_phy(struct tegra_xusb *tegra)
-
- static int tegra_xusb_probe(struct platform_device *pdev)
- {
-+ struct of_phandle_args args;
- struct tegra_xusb *tegra;
- struct device_node *np;
- struct resource *regs;
-@@ -1454,10 +1455,17 @@ static int tegra_xusb_probe(struct platform_device *pdev)
- goto put_padctl;
- }
-
-- tegra->padctl_irq = of_irq_get(np, 0);
-- if (tegra->padctl_irq <= 0) {
-- err = (tegra->padctl_irq == 0) ? -ENODEV : tegra->padctl_irq;
-- goto put_padctl;
-+ /* Older device-trees don't have padctrl interrupt */
-+ err = of_irq_parse_one(np, 0, &args);
-+ if (!err) {
-+ tegra->padctl_irq = of_irq_get(np, 0);
-+ if (tegra->padctl_irq <= 0) {
-+ err = (tegra->padctl_irq == 0) ? -ENODEV : tegra->padctl_irq;
-+ goto put_padctl;
-+ }
-+ } else {
-+ dev_dbg(&pdev->dev,
-+ "%pOF is missing an interrupt, disabling PM support\n", np);
- }
-
- tegra->host_clk = devm_clk_get(&pdev->dev, "xusb_host");
-@@ -1696,11 +1704,15 @@ static int tegra_xusb_probe(struct platform_device *pdev)
- goto remove_usb3;
- }
-
-- err = devm_request_threaded_irq(&pdev->dev, tegra->padctl_irq, NULL, tegra_xusb_padctl_irq,
-- IRQF_ONESHOT, dev_name(&pdev->dev), tegra);
-- if (err < 0) {
-- dev_err(&pdev->dev, "failed to request padctl IRQ: %d\n", err);
-- goto remove_usb3;
-+ if (tegra->padctl_irq) {
-+ err = devm_request_threaded_irq(&pdev->dev, tegra->padctl_irq,
-+ NULL, tegra_xusb_padctl_irq,
-+ IRQF_ONESHOT, dev_name(&pdev->dev),
-+ tegra);
-+ if (err < 0) {
-+ dev_err(&pdev->dev, "failed to request padctl IRQ: %d\n", err);
-+ goto remove_usb3;
-+ }
- }
-
- err = tegra_xusb_enable_firmware_messages(tegra);
-@@ -1718,13 +1730,16 @@ static int tegra_xusb_probe(struct platform_device *pdev)
- /* Enable wake for both USB 2.0 and USB 3.0 roothubs */
- device_init_wakeup(&tegra->hcd->self.root_hub->dev, true);
- device_init_wakeup(&xhci->shared_hcd->self.root_hub->dev, true);
-- device_init_wakeup(tegra->dev, true);
-
- pm_runtime_use_autosuspend(tegra->dev);
- pm_runtime_set_autosuspend_delay(tegra->dev, 2000);
- pm_runtime_mark_last_busy(tegra->dev);
- pm_runtime_set_active(tegra->dev);
-- pm_runtime_enable(tegra->dev);
-+
-+ if (tegra->padctl_irq) {
-+ device_init_wakeup(tegra->dev, true);
-+ pm_runtime_enable(tegra->dev);
-+ }
-
- return 0;
-
-@@ -1772,7 +1787,9 @@ static int tegra_xusb_remove(struct platform_device *pdev)
- dma_free_coherent(&pdev->dev, tegra->fw.size, tegra->fw.virt,
- tegra->fw.phys);
-
-- pm_runtime_disable(&pdev->dev);
-+ if (tegra->padctl_irq)
-+ pm_runtime_disable(&pdev->dev);
-+
- pm_runtime_put(&pdev->dev);
-
- tegra_xusb_powergate_partitions(tegra);
-diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
-index 5a1f142bdb48..dde341a6388a 100644
---- a/fs/fuse/dev.c
-+++ b/fs/fuse/dev.c
-@@ -847,12 +847,6 @@ static int fuse_try_move_page(struct fuse_copy_state *cs, struct page **pagep)
-
- replace_page_cache_page(oldpage, newpage);
-
-- /*
-- * Release while we have extra ref on stolen page. Otherwise
-- * anon_pipe_buf_release() might think the page can be reused.
-- */
-- pipe_buf_release(cs->pipe, buf);
--
- get_page(newpage);
-
- if (!(buf->flags & PIPE_BUF_FLAG_LRU))
-@@ -2037,12 +2031,8 @@ static ssize_t fuse_dev_splice_write(struct pipe_inode_info *pipe,
-
- pipe_lock(pipe);
- out_free:
-- for (idx = 0; idx < nbuf; idx++) {
-- struct pipe_buffer *buf = &bufs[idx];
--
-- if (buf->ops)
-- pipe_buf_release(pipe, buf);
-- }
-+ for (idx = 0; idx < nbuf; idx++)
-+ pipe_buf_release(pipe, &bufs[idx]);
- pipe_unlock(pipe);
-
- kvfree(bufs);
diff --git a/include/linux/efi.h b/include/linux/efi.h
index 6b5d36babfcc..fd4a5d66a9d0 100644
--- a/include/linux/efi.h