On 10/02/17 02:02 PM, Alex Deucher wrote:
> Add cases for asics with 3 and 5 crtcs.  Fixes an artificial
> limitation on asics with 3 or 5 crtcs.
> 
> Fixes:
> https://bugs.freedesktop.org/show_bug.cgi?id=99744
> 
> Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
> Cc: sta...@vger.kernel.org
> ---
>  drivers/gpu/drm/amd/amdgpu/dce_v11_0.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c 
> b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
> index 1cf1d9d..5b24e89 100644
> --- a/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c
> @@ -3737,9 +3737,15 @@ static void dce_v11_0_encoder_add(struct amdgpu_device 
> *adev,
>       default:
>               encoder->possible_crtcs = 0x3;
>               break;
> +     case 3:
> +             encoder->possible_crtcs = 0x7;
> +             break;
>       case 4:
>               encoder->possible_crtcs = 0xf;
>               break;
> +     case 5:
> +             encoder->possible_crtcs = 0x1f;
> +             break;
>       case 6:
>               encoder->possible_crtcs = 0x3f;
>               break;
> 

The switch statement could be simplified to something like:

        switch (adev->mode_info.num_crtc) {
        case 2:
        default:
                encoder->possible_crtcs = 0x3;
                break;
        case 1:
        case 3:
        case 4:
        case 5:
        case 6:
                encoder->possible_crtcs = (1 << adev->mode_info.num_crtc) - 1;
                break;
        }

Either way,

Reviewed-by: Michel Dänzer <michel.daen...@amd.com>


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to