diff mbox series

drm/i915: support two CSC module on gen11 and later

Message ID 20210114092236.20477-1-shawn.c.lee@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915: support two CSC module on gen11 and later | expand

Commit Message

Lee Shawn C Jan. 14, 2021, 9:22 a.m. UTC
There are two CSC on pipeline on gen11 and later platform.
User space application is allowed to enable CTM and RGB
to YCbCr coversion at the same time now.

Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Cooper Chiou <cooper.chiou@intel.com>
Cc: Shankar Uma <uma.shankar@intel.com>

Signed-off-by: Lee Shawn C <shawn.c.lee@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Ville Syrjälä Jan. 14, 2021, 3:31 p.m. UTC | #1
On Thu, Jan 14, 2021 at 05:22:36PM +0800, Lee Shawn C wrote:
> There are two CSC on pipeline on gen11 and later platform.
> User space application is allowed to enable CTM and RGB
> to YCbCr coversion at the same time now.
> 
> Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
> Cc: Imre Deak <imre.deak@intel.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: Cooper Chiou <cooper.chiou@intel.com>
> Cc: Shankar Uma <uma.shankar@intel.com>
> 
> Signed-off-by: Lee Shawn C <shawn.c.lee@intel.com>
> ---
>  drivers/gpu/drm/i915/display/intel_display.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 1a0f00f37ca9..721d5ce1ed2b 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -8303,7 +8303,8 @@ static int intel_crtc_compute_config(struct intel_crtc *crtc,
>  		return -EINVAL;
>  	}
>  
> -	if ((pipe_config->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 ||
> +	if ((INTEL_GEN(dev_priv) < 11) &&
> +	    (pipe_config->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 ||
>  	     pipe_config->output_format == INTEL_OUTPUT_FORMAT_YCBCR444) &&
>  	     pipe_config->hw.ctm) {

Didn't realize we had this check here. It should really be moved
into {ivb,glk}_color_check().
Lee Shawn C Jan. 15, 2021, 5:45 a.m. UTC | #2
On Thursday, January 14, 2021 11:32 PM, Ville Syrjälä wrote:
>On Thu, Jan 14, 2021 at 05:22:36PM +0800, Lee Shawn C wrote:
>> There are two CSC on pipeline on gen11 and later platform.
>> User space application is allowed to enable CTM and RGB to YCbCr 
>> coversion at the same time now.
>> 
>> Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
>> Cc: Imre Deak <imre.deak@intel.com>
>> Cc: Jani Nikula <jani.nikula@linux.intel.com>
>> Cc: Cooper Chiou <cooper.chiou@intel.com>
>> Cc: Shankar Uma <uma.shankar@intel.com>
>> 
>> Signed-off-by: Lee Shawn C <shawn.c.lee@intel.com>
>> ---
>>  drivers/gpu/drm/i915/display/intel_display.c | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>> 
>> diff --git a/drivers/gpu/drm/i915/display/intel_display.c 
>> b/drivers/gpu/drm/i915/display/intel_display.c
>> index 1a0f00f37ca9..721d5ce1ed2b 100644
>> --- a/drivers/gpu/drm/i915/display/intel_display.c
>> +++ b/drivers/gpu/drm/i915/display/intel_display.c
>> @@ -8303,7 +8303,8 @@ static int intel_crtc_compute_config(struct intel_crtc *crtc,
>>  		return -EINVAL;
>>  	}
>>  
>> -	if ((pipe_config->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 ||
>> +	if ((INTEL_GEN(dev_priv) < 11) &&
>> +	    (pipe_config->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 ||
>>  	     pipe_config->output_format == INTEL_OUTPUT_FORMAT_YCBCR444) &&
>>  	     pipe_config->hw.ctm) {
>
>Didn't realize we had this check here. It should really be moved into {ivb,glk}_color_check().

Thanks for comments! I will move it to {ivb,glk}_color_check() and submit patch v2.

Best regards,
Shawn

>
>--
>Ville Syrjälä
>Intel
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 1a0f00f37ca9..721d5ce1ed2b 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -8303,7 +8303,8 @@  static int intel_crtc_compute_config(struct intel_crtc *crtc,
 		return -EINVAL;
 	}
 
-	if ((pipe_config->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 ||
+	if ((INTEL_GEN(dev_priv) < 11) &&
+	    (pipe_config->output_format == INTEL_OUTPUT_FORMAT_YCBCR420 ||
 	     pipe_config->output_format == INTEL_OUTPUT_FORMAT_YCBCR444) &&
 	     pipe_config->hw.ctm) {
 		/*