From 7d07b3ae8ddad407913c5301877e694430a3263f Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Thu, 23 Nov 2023 08:24:31 +0000
Subject: [PATCH] add build kerneldeb
---
kernel/drivers/gpu/drm/rockchip/rockchip_rgb.c | 23 ++++++++++++++++-------
1 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/kernel/drivers/gpu/drm/rockchip/rockchip_rgb.c b/kernel/drivers/gpu/drm/rockchip/rockchip_rgb.c
index 9ff3186..9a7b1a7 100644
--- a/kernel/drivers/gpu/drm/rockchip/rockchip_rgb.c
+++ b/kernel/drivers/gpu/drm/rockchip/rockchip_rgb.c
@@ -173,6 +173,8 @@
static void rockchip_rgb_encoder_disable(struct drm_encoder *encoder)
{
struct rockchip_rgb *rgb = encoder_to_rgb(encoder);
+ struct drm_crtc *crtc = encoder->crtc;
+ struct rockchip_crtc_state *s = to_rockchip_crtc_state(crtc->state);
if (rgb->panel) {
drm_panel_disable(rgb->panel);
@@ -186,6 +188,13 @@
rgb->funcs->disable(rgb);
pinctrl_pm_select_sleep_state(rgb->dev);
+
+ if (s->output_if & VOP_OUTPUT_IF_RGB)
+ s->output_if &= ~VOP_OUTPUT_IF_RGB;
+ else if (s->output_if & VOP_OUTPUT_IF_BT656)
+ s->output_if &= ~VOP_OUTPUT_IF_BT656;
+ else if (s->output_if & VOP_OUTPUT_IF_BT1120)
+ s->output_if &= ~VOP_OUTPUT_IF_BT1120;
}
static int
@@ -205,39 +214,39 @@
switch (s->bus_format) {
case MEDIA_BUS_FMT_RGB666_1X18:
s->output_mode = ROCKCHIP_OUT_MODE_P666;
- s->output_if = VOP_OUTPUT_IF_RGB;
+ s->output_if |= VOP_OUTPUT_IF_RGB;
break;
case MEDIA_BUS_FMT_RGB565_1X16:
s->output_mode = ROCKCHIP_OUT_MODE_P565;
- s->output_if = VOP_OUTPUT_IF_RGB;
+ s->output_if |= VOP_OUTPUT_IF_RGB;
break;
case MEDIA_BUS_FMT_SRGB888_3X8:
s->output_mode = ROCKCHIP_OUT_MODE_S888;
- s->output_if = VOP_OUTPUT_IF_RGB;
+ s->output_if |= VOP_OUTPUT_IF_RGB;
break;
case MEDIA_BUS_FMT_SRGB888_DUMMY_4X8:
s->output_mode = ROCKCHIP_OUT_MODE_S888_DUMMY;
- s->output_if = VOP_OUTPUT_IF_RGB;
+ s->output_if |= VOP_OUTPUT_IF_RGB;
break;
case MEDIA_BUS_FMT_YUYV8_2X8:
case MEDIA_BUS_FMT_YVYU8_2X8:
case MEDIA_BUS_FMT_UYVY8_2X8:
case MEDIA_BUS_FMT_VYUY8_2X8:
s->output_mode = ROCKCHIP_OUT_MODE_BT656;
- s->output_if = VOP_OUTPUT_IF_BT656;
+ s->output_if |= VOP_OUTPUT_IF_BT656;
break;
case MEDIA_BUS_FMT_YUYV8_1X16:
case MEDIA_BUS_FMT_YVYU8_1X16:
case MEDIA_BUS_FMT_UYVY8_1X16:
case MEDIA_BUS_FMT_VYUY8_1X16:
s->output_mode = ROCKCHIP_OUT_MODE_BT1120;
- s->output_if = VOP_OUTPUT_IF_BT1120;
+ s->output_if |= VOP_OUTPUT_IF_BT1120;
break;
case MEDIA_BUS_FMT_RGB888_1X24:
case MEDIA_BUS_FMT_RGB666_1X24_CPADHI:
default:
s->output_mode = ROCKCHIP_OUT_MODE_P888;
- s->output_if = VOP_OUTPUT_IF_RGB;
+ s->output_if |= VOP_OUTPUT_IF_RGB;
break;
}
--
Gitblit v1.6.2