diff mbox

drm/i915/glk: RGB565 planes now allow 90/270 rotation

Message ID 1496857525-28197-1-git-send-email-clinton.a.taylor@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Taylor, Clinton A June 7, 2017, 5:45 p.m. UTC
From: Clint Taylor <clinton.a.taylor@intel.com>

RGB565 Pixel format planes can now be rotated at 90 and 270 degrees

Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com>
---
 drivers/gpu/drm/i915/intel_atomic_plane.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

Comments

Ville Syrjälä June 7, 2017, 5:55 p.m. UTC | #1
On Wed, Jun 07, 2017 at 10:45:25AM -0700, clinton.a.taylor@intel.com wrote:
> From: Clint Taylor <clinton.a.taylor@intel.com>
> 
> RGB565 Pixel format planes can now be rotated at 90 and 270 degrees

"now" == since when?

> 
> Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_atomic_plane.c | 11 ++++-------
>  1 file changed, 4 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_atomic_plane.c b/drivers/gpu/drm/i915/intel_atomic_plane.c
> index 4325cb0..9a7a7ea 100644
> --- a/drivers/gpu/drm/i915/intel_atomic_plane.c
> +++ b/drivers/gpu/drm/i915/intel_atomic_plane.c
> @@ -144,19 +144,16 @@ int intel_plane_atomic_check_with_state(struct intel_crtc_state *crtc_state,
>  
>  		/*
>  		 * 90/270 is not allowed with RGB64 16:16:16:16,
> -		 * RGB 16-bit 5:6:5, and Indexed 8-bit.
> +		 * RGB 16-bit 5:6:5 (prior to gen 9 LP), and Indexed 8-bit.
>  		 * TBD: Add RGB64 case once its added in supported format list.
>  		 */
> -		switch (state->fb->format->format) {
> -		case DRM_FORMAT_C8:
> -		case DRM_FORMAT_RGB565:
> +		if ((state->fb->format->format == DRM_FORMAT_C8) ||
> +		    (state->fb->format->format == DRM_FORMAT_RGB565 &&
> +		     !IS_GEN9_LP(dev_priv) )) {

I don't think BXT can do that.

>  			DRM_DEBUG_KMS("Unsupported pixel format %s for 90/270!\n",
>  			              drm_get_format_name(state->fb->format->format,
>  			                                  &format_name));
>  			return -EINVAL;
> -
> -		default:
> -			break;
>  		}
>  	}
>  
> -- 
> 1.9.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Taylor, Clinton A June 7, 2017, 7:45 p.m. UTC | #2
On 06/07/2017 10:55 AM, Ville Syrjälä wrote:
> On Wed, Jun 07, 2017 at 10:45:25AM -0700, clinton.a.taylor@intel.com wrote:
>> From: Clint Taylor <clinton.a.taylor@intel.com>
>>
>> RGB565 Pixel format planes can now be rotated at 90 and 270 degrees
> "now" == since when?
GLK, I will update the commit message to be more specific.
>
>> Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com>
>> ---
>>   drivers/gpu/drm/i915/intel_atomic_plane.c | 11 ++++-------
>>   1 file changed, 4 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/intel_atomic_plane.c b/drivers/gpu/drm/i915/intel_atomic_plane.c
>> index 4325cb0..9a7a7ea 100644
>> --- a/drivers/gpu/drm/i915/intel_atomic_plane.c
>> +++ b/drivers/gpu/drm/i915/intel_atomic_plane.c
>> @@ -144,19 +144,16 @@ int intel_plane_atomic_check_with_state(struct intel_crtc_state *crtc_state,
>>   
>>   		/*
>>   		 * 90/270 is not allowed with RGB64 16:16:16:16,
>> -		 * RGB 16-bit 5:6:5, and Indexed 8-bit.
>> +		 * RGB 16-bit 5:6:5 (prior to gen 9 LP), and Indexed 8-bit.
>>   		 * TBD: Add RGB64 case once its added in supported format list.
>>   		 */
>> -		switch (state->fb->format->format) {
>> -		case DRM_FORMAT_C8:
>> -		case DRM_FORMAT_RGB565:
>> +		if ((state->fb->format->format == DRM_FORMAT_C8) ||
>> +		    (state->fb->format->format == DRM_FORMAT_RGB565 &&
>> +		     !IS_GEN9_LP(dev_priv) )) {
> I don't think BXT can do that.
I forgot BXT was also labeled GEN9_LP. IS_GEMINILAKE() is more appropriate.

-Clint


>
>>   			DRM_DEBUG_KMS("Unsupported pixel format %s for 90/270!\n",
>>   			              drm_get_format_name(state->fb->format->format,
>>   			                                  &format_name));
>>   			return -EINVAL;
>> -
>> -		default:
>> -			break;
>>   		}
>>   	}
>>   
>> -- 
>> 1.9.1
>>
>> _______________________________________________
>> Intel-gfx mailing list
>> Intel-gfx@lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Szwichtenberg, Radoslaw June 8, 2017, 11:45 a.m. UTC | #3
On Wed, 2017-06-07 at 10:45 -0700, clinton.a.taylor@intel.com wrote:
> From: Clint Taylor <clinton.a.taylor@intel.com>

> 

> RGB565 Pixel format planes can now be rotated at 90 and 270 degrees

> 

> Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com>

> ---

>  drivers/gpu/drm/i915/intel_atomic_plane.c | 11 ++++-------

>  1 file changed, 4 insertions(+), 7 deletions(-)

> 

I think we should also update corresponding IGT tests.
-Radek
Taylor, Clinton A June 8, 2017, 3:30 p.m. UTC | #4
On 06/08/2017 04:45 AM, Szwichtenberg, Radoslaw wrote:
> On Wed, 2017-06-07 at 10:45 -0700, clinton.a.taylor@intel.com wrote:
>> From: Clint Taylor <clinton.a.taylor@intel.com>
>>
>> RGB565 Pixel format planes can now be rotated at 90 and 270 degrees
>>
>> Signed-off-by: Clint Taylor <clinton.a.taylor@intel.com>
>> ---
>>   drivers/gpu/drm/i915/intel_atomic_plane.c | 11 ++++-------
>>   1 file changed, 4 insertions(+), 7 deletions(-)
>>
> I think we should also update corresponding IGT tests.
I have IGT changes tested and ready. However, The BSPEC states that 
RGB565 90/270 rotation isn't supported on GLK (Thanks Rodrigo). I will 
be abandoning this patch for GLK.

-Clint

> -Radek
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_atomic_plane.c b/drivers/gpu/drm/i915/intel_atomic_plane.c
index 4325cb0..9a7a7ea 100644
--- a/drivers/gpu/drm/i915/intel_atomic_plane.c
+++ b/drivers/gpu/drm/i915/intel_atomic_plane.c
@@ -144,19 +144,16 @@  int intel_plane_atomic_check_with_state(struct intel_crtc_state *crtc_state,
 
 		/*
 		 * 90/270 is not allowed with RGB64 16:16:16:16,
-		 * RGB 16-bit 5:6:5, and Indexed 8-bit.
+		 * RGB 16-bit 5:6:5 (prior to gen 9 LP), and Indexed 8-bit.
 		 * TBD: Add RGB64 case once its added in supported format list.
 		 */
-		switch (state->fb->format->format) {
-		case DRM_FORMAT_C8:
-		case DRM_FORMAT_RGB565:
+		if ((state->fb->format->format == DRM_FORMAT_C8) ||
+		    (state->fb->format->format == DRM_FORMAT_RGB565 &&
+		     !IS_GEN9_LP(dev_priv) )) {
 			DRM_DEBUG_KMS("Unsupported pixel format %s for 90/270!\n",
 			              drm_get_format_name(state->fb->format->format,
 			                                  &format_name));
 			return -EINVAL;
-
-		default:
-			break;
 		}
 	}