return -ENOMEM;
 
        /* version, increment each time something is added */
-       config[no_regs++] = 4;
+       config[no_regs++] = 5;
        config[no_regs++] = adev->gfx.config.max_shader_engines;
        config[no_regs++] = adev->gfx.config.max_tile_pipes;
        config[no_regs++] = adev->gfx.config.max_cu_per_sh;
 
        /* rev==1 */
        config[no_regs++] = adev->rev_id;
-       config[no_regs++] = adev->pg_flags;
+       config[no_regs++] = lower_32_bits(adev->pg_flags);
        config[no_regs++] = lower_32_bits(adev->cg_flags);
 
        /* rev==2 */
        /* rev==4 APU flag */
        config[no_regs++] = adev->flags & AMD_IS_APU ? 1 : 0;
 
-       /* rev==5 CG flag upper 32bit */
+       /* rev==5 PG/CG flag upper 32bit */
+       config[no_regs++] = upper_32_bits(adev->pg_flags);
        config[no_regs++] = upper_32_bits(adev->cg_flags);
 
        while (size && (*pos < no_regs * 4)) {