forked from mirrors/linux
		
	drm/edid: Set YQ bits in the AVI infoframe according to CEA-861-F
CEA-861-F tells us: "When transmitting any RGB colorimetry, the Source should set the YQ-field to match the RGB Quantization Range being transmitted (e.g., when Limited Range RGB, set YQ=0 or when Full Range RGB, set YQ=1) and the Sink shall ignore the YQ-field." So let's go ahead and do that. Perhaps there are sinks that don't ignore the YQ as they should for RGB? I wasn't able to find similar text in CEA-861-E, so it would seem to be a fairly "recent" addition. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170111125725.8086-6-ville.syrjala@linux.intel.com Reviewed-by: Jani Nikula <jani.nikula@intel.com> Acked-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
		
							parent
							
								
									779c4c2866
								
							
						
					
					
						commit
						fcc8a22cc9
					
				
					 1 changed files with 14 additions and 0 deletions
				
			
		| 
						 | 
					@ -4321,6 +4321,20 @@ drm_hdmi_avi_infoframe_quant_range(struct hdmi_avi_infoframe *frame,
 | 
				
			||||||
		frame->quantization_range = rgb_quant_range;
 | 
							frame->quantization_range = rgb_quant_range;
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
		frame->quantization_range = HDMI_QUANTIZATION_RANGE_DEFAULT;
 | 
							frame->quantization_range = HDMI_QUANTIZATION_RANGE_DEFAULT;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/*
 | 
				
			||||||
 | 
						 * CEA-861-F:
 | 
				
			||||||
 | 
						 * "When transmitting any RGB colorimetry, the Source should set the
 | 
				
			||||||
 | 
						 *  YQ-field to match the RGB Quantization Range being transmitted
 | 
				
			||||||
 | 
						 *  (e.g., when Limited Range RGB, set YQ=0 or when Full Range RGB,
 | 
				
			||||||
 | 
						 *  set YQ=1) and the Sink shall ignore the YQ-field."
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						if (rgb_quant_range == HDMI_QUANTIZATION_RANGE_LIMITED)
 | 
				
			||||||
 | 
							frame->ycc_quantization_range =
 | 
				
			||||||
 | 
								HDMI_YCC_QUANTIZATION_RANGE_LIMITED;
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							frame->ycc_quantization_range =
 | 
				
			||||||
 | 
								HDMI_YCC_QUANTIZATION_RANGE_FULL;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
EXPORT_SYMBOL(drm_hdmi_avi_infoframe_quant_range);
 | 
					EXPORT_SYMBOL(drm_hdmi_avi_infoframe_quant_range);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue