1
0
This repository has been archived on 2024-11-10. You can view files and clone it, but cannot push or open issues or pull requests.
Lakka-rk322x/projects/Allwinner/patches/linux/0036-drm-sun4i-mixer-Add-caching-support.patch
2021-10-27 23:37:14 +02:00

41 lines
1.2 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jernej Skrabec <jernej.skrabec@siol.net>
Date: Sun, 19 Jul 2020 11:37:41 +0200
Subject: [PATCH] drm/sun4i: mixer: Add caching support
Most registers are not safe to read out so enable cache in regmap.
Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
---
drivers/gpu/drm/sun4i/sun8i_mixer.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c b/drivers/gpu/drm/sun4i/sun8i_mixer.c
index 3f2e56bc817d..ba239b20a639 100644
--- a/drivers/gpu/drm/sun4i/sun8i_mixer.c
+++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c
@@ -346,11 +346,23 @@ static const struct sunxi_engine_ops sun8i_engine_ops = {
.layers_init = sun8i_layers_init,
};
+static bool sun8i_mixer_volatile_reg(struct device *dev, unsigned int reg)
+{
+ switch (reg) {
+ case SUN8I_MIXER_GLOBAL_STATUS:
+ case SUN8I_MIXER_GLOBAL_DBUFF:
+ return true;
+ }
+ return false;
+}
+
static const struct regmap_config sun8i_mixer_regmap_config = {
+ .cache_type = REGCACHE_FLAT,
.reg_bits = 32,
.val_bits = 32,
.reg_stride = 4,
.max_register = 0xffffc, /* guessed */
+ .volatile_reg = sun8i_mixer_volatile_reg,
};
static int sun8i_mixer_of_get_id(struct device_node *node)