mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-28 13:16:41 +00:00
Merge pull request #2329 from MilhouseVH/le90_drop_passthrough_force_full
passthrough: drop kernel patch, force full
This commit is contained in:
commit
e947bc5dbf
@ -1,64 +0,0 @@
|
|||||||
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
|
|
||||||
index e1f7c97..d99e406 100644
|
|
||||||
--- a/drivers/gpu/drm/i915/i915_drv.h
|
|
||||||
+++ b/drivers/gpu/drm/i915/i915_drv.h
|
|
||||||
@@ -4044,6 +4044,7 @@ __raw_write(64, q)
|
|
||||||
#define INTEL_BROADCAST_RGB_AUTO 0
|
|
||||||
#define INTEL_BROADCAST_RGB_FULL 1
|
|
||||||
#define INTEL_BROADCAST_RGB_LIMITED 2
|
|
||||||
+#define INTEL_BROADCAST_RGB_VIDEO 3
|
|
||||||
|
|
||||||
static inline i915_reg_t i915_vgacntrl_reg(struct drm_i915_private *dev_priv)
|
|
||||||
{
|
|
||||||
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
|
|
||||||
index d93efb4..0de8a5e 100644
|
|
||||||
--- a/drivers/gpu/drm/i915/intel_drv.h
|
|
||||||
+++ b/drivers/gpu/drm/i915/intel_drv.h
|
|
||||||
@@ -652,6 +652,13 @@ struct intel_crtc_state {
|
|
||||||
*/
|
|
||||||
bool limited_color_range;
|
|
||||||
|
|
||||||
+ /*
|
|
||||||
+ *
|
|
||||||
+ * Use reduced/limited/broadcast rgb range without compressing.
|
|
||||||
+ *
|
|
||||||
+ */
|
|
||||||
+ bool video_color_range;
|
|
||||||
+
|
|
||||||
/* Bitmask of encoder types (enum intel_output_type)
|
|
||||||
* driven by the pipe.
|
|
||||||
*/
|
|
||||||
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
|
|
||||||
index ec0779a..42fd4e5 100644
|
|
||||||
--- a/drivers/gpu/drm/i915/intel_hdmi.c
|
|
||||||
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
|
|
||||||
@@ -470,7 +470,7 @@ static void intel_hdmi_set_avi_infoframe(struct drm_encoder *encoder,
|
|
||||||
}
|
|
||||||
|
|
||||||
drm_hdmi_avi_infoframe_quant_range(&frame.avi, adjusted_mode,
|
|
||||||
- crtc_state->limited_color_range ?
|
|
||||||
+ (crtc_state->limited_color_range || crtc_state->video_color_range) ?
|
|
||||||
HDMI_QUANTIZATION_RANGE_LIMITED :
|
|
||||||
HDMI_QUANTIZATION_RANGE_FULL,
|
|
||||||
intel_hdmi->rgb_quant_range_selectable);
|
|
||||||
@@ -1370,6 +1370,8 @@ bool intel_hdmi_compute_config(struct intel_encoder *encoder,
|
|
||||||
intel_conn_state->broadcast_rgb == INTEL_BROADCAST_RGB_LIMITED;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ pipe_config->video_color_range = (intel_conn_state->broadcast_rgb == INTEL_BROADCAST_RGB_VIDEO);
|
|
||||||
+
|
|
||||||
if (adjusted_mode->flags & DRM_MODE_FLAG_DBLCLK) {
|
|
||||||
pipe_config->pixel_multiplier = 2;
|
|
||||||
clock_8bpc *= 2;
|
|
||||||
diff --git a/drivers/gpu/drm/i915/intel_modes.c b/drivers/gpu/drm/i915/intel_modes.c
|
|
||||||
index 951e834..d817558 100644
|
|
||||||
--- a/drivers/gpu/drm/i915/intel_modes.c
|
|
||||||
+++ b/drivers/gpu/drm/i915/intel_modes.c
|
|
||||||
@@ -102,6 +102,7 @@ static const struct drm_prop_enum_list broadcast_rgb_names[] = {
|
|
||||||
{ INTEL_BROADCAST_RGB_AUTO, "Automatic" },
|
|
||||||
{ INTEL_BROADCAST_RGB_FULL, "Full" },
|
|
||||||
{ INTEL_BROADCAST_RGB_LIMITED, "Limited 16:235" },
|
|
||||||
+ { INTEL_BROADCAST_RGB_VIDEO, "Video 16:235 pass-through" },
|
|
||||||
};
|
|
||||||
|
|
||||||
void
|
|
@ -6,7 +6,6 @@ if [ "$FB_TYPE" == "inteldrmfb" ]; then
|
|||||||
for out in $OUTPUT ; do
|
for out in $OUTPUT ; do
|
||||||
# Hack - something is not yet fully right
|
# Hack - something is not yet fully right
|
||||||
/usr/bin/xrandr -display :0 --output $out --set "Broadcast RGB" "Full"
|
/usr/bin/xrandr -display :0 --output $out --set "Broadcast RGB" "Full"
|
||||||
/usr/bin/xrandr -display :0 --output $out --set "Broadcast RGB" "Video 16:235 pass-through"
|
|
||||||
# Seems there is a little race somewhere on some outputs
|
# Seems there is a little race somewhere on some outputs
|
||||||
# Turn the display shortly off and on again
|
# Turn the display shortly off and on again
|
||||||
if [ -e "/storage/.config/forcedisplay" ]; then
|
if [ -e "/storage/.config/forcedisplay" ]; then
|
||||||
|
Loading…
x
Reference in New Issue
Block a user