From: Greg Kroah-Hartman Date: Thu, 5 Dec 2024 09:40:15 +0000 (+0100) Subject: drop a bunch of broken 4.19 patches X-Git-Tag: v4.19.325~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d4cd99189808b0ecc8037c6e70152710bba05b30;p=thirdparty%2Fkernel%2Fstable-queue.git drop a bunch of broken 4.19 patches --- diff --git a/queue-4.19/drm-fsl-dcu-convert-to-linux-irq-interfaces.patch b/queue-4.19/drm-fsl-dcu-convert-to-linux-irq-interfaces.patch deleted file mode 100644 index f75fef15106..00000000000 --- a/queue-4.19/drm-fsl-dcu-convert-to-linux-irq-interfaces.patch +++ /dev/null @@ -1,160 +0,0 @@ -From 8da59e00c00315fd1e9f9381c9c68b35dcee9765 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 3 Aug 2021 11:06:54 +0200 -Subject: drm/fsl-dcu: Convert to Linux IRQ interfaces - -From: Thomas Zimmermann - -[ Upstream commit 03ac16e584e496230903ba20f2b4bbfd942a16b4 ] - -Drop the DRM IRQ midlayer in favor of Linux IRQ interfaces. DRM's -IRQ helpers are mostly useful for UMS drivers. Modern KMS drivers -don't benefit from using it. DRM IRQ callbacks are now being called -directly or inlined. - -Signed-off-by: Thomas Zimmermann -Acked-by: Sam Ravnborg -Link: https://patchwork.freedesktop.org/patch/msgid/20210803090704.32152-5-tzimmermann@suse.de -Stable-dep-of: ffcde9e44d3e ("drm: fsl-dcu: enable PIXCLK on LS1021A") -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 77 ++++++++++++++--------- - 1 file changed, 46 insertions(+), 31 deletions(-) - -diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c -index c087ebc0ad4ed..7cc449e206435 100644 ---- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c -+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c -@@ -53,7 +53,7 @@ static const struct regmap_config fsl_dcu_regmap_config = { - .volatile_reg = fsl_dcu_drm_is_volatile_reg, - }; - --static void fsl_dcu_irq_uninstall(struct drm_device *dev) -+static void fsl_dcu_irq_reset(struct drm_device *dev) - { - struct fsl_dcu_drm_device *fsl_dev = dev->dev_private; - -@@ -61,6 +61,45 @@ static void fsl_dcu_irq_uninstall(struct drm_device *dev) - regmap_write(fsl_dev->regmap, DCU_INT_MASK, ~0); - } - -+static irqreturn_t fsl_dcu_drm_irq(int irq, void *arg) -+{ -+ struct drm_device *dev = arg; -+ struct fsl_dcu_drm_device *fsl_dev = dev->dev_private; -+ unsigned int int_status; -+ int ret; -+ -+ ret = regmap_read(fsl_dev->regmap, DCU_INT_STATUS, &int_status); -+ if (ret) { -+ dev_err(dev->dev, "read DCU_INT_STATUS failed\n"); -+ return IRQ_NONE; -+ } -+ -+ if (int_status & DCU_INT_STATUS_VBLANK) -+ drm_handle_vblank(dev, 0); -+ -+ regmap_write(fsl_dev->regmap, DCU_INT_STATUS, int_status); -+ -+ return IRQ_HANDLED; -+} -+ -+static int fsl_dcu_irq_install(struct drm_device *dev, unsigned int irq) -+{ -+ if (irq == IRQ_NOTCONNECTED) -+ return -ENOTCONN; -+ -+ fsl_dcu_irq_reset(dev); -+ -+ return request_irq(irq, fsl_dcu_drm_irq, 0, dev->driver->name, dev); -+} -+ -+static void fsl_dcu_irq_uninstall(struct drm_device *dev) -+{ -+ struct fsl_dcu_drm_device *fsl_dev = dev->dev_private; -+ -+ fsl_dcu_irq_reset(dev); -+ free_irq(fsl_dev->irq, dev); -+} -+ - static int fsl_dcu_load(struct drm_device *dev, unsigned long flags) - { - struct fsl_dcu_drm_device *fsl_dev = dev->dev_private; -@@ -75,13 +114,13 @@ static int fsl_dcu_load(struct drm_device *dev, unsigned long flags) - ret = drm_vblank_init(dev, dev->mode_config.num_crtc); - if (ret < 0) { - dev_err(dev->dev, "failed to initialize vblank\n"); -- goto done; -+ goto done_vblank; - } - -- ret = drm_irq_install(dev, fsl_dev->irq); -+ ret = fsl_dcu_irq_install(dev, fsl_dev->irq); - if (ret < 0) { - dev_err(dev->dev, "failed to install IRQ handler\n"); -- goto done; -+ goto done_irq; - } - - if (legacyfb_depth != 16 && legacyfb_depth != 24 && -@@ -92,11 +131,11 @@ static int fsl_dcu_load(struct drm_device *dev, unsigned long flags) - } - - return 0; --done: -+done_irq: - drm_kms_helper_poll_fini(dev); - - drm_mode_config_cleanup(dev); -- drm_irq_uninstall(dev); -+done_vblank: - dev->dev_private = NULL; - - return ret; -@@ -108,32 +147,11 @@ static void fsl_dcu_unload(struct drm_device *dev) - drm_kms_helper_poll_fini(dev); - - drm_mode_config_cleanup(dev); -- drm_irq_uninstall(dev); -+ fsl_dcu_irq_uninstall(dev); - - dev->dev_private = NULL; - } - --static irqreturn_t fsl_dcu_drm_irq(int irq, void *arg) --{ -- struct drm_device *dev = arg; -- struct fsl_dcu_drm_device *fsl_dev = dev->dev_private; -- unsigned int int_status; -- int ret; -- -- ret = regmap_read(fsl_dev->regmap, DCU_INT_STATUS, &int_status); -- if (ret) { -- dev_err(dev->dev, "read DCU_INT_STATUS failed\n"); -- return IRQ_NONE; -- } -- -- if (int_status & DCU_INT_STATUS_VBLANK) -- drm_handle_vblank(dev, 0); -- -- regmap_write(fsl_dev->regmap, DCU_INT_STATUS, int_status); -- -- return IRQ_HANDLED; --} -- - DEFINE_DRM_GEM_CMA_FOPS(fsl_dcu_drm_fops); - - static struct drm_driver fsl_dcu_drm_driver = { -@@ -141,9 +159,6 @@ static struct drm_driver fsl_dcu_drm_driver = { - | DRIVER_PRIME | DRIVER_ATOMIC, - .load = fsl_dcu_load, - .unload = fsl_dcu_unload, -- .irq_handler = fsl_dcu_drm_irq, -- .irq_preinstall = fsl_dcu_irq_uninstall, -- .irq_uninstall = fsl_dcu_irq_uninstall, - DRM_GEM_CMA_DRIVER_OPS, - .fops = &fsl_dcu_drm_fops, - .name = "fsl-dcu-drm", --- -2.43.0 - diff --git a/queue-4.19/drm-fsl-dcu-drop-drm_gem_prime_export-import.patch b/queue-4.19/drm-fsl-dcu-drop-drm_gem_prime_export-import.patch deleted file mode 100644 index 619e4c483eb..00000000000 --- a/queue-4.19/drm-fsl-dcu-drop-drm_gem_prime_export-import.patch +++ /dev/null @@ -1,43 +0,0 @@ -From fa00f9cd5b38ab30b3bca89790189bce728a7f39 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 14 Jun 2019 22:35:31 +0200 -Subject: drm/fsl-dcu: Drop drm_gem_prime_export/import - -From: Daniel Vetter - -[ Upstream commit 40e546c5f9ca0054087ce5ee04de96a4f28e9a97 ] - -They're the default. - -Aside: Would be really nice to switch the others over to -drm_gem_object_funcs. - -Reviewed-by: Eric Anholt -Reviewed-by: Emil Velikov -Acked-by: Stefan Agner -Signed-off-by: Daniel Vetter -Cc: Stefan Agner -Cc: Alison Wang -Link: https://patchwork.freedesktop.org/patch/msgid/20190614203615.12639-16-daniel.vetter@ffwll.ch -Stable-dep-of: ffcde9e44d3e ("drm: fsl-dcu: enable PIXCLK on LS1021A") -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c -index 15816141e5fbe..3eab7b4c16b2b 100644 ---- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c -+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c -@@ -148,8 +148,6 @@ static struct drm_driver fsl_dcu_drm_driver = { - .gem_vm_ops = &drm_gem_cma_vm_ops, - .prime_handle_to_fd = drm_gem_prime_handle_to_fd, - .prime_fd_to_handle = drm_gem_prime_fd_to_handle, -- .gem_prime_import = drm_gem_prime_import, -- .gem_prime_export = drm_gem_prime_export, - .gem_prime_get_sg_table = drm_gem_cma_prime_get_sg_table, - .gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table, - .gem_prime_vmap = drm_gem_cma_prime_vmap, --- -2.43.0 - diff --git a/queue-4.19/drm-fsl-dcu-enable-pixclk-on-ls1021a.patch b/queue-4.19/drm-fsl-dcu-enable-pixclk-on-ls1021a.patch deleted file mode 100644 index ffe79bb9913..00000000000 --- a/queue-4.19/drm-fsl-dcu-enable-pixclk-on-ls1021a.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 0fa1af0f28b410b701fe570b7fe2d8fd8bc53506 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 26 Sep 2024 07:55:51 +0200 -Subject: drm: fsl-dcu: enable PIXCLK on LS1021A - -From: Matthias Schiffer - -[ Upstream commit ffcde9e44d3e18fde3d18bfff8d9318935413bfd ] - -The PIXCLK needs to be enabled in SCFG before accessing certain DCU -registers, or the access will hang. For simplicity, the PIXCLK is enabled -unconditionally, resulting in increased power consumption. - -Signed-off-by: Matthias Schiffer -Signed-off-by: Alexander Stein -Fixes: 109eee2f2a18 ("drm/layerscape: Add Freescale DCU DRM driver") -Acked-by: Dmitry Baryshkov -Link: https://patchwork.freedesktop.org/patch/msgid/20240926055552.1632448-2-alexander.stein@ew.tq-group.com -Signed-off-by: Dmitry Baryshkov -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/fsl-dcu/Kconfig | 1 + - drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 15 +++++++++++++++ - drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.h | 3 +++ - 3 files changed, 19 insertions(+) - -diff --git a/drivers/gpu/drm/fsl-dcu/Kconfig b/drivers/gpu/drm/fsl-dcu/Kconfig -index 14a72c4c496d2..b48ea7b987eff 100644 ---- a/drivers/gpu/drm/fsl-dcu/Kconfig -+++ b/drivers/gpu/drm/fsl-dcu/Kconfig -@@ -8,6 +8,7 @@ config DRM_FSL_DCU - select DRM_PANEL - select REGMAP_MMIO - select VIDEOMODE_HELPERS -+ select MFD_SYSCON if SOC_LS1021A - help - Choose this option if you have an Freescale DCU chipset. - If M is selected the module will be called fsl-dcu-drm. -diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c -index 7cc449e206435..4529c7390e768 100644 ---- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c -+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c -@@ -103,6 +103,7 @@ static void fsl_dcu_irq_uninstall(struct drm_device *dev) - static int fsl_dcu_load(struct drm_device *dev, unsigned long flags) - { - struct fsl_dcu_drm_device *fsl_dev = dev->dev_private; -+ struct regmap *scfg; - int ret; - - ret = fsl_dcu_drm_modeset_init(fsl_dev); -@@ -111,6 +112,20 @@ static int fsl_dcu_load(struct drm_device *dev, unsigned long flags) - return ret; - } - -+ scfg = syscon_regmap_lookup_by_compatible("fsl,ls1021a-scfg"); -+ if (PTR_ERR(scfg) != -ENODEV) { -+ /* -+ * For simplicity, enable the PIXCLK unconditionally, -+ * resulting in increased power consumption. Disabling -+ * the clock in PM or on unload could be implemented as -+ * a future improvement. -+ */ -+ ret = regmap_update_bits(scfg, SCFG_PIXCLKCR, SCFG_PIXCLKCR_PXCEN, -+ SCFG_PIXCLKCR_PXCEN); -+ if (ret < 0) -+ return dev_err_probe(dev->dev, ret, "failed to enable pixclk\n"); -+ } -+ - ret = drm_vblank_init(dev, dev->mode_config.num_crtc); - if (ret < 0) { - dev_err(dev->dev, "failed to initialize vblank\n"); -diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.h b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.h -index cb87bb74cb87a..75d7681d8df41 100644 ---- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.h -+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.h -@@ -164,6 +164,9 @@ - #define FSL_DCU_ARGB4444 12 - #define FSL_DCU_YUV422 14 - -+#define SCFG_PIXCLKCR 0x28 -+#define SCFG_PIXCLKCR_PXCEN BIT(31) -+ - #define VF610_LAYER_REG_NUM 9 - #define LS1021A_LAYER_REG_NUM 10 - --- -2.43.0 - diff --git a/queue-4.19/drm-fsl-dcu-set-gem-cma-functions-with-drm_gem_cma_d.patch b/queue-4.19/drm-fsl-dcu-set-gem-cma-functions-with-drm_gem_cma_d.patch deleted file mode 100644 index d3d9c235923..00000000000 --- a/queue-4.19/drm-fsl-dcu-set-gem-cma-functions-with-drm_gem_cma_d.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 4ec820ed8c6309a50836b84a87036a3503d0bc2c Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 5 Jun 2020 09:32:15 +0200 -Subject: drm/fsl-dcu: Set GEM CMA functions with DRM_GEM_CMA_DRIVER_OPS - -From: Thomas Zimmermann - -[ Upstream commit 6a32e55d18b34a787f7beaacc912b30b58022646 ] - -DRM_GEM_CMA_DRIVER_OPS sets the functions in struct drm_driver -to their defaults. No functional changes are made. - -Signed-off-by: Thomas Zimmermann -Reviewed-by: Emil Velikov -Link: https://patchwork.freedesktop.org/patch/msgid/20200605073247.4057-12-tzimmermann@suse.de -Stable-dep-of: ffcde9e44d3e ("drm: fsl-dcu: enable PIXCLK on LS1021A") -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 7 +------ - 1 file changed, 1 insertion(+), 6 deletions(-) - -diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c -index a21c348f9a5e4..c087ebc0ad4ed 100644 ---- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c -+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c -@@ -144,12 +144,7 @@ static struct drm_driver fsl_dcu_drm_driver = { - .irq_handler = fsl_dcu_drm_irq, - .irq_preinstall = fsl_dcu_irq_uninstall, - .irq_uninstall = fsl_dcu_irq_uninstall, -- .gem_create_object = drm_gem_cma_create_object_default_funcs, -- .prime_handle_to_fd = drm_gem_prime_handle_to_fd, -- .prime_fd_to_handle = drm_gem_prime_fd_to_handle, -- .gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table, -- .gem_prime_mmap = drm_gem_cma_prime_mmap, -- .dumb_create = drm_gem_cma_dumb_create, -+ DRM_GEM_CMA_DRIVER_OPS, - .fops = &fsl_dcu_drm_fops, - .name = "fsl-dcu-drm", - .desc = "Freescale DCU DRM", --- -2.43.0 - diff --git a/queue-4.19/drm-fsl-dcu-use-drm_fbdev_generic_setup.patch b/queue-4.19/drm-fsl-dcu-use-drm_fbdev_generic_setup.patch deleted file mode 100644 index 80230f2692c..00000000000 --- a/queue-4.19/drm-fsl-dcu-use-drm_fbdev_generic_setup.patch +++ /dev/null @@ -1,130 +0,0 @@ -From a27dc355a8bce61aa9f16615f779c149f51fabe6 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 25 Oct 2018 22:13:33 +0200 -Subject: drm/fsl-dcu: Use drm_fbdev_generic_setup() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Noralf Trønnes - -[ Upstream commit f4d26fa9136427d3cb2959cee13e0900b8004850 ] - -The CMA helper is already using the drm_fb_helper_generic_probe part of -the generic fbdev emulation. This patch makes full use of the generic -fbdev emulation by using its drm_client callbacks. This means that -drm_mode_config_funcs->output_poll_changed and drm_driver->lastclose are -now handled by the emulation code. Additionally fbdev unregister happens -automatically on drm_dev_unregister(). - -The drm_fbdev_generic_setup() call is put after drm_dev_register() in the -driver. This is done to highlight the fact that fbdev emulation is an -internal client that makes use of the driver, it is not part of the -driver as such. If fbdev setup fails, an error is printed, but the driver -succeeds probing. - -Cc: Stefan Agner -Cc: Alison Wang -Signed-off-by: Noralf Trønnes -Acked-by: Sam Ravnborg -Acked-by: Stefan Agner -Link: https://patchwork.freedesktop.org/patch/msgid/20181025201340.34227-3-noralf@tronnes.org -Stable-dep-of: ffcde9e44d3e ("drm: fsl-dcu: enable PIXCLK on LS1021A") -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 25 +++-------------------- - drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.h | 1 - - 2 files changed, 3 insertions(+), 23 deletions(-) - -diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c -index 80232321a244a..15816141e5fbe 100644 ---- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c -+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c -@@ -26,6 +26,7 @@ - #include - #include - #include -+#include - #include - #include - -@@ -89,20 +90,11 @@ static int fsl_dcu_load(struct drm_device *dev, unsigned long flags) - "Invalid legacyfb_depth. Defaulting to 24bpp\n"); - legacyfb_depth = 24; - } -- fsl_dev->fbdev = drm_fbdev_cma_init(dev, legacyfb_depth, 1); -- if (IS_ERR(fsl_dev->fbdev)) { -- ret = PTR_ERR(fsl_dev->fbdev); -- fsl_dev->fbdev = NULL; -- goto done; -- } - - return 0; - done: - drm_kms_helper_poll_fini(dev); - -- if (fsl_dev->fbdev) -- drm_fbdev_cma_fini(fsl_dev->fbdev); -- - drm_mode_config_cleanup(dev); - drm_irq_uninstall(dev); - dev->dev_private = NULL; -@@ -112,14 +104,9 @@ static int fsl_dcu_load(struct drm_device *dev, unsigned long flags) - - static void fsl_dcu_unload(struct drm_device *dev) - { -- struct fsl_dcu_drm_device *fsl_dev = dev->dev_private; -- - drm_atomic_helper_shutdown(dev); - drm_kms_helper_poll_fini(dev); - -- if (fsl_dev->fbdev) -- drm_fbdev_cma_fini(fsl_dev->fbdev); -- - drm_mode_config_cleanup(dev); - drm_irq_uninstall(dev); - -@@ -147,19 +134,11 @@ static irqreturn_t fsl_dcu_drm_irq(int irq, void *arg) - return IRQ_HANDLED; - } - --static void fsl_dcu_drm_lastclose(struct drm_device *dev) --{ -- struct fsl_dcu_drm_device *fsl_dev = dev->dev_private; -- -- drm_fbdev_cma_restore_mode(fsl_dev->fbdev); --} -- - DEFINE_DRM_GEM_CMA_FOPS(fsl_dcu_drm_fops); - - static struct drm_driver fsl_dcu_drm_driver = { - .driver_features = DRIVER_HAVE_IRQ | DRIVER_GEM | DRIVER_MODESET - | DRIVER_PRIME | DRIVER_ATOMIC, -- .lastclose = fsl_dcu_drm_lastclose, - .load = fsl_dcu_load, - .unload = fsl_dcu_unload, - .irq_handler = fsl_dcu_drm_irq, -@@ -355,6 +334,8 @@ static int fsl_dcu_drm_probe(struct platform_device *pdev) - if (ret < 0) - goto unref; - -+ drm_fbdev_generic_setup(drm, legacyfb_depth); -+ - return 0; - - unref: -diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.h b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.h -index 93bfb98012d46..cb87bb74cb87a 100644 ---- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.h -+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.h -@@ -191,7 +191,6 @@ struct fsl_dcu_drm_device { - /*protects hardware register*/ - spinlock_t irq_lock; - struct drm_device *drm; -- struct drm_fbdev_cma *fbdev; - struct drm_crtc crtc; - struct drm_encoder encoder; - struct fsl_dcu_drm_connector connector; --- -2.43.0 - diff --git a/queue-4.19/drm-fsl-dcu-use-gem-cma-object-functions.patch b/queue-4.19/drm-fsl-dcu-use-gem-cma-object-functions.patch deleted file mode 100644 index 2884fb6a5f3..00000000000 --- a/queue-4.19/drm-fsl-dcu-use-gem-cma-object-functions.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 6fa71916025e93c3b96848b32adb4601acc46aa9 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 5 Jun 2020 09:32:14 +0200 -Subject: drm/fsl-dcu: Use GEM CMA object functions - -From: Thomas Zimmermann - -[ Upstream commit 929027087f527ef1d9e906e4ebeca7eb3a36042e ] - -Create GEM objects with drm_gem_cma_create_object_default_funcs(), which -allocates the object and sets CMA's default object functions. Corresponding -callbacks in struct drm_driver are cleared. No functional changes are made. - -Driver and object-function instances use the same callback functions, with -the exception of vunmap. The implementation of vunmap is empty and left out -in CMA's default object functions. - -v3: - * convert to DRIVER_OPS macro in a separate patch - -Signed-off-by: Thomas Zimmermann -Reviewed-by: Emil Velikov -Link: https://patchwork.freedesktop.org/patch/msgid/20200605073247.4057-11-tzimmermann@suse.de -Stable-dep-of: ffcde9e44d3e ("drm: fsl-dcu: enable PIXCLK on LS1021A") -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 6 +----- - 1 file changed, 1 insertion(+), 5 deletions(-) - -diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c -index 3eab7b4c16b2b..a21c348f9a5e4 100644 ---- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c -+++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c -@@ -144,14 +144,10 @@ static struct drm_driver fsl_dcu_drm_driver = { - .irq_handler = fsl_dcu_drm_irq, - .irq_preinstall = fsl_dcu_irq_uninstall, - .irq_uninstall = fsl_dcu_irq_uninstall, -- .gem_free_object_unlocked = drm_gem_cma_free_object, -- .gem_vm_ops = &drm_gem_cma_vm_ops, -+ .gem_create_object = drm_gem_cma_create_object_default_funcs, - .prime_handle_to_fd = drm_gem_prime_handle_to_fd, - .prime_fd_to_handle = drm_gem_prime_fd_to_handle, -- .gem_prime_get_sg_table = drm_gem_cma_prime_get_sg_table, - .gem_prime_import_sg_table = drm_gem_cma_prime_import_sg_table, -- .gem_prime_vmap = drm_gem_cma_prime_vmap, -- .gem_prime_vunmap = drm_gem_cma_prime_vunmap, - .gem_prime_mmap = drm_gem_cma_prime_mmap, - .dumb_create = drm_gem_cma_dumb_create, - .fops = &fsl_dcu_drm_fops, --- -2.43.0 - diff --git a/queue-4.19/drm-i915-gtt-enable-full-ppgtt-by-default-everywhere.patch b/queue-4.19/drm-i915-gtt-enable-full-ppgtt-by-default-everywhere.patch deleted file mode 100644 index 9c7c6a138e4..00000000000 --- a/queue-4.19/drm-i915-gtt-enable-full-ppgtt-by-default-everywhere.patch +++ /dev/null @@ -1,57 +0,0 @@ -From c7c86da98184db682dbccd378c003911da94f178 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 17 Jul 2018 10:57:50 +0100 -Subject: drm/i915/gtt: Enable full-ppgtt by default everywhere - -From: Chris Wilson - -[ Upstream commit 79556df293b2efbb3ccebb6db02120d62e348b44 ] - -We should we have all the kinks worked out and full-ppgtt now works -reliably on gen7 (Ivybridge, Valleyview/Baytrail and Haswell). If we can -let userspace have full control over their own ppgtt, it makes softpinning -far more effective, in turn making GPU dispatch far more efficient by -virtue of better mm segregation. On the other hand, switching over to a -different GTT for every client does incur noticeable overhead, but only -for very lightweight tasks. - -Signed-off-by: Chris Wilson -Cc: Joonas Lahtinen -Cc: Mika Kuoppala -Cc: Matthew Auld -Reviewed-by: Joonas Lahtinen -Cc: Jason Ekstrand -Cc: Kenneth Graunke -Acked-by: Kenneth Graunke -Link: https://patchwork.freedesktop.org/patch/msgid/20180717095751.1034-1-chris@chris-wilson.co.uk -Stable-dep-of: ffcde9e44d3e ("drm: fsl-dcu: enable PIXCLK on LS1021A") -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/i915/i915_gem_gtt.c | 10 ++++------ - 1 file changed, 4 insertions(+), 6 deletions(-) - -diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c -index d4c6aa7fbac8d..0b5b45fe0fe78 100644 ---- a/drivers/gpu/drm/i915/i915_gem_gtt.c -+++ b/drivers/gpu/drm/i915/i915_gem_gtt.c -@@ -180,13 +180,11 @@ int intel_sanitize_enable_ppgtt(struct drm_i915_private *dev_priv, - return 0; - } - -- if (HAS_LOGICAL_RING_CONTEXTS(dev_priv)) { -- if (has_full_48bit_ppgtt) -- return 3; -+ if (has_full_48bit_ppgtt) -+ return 3; - -- if (has_full_ppgtt) -- return 2; -- } -+ if (has_full_ppgtt) -+ return 2; - - return 1; - } --- -2.43.0 - diff --git a/queue-4.19/drm-imx-ipuv3-use-irqf_no_autoen-flag-in-request_irq.patch b/queue-4.19/drm-imx-ipuv3-use-irqf_no_autoen-flag-in-request_irq.patch deleted file mode 100644 index 96f810e5366..00000000000 --- a/queue-4.19/drm-imx-ipuv3-use-irqf_no_autoen-flag-in-request_irq.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 2b902ef13f113929c4ff47637fc10a16dc4d3774 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 12 Sep 2024 16:30:18 +0800 -Subject: drm/imx/ipuv3: Use IRQF_NO_AUTOEN flag in request_irq() - -From: Jinjie Ruan - -[ Upstream commit 40004709a3d3b07041a473a163ca911ef04ab8bd ] - -disable_irq() after request_irq() still has a time gap in which -interrupts can come. request_irq() with IRQF_NO_AUTOEN flag will -disable IRQ auto-enable when request IRQ. - -Fixes: 47b1be5c0f4e ("staging: imx/drm: request irq only after adding the crtc") -Reviewed-by: Dmitry Baryshkov -Signed-off-by: Jinjie Ruan -Reviewed-by: Philipp Zabel -Link: https://patchwork.freedesktop.org/patch/msgid/20240912083020.3720233-4-ruanjinjie@huawei.com -Signed-off-by: Dmitry Baryshkov -Signed-off-by: Sasha Levin ---- - drivers/gpu/drm/imx/ipuv3-crtc.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/drivers/gpu/drm/imx/ipuv3-crtc.c b/drivers/gpu/drm/imx/ipuv3-crtc.c -index 824c90dca7306..0bd1f9903f1aa 100644 ---- a/drivers/gpu/drm/imx/ipuv3-crtc.c -+++ b/drivers/gpu/drm/imx/ipuv3-crtc.c -@@ -389,14 +389,12 @@ static int ipu_crtc_init(struct ipu_crtc *ipu_crtc, - } - - ipu_crtc->irq = ipu_plane_irq(ipu_crtc->plane[0]); -- ret = devm_request_irq(ipu_crtc->dev, ipu_crtc->irq, ipu_irq_handler, 0, -- "imx_drm", ipu_crtc); -+ ret = devm_request_irq(ipu_crtc->dev, ipu_crtc->irq, ipu_irq_handler, -+ IRQF_NO_AUTOEN, "imx_drm", ipu_crtc); - if (ret < 0) { - dev_err(ipu_crtc->dev, "irq request failed with %d.\n", ret); - goto err_put_plane1_res; - } -- /* Only enable IRQ when we actually need it to trigger work. */ -- disable_irq(ipu_crtc->irq); - - return 0; - --- -2.43.0 - diff --git a/queue-4.19/rtc-st-lpc-use-irqf_no_autoen-flag-in-request_irq.patch b/queue-4.19/rtc-st-lpc-use-irqf_no_autoen-flag-in-request_irq.patch deleted file mode 100644 index 5c19fa77d1d..00000000000 --- a/queue-4.19/rtc-st-lpc-use-irqf_no_autoen-flag-in-request_irq.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 8dccb3f2186ba30166f778f8dd0a0ed46a16ff51 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 12 Sep 2024 11:37:27 +0800 -Subject: rtc: st-lpc: Use IRQF_NO_AUTOEN flag in request_irq() - -From: Jinjie Ruan - -[ Upstream commit b6cd7adec0cf03f0aefc55676e71dd721cbc71a8 ] - -If request_irq() fails in st_rtc_probe(), there is no need to enable -the irq, and if it succeeds, disable_irq() after request_irq() still has -a time gap in which interrupts can come. - -request_irq() with IRQF_NO_AUTOEN flag will disable IRQ auto-enable when -request IRQ. - -Fixes: b5b2bdfc2893 ("rtc: st: Add new driver for ST's LPC RTC") -Signed-off-by: Jinjie Ruan -Link: https://lore.kernel.org/r/20240912033727.3013951-1-ruanjinjie@huawei.com -Signed-off-by: Alexandre Belloni -Signed-off-by: Sasha Levin ---- - drivers/rtc/rtc-st-lpc.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/drivers/rtc/rtc-st-lpc.c b/drivers/rtc/rtc-st-lpc.c -index e8a8ca3545f00..c3ad10e34ad05 100644 ---- a/drivers/rtc/rtc-st-lpc.c -+++ b/drivers/rtc/rtc-st-lpc.c -@@ -229,15 +229,14 @@ static int st_rtc_probe(struct platform_device *pdev) - return -EINVAL; - } - -- ret = devm_request_irq(&pdev->dev, rtc->irq, st_rtc_handler, 0, -- pdev->name, rtc); -+ ret = devm_request_irq(&pdev->dev, rtc->irq, st_rtc_handler, -+ IRQF_NO_AUTOEN, pdev->name, rtc); - if (ret) { - dev_err(&pdev->dev, "Failed to request irq %i\n", rtc->irq); - return ret; - } - - enable_irq_wake(rtc->irq); -- disable_irq(rtc->irq); - - rtc->clk = devm_clk_get(&pdev->dev, NULL); - if (IS_ERR(rtc->clk)) { --- -2.43.0 - diff --git a/queue-4.19/series b/queue-4.19/series index 78fff18f31e..18c00217563 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -27,7 +27,6 @@ crypto-cavium-fix-the-if-condition-to-exit-loop-afte.patch crypto-bcm-add-error-check-in-the-ahash_hmac_init-fu.patch crypto-cavium-fix-an-error-handling-path-in-cpt_ucod.patch time-fix-references-to-_msecs_to_jiffies-handling-of.patch -soc-ti-smartreflex-use-irqf_no_autoen-flag-in-reques.patch soc-qcom-geni-se-fix-array-underflow-in-geni_se_clk_.patch mmc-mmc_spi-drop-buggy-snprintf.patch arm-dts-cubieboard4-fix-dcdc5-regulator-constraints.patch @@ -36,16 +35,8 @@ firmware-arm_scpi-check-the-dvfs-opp-count-returned-.patch drm-mm-mark-drm_mm_interval_tree-functions-with-__ma.patch wifi-ath9k-add-range-check-for-conn_rsp_epid-in-htc_.patch drm-omap-fix-locking-in-omap_gem_new_dmabuf.patch -drm-imx-ipuv3-use-irqf_no_autoen-flag-in-request_irq.patch bpf-fix-the-xdp_adjust_tail-sample-prog-issue.patch wifi-mwifiex-fix-memcpy-field-spanning-write-warning.patch -drm-i915-gtt-enable-full-ppgtt-by-default-everywhere.patch -drm-fsl-dcu-use-drm_fbdev_generic_setup.patch -drm-fsl-dcu-drop-drm_gem_prime_export-import.patch -drm-fsl-dcu-use-gem-cma-object-functions.patch -drm-fsl-dcu-set-gem-cma-functions-with-drm_gem_cma_d.patch -drm-fsl-dcu-convert-to-linux-irq-interfaces.patch -drm-fsl-dcu-enable-pixclk-on-ls1021a.patch drm-etnaviv-consolidate-hardware-fence-handling-in-e.patch drm-etnaviv-dump-fix-sparse-warnings.patch drm-etnaviv-fix-power-register-offset-on-gc300.patch @@ -126,7 +117,6 @@ nfsd-prevent-a-potential-integer-overflow.patch rpmsg-glink-propagate-tx-failures-in-intentless-mode-as-well.patch um-fix-the-return-value-of-elf_core_copy_task_fpregs.patch nfsv4.0-fix-a-use-after-free-problem-in-the-asynchro.patch -rtc-st-lpc-use-irqf_no_autoen-flag-in-request_irq.patch rtc-check-if-__rtc_read_time-was-successful-in-rtc_t.patch ubifs-correct-the-total-block-count-by-deducting-jou.patch ubi-fastmap-fix-duplicate-slab-cache-names-while-att.patch diff --git a/queue-4.19/soc-ti-smartreflex-use-irqf_no_autoen-flag-in-reques.patch b/queue-4.19/soc-ti-smartreflex-use-irqf_no_autoen-flag-in-reques.patch deleted file mode 100644 index 5b2706d6a8e..00000000000 --- a/queue-4.19/soc-ti-smartreflex-use-irqf_no_autoen-flag-in-reques.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 09ee7c1cfe436b0b98ce8d42af6f5512dc5412b5 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 12 Sep 2024 11:41:47 +0800 -Subject: soc: ti: smartreflex: Use IRQF_NO_AUTOEN flag in request_irq() - -From: Jinjie Ruan - -[ Upstream commit 16a0a69244240cfa32c525c021c40f85e090557a ] - -If request_irq() fails in sr_late_init(), there is no need to enable -the irq, and if it succeeds, disable_irq() after request_irq() still has -a time gap in which interrupts can come. - -request_irq() with IRQF_NO_AUTOEN flag will disable IRQ auto-enable when -request IRQ. - -Fixes: 1279ba5916f6 ("OMAP3+: SR: disable interrupt by default") -Signed-off-by: Jinjie Ruan -Link: https://lore.kernel.org/r/20240912034147.3014213-1-ruanjinjie@huawei.com -Signed-off-by: Kevin Hilman -Signed-off-by: Sasha Levin ---- - drivers/power/avs/smartreflex.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/drivers/power/avs/smartreflex.c b/drivers/power/avs/smartreflex.c -index 5ac122cd25b8c..015a406d67b8d 100644 ---- a/drivers/power/avs/smartreflex.c -+++ b/drivers/power/avs/smartreflex.c -@@ -217,10 +217,10 @@ static int sr_late_init(struct omap_sr *sr_info) - - if (sr_class->notify && sr_class->notify_flags && sr_info->irq) { - ret = devm_request_irq(&sr_info->pdev->dev, sr_info->irq, -- sr_interrupt, 0, sr_info->name, sr_info); -+ sr_interrupt, IRQF_NO_AUTOEN, -+ sr_info->name, sr_info); - if (ret) - goto error; -- disable_irq(sr_info->irq); - } - - if (pdata && pdata->enable_on_init) --- -2.43.0 -