return -1;
 }
 
+static int convert_to_mes_priority_level(int priority_level)
+{
+       switch (priority_level) {
+       case AMDGPU_MES_PRIORITY_LEVEL_LOW:
+               return AMD_PRIORITY_LEVEL_LOW;
+       case AMDGPU_MES_PRIORITY_LEVEL_NORMAL:
+       default:
+               return AMD_PRIORITY_LEVEL_NORMAL;
+       case AMDGPU_MES_PRIORITY_LEVEL_MEDIUM:
+               return AMD_PRIORITY_LEVEL_MEDIUM;
+       case AMDGPU_MES_PRIORITY_LEVEL_HIGH:
+               return AMD_PRIORITY_LEVEL_HIGH;
+       case AMDGPU_MES_PRIORITY_LEVEL_REALTIME:
+               return AMD_PRIORITY_LEVEL_REALTIME;
+       }
+}
+
 static int mes_v11_0_add_hw_queue(struct amdgpu_mes *mes,
                                  struct mes_add_queue_input *input)
 {
        mes_add_queue_pkt.gang_quantum = input->gang_quantum;
        mes_add_queue_pkt.gang_context_addr = input->gang_context_addr;
        mes_add_queue_pkt.inprocess_gang_priority =
-               input->inprocess_gang_priority;
+               convert_to_mes_priority_level(input->inprocess_gang_priority);
        mes_add_queue_pkt.gang_global_priority_level =
-               input->gang_global_priority_level;
+               convert_to_mes_priority_level(input->gang_global_priority_level);
        mes_add_queue_pkt.doorbell_offset = input->doorbell_offset;
        mes_add_queue_pkt.mqd_addr = input->mqd_addr;