radeon/vce: support all firmwares with major ver 53
authorBoyuan Zhang <boyuan.zhang@amd.com>
Wed, 16 Aug 2017 18:24:29 +0000 (14:24 -0400)
committerLeo Liu <leo.liu@amd.com>
Wed, 16 Aug 2017 18:42:41 +0000 (14:42 -0400)
The vce firmware interface should now be stable, all firmwares with
major version equals to 53 are supported.

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
src/gallium/drivers/radeon/radeon_vce.c

index 70c1e60f5b48a354a7725be64a76e26bf6688097..6b07a72f02cdf899ea487a470a64e6e828a189f3 100644 (file)
@@ -52,7 +52,7 @@
 #define FW_52_0_3 ((52 << 24) | (0 << 16) | (3 << 8))
 #define FW_52_4_3 ((52 << 24) | (4 << 16) | (3 << 8))
 #define FW_52_8_3 ((52 << 24) | (8 << 16) | (3 << 8))
-#define FW_53_19_4 ((53 << 24) | (19 << 16) | (4 << 8))
+#define FW_53 (53 << 24)
 
 /**
  * flush commands to the hardware
@@ -510,13 +510,13 @@ struct pipe_video_codec *rvce_create_encoder(struct pipe_context *context,
                radeon_vce_52_init(enc);
                get_pic_param = radeon_vce_52_get_param;
                break;
-       case FW_53_19_4:
-               radeon_vce_52_init(enc);
-               get_pic_param = radeon_vce_52_get_param;
-               break;
 
        default:
-               goto error;
+               if ((rscreen->info.vce_fw_version & (0xff << 24)) == FW_53) {
+                       radeon_vce_52_init(enc);
+                       get_pic_param = radeon_vce_52_get_param;
+               } else
+                       goto error;
        }
 
        return &enc->base;
@@ -546,10 +546,12 @@ bool rvce_is_fw_version_supported(struct r600_common_screen *rscreen)
        case FW_52_0_3:
        case FW_52_4_3:
        case FW_52_8_3:
-       case FW_53_19_4:
                return true;
        default:
-               return false;
+               if ((rscreen->info.vce_fw_version & (0xff << 24)) == FW_53)
+                       return true;
+               else
+                       return false;
        }
 }