+++ /dev/null
-From 8da59e00c00315fd1e9f9381c9c68b35dcee9765 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 3 Aug 2021 11:06:54 +0200
-Subject: drm/fsl-dcu: Convert to Linux IRQ interfaces
-
-From: Thomas Zimmermann <tzimmermann@suse.de>
-
-[ 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 <tzimmermann@suse.de>
-Acked-by: Sam Ravnborg <sam@ravnborg.org>
-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 <sashal@kernel.org>
----
- 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
-
+++ /dev/null
-From fa00f9cd5b38ab30b3bca89790189bce728a7f39 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 14 Jun 2019 22:35:31 +0200
-Subject: drm/fsl-dcu: Drop drm_gem_prime_export/import
-
-From: Daniel Vetter <daniel.vetter@ffwll.ch>
-
-[ 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 <eric@anholt.net>
-Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
-Acked-by: Stefan Agner <stefan@agner.ch>
-Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
-Cc: Stefan Agner <stefan@agner.ch>
-Cc: Alison Wang <alison.wang@nxp.com>
-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 <sashal@kernel.org>
----
- 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
-
+++ /dev/null
-From 0fa1af0f28b410b701fe570b7fe2d8fd8bc53506 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 26 Sep 2024 07:55:51 +0200
-Subject: drm: fsl-dcu: enable PIXCLK on LS1021A
-
-From: Matthias Schiffer <matthias.schiffer@tq-group.com>
-
-[ 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 <matthias.schiffer@tq-group.com>
-Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
-Fixes: 109eee2f2a18 ("drm/layerscape: Add Freescale DCU DRM driver")
-Acked-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-Link: https://patchwork.freedesktop.org/patch/msgid/20240926055552.1632448-2-alexander.stein@ew.tq-group.com
-Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- 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
-
+++ /dev/null
-From 4ec820ed8c6309a50836b84a87036a3503d0bc2c Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-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 <tzimmermann@suse.de>
-
-[ 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 <tzimmermann@suse.de>
-Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
-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 <sashal@kernel.org>
----
- 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
-
+++ /dev/null
-From a27dc355a8bce61aa9f16615f779c149f51fabe6 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-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 <noralf@tronnes.org>
-
-[ 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 <stefan@agner.ch>
-Cc: Alison Wang <alison.wang@nxp.com>
-Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
-Acked-by: Sam Ravnborg <sam@ravnborg.org>
-Acked-by: Stefan Agner <stefan@agner.ch>
-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 <sashal@kernel.org>
----
- 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 <drm/drm_atomic_helper.h>
- #include <drm/drm_crtc_helper.h>
- #include <drm/drm_fb_cma_helper.h>
-+#include <drm/drm_fb_helper.h>
- #include <drm/drm_gem_cma_helper.h>
- #include <drm/drm_modeset_helper.h>
-
-@@ -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
-
+++ /dev/null
-From 6fa71916025e93c3b96848b32adb4601acc46aa9 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 5 Jun 2020 09:32:14 +0200
-Subject: drm/fsl-dcu: Use GEM CMA object functions
-
-From: Thomas Zimmermann <tzimmermann@suse.de>
-
-[ 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 <tzimmermann@suse.de>
-Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
-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 <sashal@kernel.org>
----
- 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
-
+++ /dev/null
-From c7c86da98184db682dbccd378c003911da94f178 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 17 Jul 2018 10:57:50 +0100
-Subject: drm/i915/gtt: Enable full-ppgtt by default everywhere
-
-From: Chris Wilson <chris@chris-wilson.co.uk>
-
-[ 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 <chris@chris-wilson.co.uk>
-Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
-Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
-Cc: Matthew Auld <matthew.william.auld@gmail.com>
-Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
-Cc: Jason Ekstrand <jason.ekstrand@intel.com>
-Cc: Kenneth Graunke <kenneth@whitecape.org>
-Acked-by: Kenneth Graunke <kenneth@whitecape.org>
-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 <sashal@kernel.org>
----
- 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
-
+++ /dev/null
-From 2b902ef13f113929c4ff47637fc10a16dc4d3774 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 12 Sep 2024 16:30:18 +0800
-Subject: drm/imx/ipuv3: Use IRQF_NO_AUTOEN flag in request_irq()
-
-From: Jinjie Ruan <ruanjinjie@huawei.com>
-
-[ 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 <dmitry.baryshkov@linaro.org>
-Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
-Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
-Link: https://patchwork.freedesktop.org/patch/msgid/20240912083020.3720233-4-ruanjinjie@huawei.com
-Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- 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
-
+++ /dev/null
-From 8dccb3f2186ba30166f778f8dd0a0ed46a16ff51 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 12 Sep 2024 11:37:27 +0800
-Subject: rtc: st-lpc: Use IRQF_NO_AUTOEN flag in request_irq()
-
-From: Jinjie Ruan <ruanjinjie@huawei.com>
-
-[ 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 <ruanjinjie@huawei.com>
-Link: https://lore.kernel.org/r/20240912033727.3013951-1-ruanjinjie@huawei.com
-Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- 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
-
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
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
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
+++ /dev/null
-From 09ee7c1cfe436b0b98ce8d42af6f5512dc5412b5 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 12 Sep 2024 11:41:47 +0800
-Subject: soc: ti: smartreflex: Use IRQF_NO_AUTOEN flag in request_irq()
-
-From: Jinjie Ruan <ruanjinjie@huawei.com>
-
-[ 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 <ruanjinjie@huawei.com>
-Link: https://lore.kernel.org/r/20240912034147.3014213-1-ruanjinjie@huawei.com
-Signed-off-by: Kevin Hilman <khilman@baylibre.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- 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
-