aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0816-Revert-drm-amd-display-Clen-unused-interface.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0816-Revert-drm-amd-display-Clen-unused-interface.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0816-Revert-drm-amd-display-Clen-unused-interface.patch80
1 files changed, 80 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0816-Revert-drm-amd-display-Clen-unused-interface.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0816-Revert-drm-amd-display-Clen-unused-interface.patch
new file mode 100644
index 00000000..94c7827e
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0816-Revert-drm-amd-display-Clen-unused-interface.patch
@@ -0,0 +1,80 @@
+From 233f24686104800f610adc29d7807d56354ec61b Mon Sep 17 00:00:00 2001
+From: Xiaojie Yuan <Xiaojie.Yuan@amd.com>
+Date: Fri, 26 May 2017 12:43:30 +0800
+Subject: [PATCH 0816/4131] Revert "drm/amd/display: Clen unused interface."
+
+This reverts commit 570c231ad57aa83e4528269c306a124869b779c5.
+
+kcl_dm is still a user of dc_flip_surface_addrs()
+
+Change-Id: I87c4b1e59f464b40206c46f531812c6849deb649
+Signed-off-by: Xiaojie Yuan <Xiaojie.Yuan@amd.com>
+Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com>
+---
+ drivers/gpu/drm/amd/display/dc/core/dc.c | 26 ++++++++++++++++++++++++++
+ drivers/gpu/drm/amd/display/dc/dc.h | 12 ++++++++++++
+ 2 files changed, 38 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
+index c2c379a..2a465b3 100644
+--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
++++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
+@@ -1769,6 +1769,32 @@ const struct audio **dc_get_audios(struct dc *dc)
+ return (const struct audio **)core_dc->res_pool->audios;
+ }
+
++void dc_flip_surface_addrs(
++ struct dc *dc,
++ const struct dc_surface *const surfaces[],
++ struct dc_flip_addrs flip_addrs[],
++ uint32_t count)
++{
++ struct core_dc *core_dc = DC_TO_CORE(dc);
++ int i, j;
++
++ for (i = 0; i < count; i++) {
++ struct core_surface *surface = DC_SURFACE_TO_CORE(surfaces[i]);
++
++ surface->public.address = flip_addrs[i].address;
++ surface->public.flip_immediate = flip_addrs[i].flip_immediate;
++
++ for (j = 0; j < core_dc->res_pool->pipe_count; j++) {
++ struct pipe_ctx *pipe_ctx = &core_dc->current_context->res_ctx.pipe_ctx[j];
++
++ if (pipe_ctx->surface != surface)
++ continue;
++
++ core_dc->hwss.update_plane_addr(core_dc, pipe_ctx);
++ }
++ }
++}
++
+ enum dc_irq_source dc_interrupt_to_irq_source(
+ struct dc *dc,
+ uint32_t src_id,
+diff --git a/drivers/gpu/drm/amd/display/dc/dc.h b/drivers/gpu/drm/amd/display/dc/dc.h
+index 4605179..52f132a 100644
+--- a/drivers/gpu/drm/amd/display/dc/dc.h
++++ b/drivers/gpu/drm/amd/display/dc/dc.h
+@@ -411,6 +411,18 @@ struct dc_flip_addrs {
+ };
+
+ /*
++ * Optimized flip address update function.
++ *
++ * After this call:
++ * Surface addresses and flip attributes are programmed.
++ * Surface flip occur at next configured time (h_sync or v_sync flip)
++ */
++void dc_flip_surface_addrs(struct dc *dc,
++ const struct dc_surface *const surfaces[],
++ struct dc_flip_addrs flip_addrs[],
++ uint32_t count);
++
++/*
+ * Set up surface attributes and associate to a stream
+ * The surfaces parameter is an absolute set of all surface active for the stream.
+ * If no surfaces are provided, the stream will be blanked; no memory read.
+--
+2.7.4
+