mirror of
https://github.com/armbian/build
synced 2025-09-24 19:47:06 +07:00
sunxi-6.16: remove unused megous patches
This commit is contained in:
@@ -0,0 +1,178 @@
|
||||
From 54669ac67e47835b8cc3eea215026385a0050567 Mon Sep 17 00:00:00 2001
|
||||
From: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
Date: Sun, 29 Sep 2024 22:04:33 +1300
|
||||
Subject: drm: sun4i: de2/de3: Change CSC argument
|
||||
|
||||
Currently, CSC module takes care only for converting YUV to RGB.
|
||||
However, DE3 is more suited to work in YUV color space. Change CSC mode
|
||||
argument to format type to be more neutral. New argument only tells
|
||||
layer format type and doesn't imply output type.
|
||||
|
||||
This commit doesn't make any functional change.
|
||||
|
||||
Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
|
||||
Signed-off-by: Ryan Walklin <ryan@testtoast.com>
|
||||
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
|
||||
---
|
||||
drivers/gpu/drm/sun4i/sun8i_csc.c | 22 +++++++++++-----------
|
||||
drivers/gpu/drm/sun4i/sun8i_csc.h | 10 +++++-----
|
||||
drivers/gpu/drm/sun4i/sun8i_vi_layer.c | 16 ++++++++--------
|
||||
3 files changed, 24 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun8i_csc.c b/drivers/gpu/drm/sun4i/sun8i_csc.c
|
||||
index 58480d8e4f70..6ebd1c3aa3ab 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun8i_csc.c
|
||||
+++ b/drivers/gpu/drm/sun4i/sun8i_csc.c
|
||||
@@ -108,7 +108,7 @@ static const u32 yuv2rgb_de3[2][3][12] = {
|
||||
};
|
||||
|
||||
static void sun8i_csc_set_coefficients(struct regmap *map, u32 base,
|
||||
- enum sun8i_csc_mode mode,
|
||||
+ enum format_type fmt_type,
|
||||
enum drm_color_encoding encoding,
|
||||
enum drm_color_range range)
|
||||
{
|
||||
@@ -118,12 +118,12 @@ static void sun8i_csc_set_coefficients(struct regmap *map, u32 base,
|
||||
|
||||
table = yuv2rgb[range][encoding];
|
||||
|
||||
- switch (mode) {
|
||||
- case SUN8I_CSC_MODE_YUV2RGB:
|
||||
+ switch (fmt_type) {
|
||||
+ case FORMAT_TYPE_YUV:
|
||||
base_reg = SUN8I_CSC_COEFF(base, 0);
|
||||
regmap_bulk_write(map, base_reg, table, 12);
|
||||
break;
|
||||
- case SUN8I_CSC_MODE_YVU2RGB:
|
||||
+ case FORMAT_TYPE_YVU:
|
||||
for (i = 0; i < 12; i++) {
|
||||
if ((i & 3) == 1)
|
||||
base_reg = SUN8I_CSC_COEFF(base, i + 1);
|
||||
@@ -141,7 +141,7 @@ static void sun8i_csc_set_coefficients(struct regmap *map, u32 base,
|
||||
}
|
||||
|
||||
static void sun8i_de3_ccsc_set_coefficients(struct regmap *map, int layer,
|
||||
- enum sun8i_csc_mode mode,
|
||||
+ enum format_type fmt_type,
|
||||
enum drm_color_encoding encoding,
|
||||
enum drm_color_range range)
|
||||
{
|
||||
@@ -151,12 +151,12 @@ static void sun8i_de3_ccsc_set_coefficients(struct regmap *map, int layer,
|
||||
|
||||
table = yuv2rgb_de3[range][encoding];
|
||||
|
||||
- switch (mode) {
|
||||
- case SUN8I_CSC_MODE_YUV2RGB:
|
||||
+ switch (fmt_type) {
|
||||
+ case FORMAT_TYPE_YUV:
|
||||
addr = SUN50I_MIXER_BLEND_CSC_COEFF(DE3_BLD_BASE, layer, 0);
|
||||
regmap_bulk_write(map, addr, table, 12);
|
||||
break;
|
||||
- case SUN8I_CSC_MODE_YVU2RGB:
|
||||
+ case FORMAT_TYPE_YVU:
|
||||
for (i = 0; i < 12; i++) {
|
||||
if ((i & 3) == 1)
|
||||
addr = SUN50I_MIXER_BLEND_CSC_COEFF(DE3_BLD_BASE,
|
||||
@@ -206,7 +206,7 @@ static void sun8i_de3_ccsc_enable(struct regmap *map, int layer, bool enable)
|
||||
}
|
||||
|
||||
void sun8i_csc_set_ccsc_coefficients(struct sun8i_mixer *mixer, int layer,
|
||||
- enum sun8i_csc_mode mode,
|
||||
+ enum format_type fmt_type,
|
||||
enum drm_color_encoding encoding,
|
||||
enum drm_color_range range)
|
||||
{
|
||||
@@ -214,14 +214,14 @@ void sun8i_csc_set_ccsc_coefficients(struct sun8i_mixer *mixer, int layer,
|
||||
|
||||
if (mixer->cfg->is_de3) {
|
||||
sun8i_de3_ccsc_set_coefficients(mixer->engine.regs, layer,
|
||||
- mode, encoding, range);
|
||||
+ fmt_type, encoding, range);
|
||||
return;
|
||||
}
|
||||
|
||||
base = ccsc_base[mixer->cfg->ccsc][layer];
|
||||
|
||||
sun8i_csc_set_coefficients(mixer->engine.regs, base,
|
||||
- mode, encoding, range);
|
||||
+ fmt_type, encoding, range);
|
||||
}
|
||||
|
||||
void sun8i_csc_enable_ccsc(struct sun8i_mixer *mixer, int layer, bool enable)
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun8i_csc.h b/drivers/gpu/drm/sun4i/sun8i_csc.h
|
||||
index 828b86fd0cab..7322770f39f0 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun8i_csc.h
|
||||
+++ b/drivers/gpu/drm/sun4i/sun8i_csc.h
|
||||
@@ -22,14 +22,14 @@ struct sun8i_mixer;
|
||||
|
||||
#define SUN8I_CSC_CTRL_EN BIT(0)
|
||||
|
||||
-enum sun8i_csc_mode {
|
||||
- SUN8I_CSC_MODE_OFF,
|
||||
- SUN8I_CSC_MODE_YUV2RGB,
|
||||
- SUN8I_CSC_MODE_YVU2RGB,
|
||||
+enum format_type {
|
||||
+ FORMAT_TYPE_RGB,
|
||||
+ FORMAT_TYPE_YUV,
|
||||
+ FORMAT_TYPE_YVU,
|
||||
};
|
||||
|
||||
void sun8i_csc_set_ccsc_coefficients(struct sun8i_mixer *mixer, int layer,
|
||||
- enum sun8i_csc_mode mode,
|
||||
+ enum format_type fmt_type,
|
||||
enum drm_color_encoding encoding,
|
||||
enum drm_color_range range);
|
||||
void sun8i_csc_enable_ccsc(struct sun8i_mixer *mixer, int layer, bool enable);
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
|
||||
index 9c09d9c08496..8a80934e928f 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
|
||||
+++ b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c
|
||||
@@ -193,19 +193,19 @@ static int sun8i_vi_layer_update_coord(struct sun8i_mixer *mixer, int channel,
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static u32 sun8i_vi_layer_get_csc_mode(const struct drm_format_info *format)
|
||||
+static u32 sun8i_vi_layer_get_format_type(const struct drm_format_info *format)
|
||||
{
|
||||
if (!format->is_yuv)
|
||||
- return SUN8I_CSC_MODE_OFF;
|
||||
+ return FORMAT_TYPE_RGB;
|
||||
|
||||
switch (format->format) {
|
||||
case DRM_FORMAT_YVU411:
|
||||
case DRM_FORMAT_YVU420:
|
||||
case DRM_FORMAT_YVU422:
|
||||
case DRM_FORMAT_YVU444:
|
||||
- return SUN8I_CSC_MODE_YVU2RGB;
|
||||
+ return FORMAT_TYPE_YVU;
|
||||
default:
|
||||
- return SUN8I_CSC_MODE_YUV2RGB;
|
||||
+ return FORMAT_TYPE_YUV;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -213,7 +213,7 @@ static int sun8i_vi_layer_update_formats(struct sun8i_mixer *mixer, int channel,
|
||||
int overlay, struct drm_plane *plane)
|
||||
{
|
||||
struct drm_plane_state *state = plane->state;
|
||||
- u32 val, ch_base, csc_mode, hw_fmt;
|
||||
+ u32 val, ch_base, fmt_type, hw_fmt;
|
||||
const struct drm_format_info *fmt;
|
||||
int ret;
|
||||
|
||||
@@ -231,9 +231,9 @@ static int sun8i_vi_layer_update_formats(struct sun8i_mixer *mixer, int channel,
|
||||
SUN8I_MIXER_CHAN_VI_LAYER_ATTR(ch_base, overlay),
|
||||
SUN8I_MIXER_CHAN_VI_LAYER_ATTR_FBFMT_MASK, val);
|
||||
|
||||
- csc_mode = sun8i_vi_layer_get_csc_mode(fmt);
|
||||
- if (csc_mode != SUN8I_CSC_MODE_OFF) {
|
||||
- sun8i_csc_set_ccsc_coefficients(mixer, channel, csc_mode,
|
||||
+ fmt_type = sun8i_vi_layer_get_format_type(fmt);
|
||||
+ if (fmt_type != FORMAT_TYPE_RGB) {
|
||||
+ sun8i_csc_set_ccsc_coefficients(mixer, channel, fmt_type,
|
||||
state->color_encoding,
|
||||
state->color_range);
|
||||
sun8i_csc_enable_ccsc(mixer, channel, true);
|
||||
--
|
||||
2.35.3
|
||||
|
||||
Reference in New Issue
Block a user