summaryrefslogtreecommitdiffstats
path: root/bsp/meta-synopsys/recipes-kernel/linux/linux-arc
diff options
context:
space:
mode:
Diffstat (limited to 'bsp/meta-synopsys/recipes-kernel/linux/linux-arc')
-rw-r--r--bsp/meta-synopsys/recipes-kernel/linux/linux-arc/0009-UDL-add-pseudo-deferred-io-for-modeset-drive.patch79
-rw-r--r--bsp/meta-synopsys/recipes-kernel/linux/linux-arc/0010-UDL-defio-add-fb-lock-and-required-checks.patch54
-rw-r--r--bsp/meta-synopsys/recipes-kernel/linux/linux-arc/0011-ARC-hsdk-Enable-U-Boot-support.patch28
-rw-r--r--bsp/meta-synopsys/recipes-kernel/linux/linux-arc/0012-ARC-hsdk-Enable-cgroups-support.patch27
4 files changed, 188 insertions, 0 deletions
diff --git a/bsp/meta-synopsys/recipes-kernel/linux/linux-arc/0009-UDL-add-pseudo-deferred-io-for-modeset-drive.patch b/bsp/meta-synopsys/recipes-kernel/linux/linux-arc/0009-UDL-add-pseudo-deferred-io-for-modeset-drive.patch
new file mode 100644
index 00000000..9ca4f1eb
--- /dev/null
+++ b/bsp/meta-synopsys/recipes-kernel/linux/linux-arc/0009-UDL-add-pseudo-deferred-io-for-modeset-drive.patch
@@ -0,0 +1,79 @@
+From dba8746636e35f3e42bed62f5b7d7231adf569c8 Mon Sep 17 00:00:00 2001
+From: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
+Date: Wed, 4 Apr 2018 21:55:21 +0300
+Subject: [PATCH v100500 9/9] UDL: add pseudo deferred io for modeset driver
+
+With blackjack and mud.
+---
+ drivers/gpu/drm/udl/udl_modeset.c | 42 +++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 42 insertions(+)
+
+diff --git a/drivers/gpu/drm/udl/udl_modeset.c b/drivers/gpu/drm/udl/udl_modeset.c
+index 5bcae7649795..737471da16e4 100644
+--- a/drivers/gpu/drm/udl/udl_modeset.c
++++ b/drivers/gpu/drm/udl/udl_modeset.c
+@@ -17,6 +17,45 @@
+ #include <drm/drm_plane_helper.h>
+ #include "udl_drv.h"
+
++/* All hacks and mud stuff --- start */
++#define DL_DEFIO_WRITE_DELAY (HZ / 40) /* deferred_io delay in jiffies */
++
++static struct delayed_work deferred_work;
++static struct drm_device *deferred_dev;
++
++static void pal_modeset_damage(struct drm_device *dev)
++{
++ struct udl_device *udl = dev->dev_private;
++ struct udl_framebuffer *ufb;
++
++ if (!udl->crtc || !udl->crtc->primary->fb)
++ return;
++
++ ufb = to_udl_fb(udl->crtc->primary->fb);
++ udl_handle_damage(ufb, 0, 0, ufb->base.width, ufb->base.height);
++}
++
++static void pal_deferred_io_work(struct work_struct *work)
++{
++ pal_modeset_damage(deferred_dev);
++ schedule_delayed_work(&deferred_work, DL_DEFIO_WRITE_DELAY);
++}
++
++static void pal_deferred_io_cleanup(void)
++{
++ cancel_delayed_work_sync(&deferred_work);
++}
++
++static void pal_deferred_io_init(struct drm_device *dev)
++{
++ deferred_dev = dev;
++
++ INIT_DELAYED_WORK(&deferred_work, pal_deferred_io_work);
++
++ schedule_delayed_work(&deferred_work, DL_DEFIO_WRITE_DELAY);
++}
++/* All hacks and mud stuff --- end */
++
+ /*
+ * All DisplayLink bulk operations start with 0xAF, followed by specific code
+ * All operations are written to buffers which then later get sent to device
+@@ -450,6 +489,8 @@ int udl_modeset_init(struct drm_device *dev)
+
+ udl_connector_init(dev, encoder);
+
++ pal_deferred_io_init(dev);
++
+ return 0;
+ }
+
+@@ -467,5 +508,6 @@ void udl_modeset_restore(struct drm_device *dev)
+
+ void udl_modeset_cleanup(struct drm_device *dev)
+ {
++ pal_deferred_io_cleanup();
+ drm_mode_config_cleanup(dev);
+ }
+--
+2.14.3
+
diff --git a/bsp/meta-synopsys/recipes-kernel/linux/linux-arc/0010-UDL-defio-add-fb-lock-and-required-checks.patch b/bsp/meta-synopsys/recipes-kernel/linux/linux-arc/0010-UDL-defio-add-fb-lock-and-required-checks.patch
new file mode 100644
index 00000000..9c52b940
--- /dev/null
+++ b/bsp/meta-synopsys/recipes-kernel/linux/linux-arc/0010-UDL-defio-add-fb-lock-and-required-checks.patch
@@ -0,0 +1,54 @@
+From f781b63e277a7bc821d9c3415bc84d3e075d5591 Mon Sep 17 00:00:00 2001
+From: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
+Date: Wed, 19 Sep 2018 16:57:32 +0300
+Subject: [PATCH] UDL: defio: add fb lock and required checks
+
+Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
+---
+ drivers/gpu/drm/udl/udl_modeset.c | 18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/udl/udl_modeset.c b/drivers/gpu/drm/udl/udl_modeset.c
+index 10794ce2619c..df30b81abf7a 100644
+--- a/drivers/gpu/drm/udl/udl_modeset.c
++++ b/drivers/gpu/drm/udl/udl_modeset.c
+@@ -27,12 +27,26 @@ static void pal_modeset_damage(struct drm_device *dev)
+ {
+ struct udl_device *udl = dev->dev_private;
+ struct udl_framebuffer *ufb;
++ struct drm_framebuffer *fb;
+
+- if (!udl->crtc || !udl->crtc->primary->fb)
++ if (!udl) {
++ pr_warn(" PAL: UDL: no udl! %s:%d", __func__, __LINE__);
++ return;
++ }
++
++ if (!udl->crtc || !udl->crtc->primary)
+ return;
+
++ fb = udl->crtc->primary->fb;
++ if (!fb)
++ return;
++
++ drm_modeset_lock_all(fb->dev);
++
+ ufb = to_udl_fb(udl->crtc->primary->fb);
+ udl_handle_damage(ufb, 0, 0, ufb->base.width, ufb->base.height);
++
++ drm_modeset_unlock_all(fb->dev);
+ }
+
+ static void pal_deferred_io_work(struct work_struct *work)
+@@ -44,6 +58,8 @@ static void pal_deferred_io_work(struct work_struct *work)
+ static void pal_deferred_io_cleanup(void)
+ {
+ cancel_delayed_work_sync(&deferred_work);
++
++ pr_info(" PAL: UDL: cancel deferred io! %s:%d", __func__, __LINE__);
+ }
+
+ static void pal_deferred_io_init(struct drm_device *dev)
+--
+2.16.2
+
diff --git a/bsp/meta-synopsys/recipes-kernel/linux/linux-arc/0011-ARC-hsdk-Enable-U-Boot-support.patch b/bsp/meta-synopsys/recipes-kernel/linux/linux-arc/0011-ARC-hsdk-Enable-U-Boot-support.patch
new file mode 100644
index 00000000..8c205bf6
--- /dev/null
+++ b/bsp/meta-synopsys/recipes-kernel/linux/linux-arc/0011-ARC-hsdk-Enable-U-Boot-support.patch
@@ -0,0 +1,28 @@
+From 875c449cea26bbd35b11316fcbd3c53d22c98e9d Mon Sep 17 00:00:00 2001
+From: Alexey Brodkin <abrodkin@synopsys.com>
+Date: Tue, 15 Jan 2019 16:18:39 +0300
+Subject: [PATCH] ARC: [hsdk]: Enable U-Boot support
+
+This is required to get from U-Boot either
+customized kernel command line of even entire .dtb
+
+Upstream status: Inappropriate.
+
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+---
+ arch/arc/configs/hsdk_defconfig | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/arch/arc/configs/hsdk_defconfig b/arch/arc/configs/hsdk_defconfig
+index 2a1d2cbfee1a..ef9b90550b18 100644
+--- a/arch/arc/configs/hsdk_defconfig
++++ b/arch/arc/configs/hsdk_defconfig
+@@ -77,3 +77,5 @@ CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=10
+ # CONFIG_DEBUG_PREEMPT is not set
+ # CONFIG_FTRACE is not set
+ CONFIG_CRYPTO_ECHAINIV=y
++# CONFIG_ARC_SMP_HALT_ON_RESET is not set
++CONFIG_ARC_UBOOT_SUPPORT=y
+--
+2.16.2
+
diff --git a/bsp/meta-synopsys/recipes-kernel/linux/linux-arc/0012-ARC-hsdk-Enable-cgroups-support.patch b/bsp/meta-synopsys/recipes-kernel/linux/linux-arc/0012-ARC-hsdk-Enable-cgroups-support.patch
new file mode 100644
index 00000000..47a1cfd8
--- /dev/null
+++ b/bsp/meta-synopsys/recipes-kernel/linux/linux-arc/0012-ARC-hsdk-Enable-cgroups-support.patch
@@ -0,0 +1,27 @@
+From c2ef210039765c77544c6cd86336f4dc4b7ff52a Mon Sep 17 00:00:00 2001
+From: Alexey Brodkin <abrodkin@synopsys.com>
+Date: Wed, 16 Jan 2019 11:31:06 +0300
+Subject: [PATCH] ARC: [hsdk]: Enable cgroups support
+
+This is required for systemd, otherwise we get a message about
+missing API filesystems.
+
+Upstream status: Inappropriate.
+
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+---
+ arch/arc/configs/hsdk_defconfig | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/arch/arc/configs/hsdk_defconfig b/arch/arc/configs/hsdk_defconfig
+index 109126c3d75c..4f1b917ba6f5 100644
+--- a/arch/arc/configs/hsdk_defconfig
++++ b/arch/arc/configs/hsdk_defconfig
+@@ -82,3 +82,4 @@ CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=10
+ CONFIG_CRYPTO_ECHAINIV=y
+ # CONFIG_ARC_SMP_HALT_ON_RESET is not set
+ CONFIG_ARC_UBOOT_SUPPORT=y
++CONFIG_CGROUPS=y
+--
+2.16.2
+