mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
Merge commit '7244492f8f62292994fb7596b1deb6cf2f8cc767'
* commit '7244492f8f62292994fb7596b1deb6cf2f8cc767': drm/rockchip: vop2: Support enable both hdr and dci arm64: dts: rockchip: add Tablet Board devicetree for RK3576S SoC Change-Id: I9d8c8a8069e13ae75f1ca3e55a824b02e47a35a1
This commit is contained in:
@@ -279,6 +279,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-vehicle-evb-v10-linux.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-vehicle-evb-v20.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576-vehicle-evb-v20-linux.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576s-evb1-v10.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3576s-tablet-v10.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-lp4-v10.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-lp4-v10-dsi-dsc-MV2100UZ1.dtb
|
||||
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588-evb1-lp4-v10-edp-8lanes-M280DCA.dtb
|
||||
|
||||
1317
arch/arm64/boot/dts/rockchip/rk3576s-tablet-v10.dts
Normal file
1317
arch/arm64/boot/dts/rockchip/rk3576s-tablet-v10.dts
Normal file
File diff suppressed because it is too large
Load Diff
@@ -3246,10 +3246,16 @@ static void vop2_setup_csc_mode(struct vop2_video_port *vp,
|
||||
int is_output_yuv = vcstate->yuv_overlay;
|
||||
struct vop2_win *win = to_vop2_win(pstate->plane);
|
||||
int csc_y2r_bit_depth = CSC_10BIT_DEPTH;
|
||||
int input_color_range = pstate->color_range;
|
||||
|
||||
if (win->feature & WIN_FEATURE_Y2R_13BIT_DEPTH)
|
||||
csc_y2r_bit_depth = CSC_13BIT_DEPTH;
|
||||
|
||||
if ((win->feature & WIN_FEATURE_DCI) && vpstate->dci_data) {
|
||||
is_input_yuv = true;
|
||||
input_color_range = DRM_COLOR_YCBCR_FULL_RANGE;
|
||||
}
|
||||
|
||||
vpstate->y2r_en = 0;
|
||||
vpstate->r2y_en = 0;
|
||||
vpstate->csc_mode = 0;
|
||||
@@ -3259,7 +3265,7 @@ static void vop2_setup_csc_mode(struct vop2_video_port *vp,
|
||||
if (is_input_yuv) {
|
||||
vpstate->y2r_en = 1;
|
||||
vpstate->csc_mode = vop2_convert_csc_mode(pstate->color_encoding,
|
||||
pstate->color_range,
|
||||
input_color_range,
|
||||
CSC_13BIT_DEPTH);
|
||||
}
|
||||
return;
|
||||
@@ -3267,7 +3273,7 @@ static void vop2_setup_csc_mode(struct vop2_video_port *vp,
|
||||
if (is_input_yuv) {
|
||||
vpstate->y2r_en = 1;
|
||||
vpstate->csc_mode = vop2_convert_csc_mode(pstate->color_encoding,
|
||||
pstate->color_range,
|
||||
input_color_range,
|
||||
csc_y2r_bit_depth);
|
||||
}
|
||||
return;
|
||||
@@ -3303,15 +3309,16 @@ static void vop2_setup_csc_mode(struct vop2_video_port *vp,
|
||||
}
|
||||
}
|
||||
|
||||
if ((win->feature & WIN_FEATURE_DCI) && vpstate->dci_data)
|
||||
is_input_yuv = true;
|
||||
|
||||
if (is_input_yuv && !is_output_yuv) {
|
||||
vpstate->y2r_en = 1;
|
||||
vpstate->csc_mode = vop2_convert_csc_mode(pstate->color_encoding, pstate->color_range, csc_y2r_bit_depth);
|
||||
vpstate->csc_mode = vop2_convert_csc_mode(pstate->color_encoding,
|
||||
input_color_range,
|
||||
csc_y2r_bit_depth);
|
||||
} else if (!is_input_yuv && is_output_yuv) {
|
||||
vpstate->r2y_en = 1;
|
||||
vpstate->csc_mode = vop2_convert_csc_mode(vcstate->color_encoding, vcstate->color_range, CSC_10BIT_DEPTH);
|
||||
vpstate->csc_mode = vop2_convert_csc_mode(vcstate->color_encoding,
|
||||
vcstate->color_range,
|
||||
CSC_10BIT_DEPTH);
|
||||
|
||||
/**
|
||||
* VOP YUV overlay only can support YUV limit range, so force
|
||||
@@ -11509,7 +11516,7 @@ static void vop3_post_csc_config(struct drm_crtc *crtc, struct post_acm *acm, st
|
||||
if (is_yuv_output(vcstate->bus_format))
|
||||
convert_mode.is_output_yuv = true;
|
||||
|
||||
if (vp->has_dci_enabled_win)
|
||||
if (!vcstate->yuv_overlay || vp->has_dci_enabled_win)
|
||||
convert_mode.is_input_full_range = true;
|
||||
else if (has_yuv_plane)
|
||||
convert_mode.is_input_full_range =
|
||||
|
||||
Reference in New Issue
Block a user