Detect the 5th-generation AST 1400. Allows to simplify the code for widescreen support. Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx> --- drivers/gpu/drm/ast/ast_drv.h | 2 +- drivers/gpu/drm/ast/ast_main.c | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/ast/ast_drv.h b/drivers/gpu/drm/ast/ast_drv.h index e3f82c7a823e4..ef69a1535695b 100644 --- a/drivers/gpu/drm/ast/ast_drv.h +++ b/drivers/gpu/drm/ast/ast_drv.h @@ -74,7 +74,7 @@ enum ast_chip { AST1050 = __AST_CHIP(4, 2), // unused /* 5th gen */ AST2400 = __AST_CHIP(5, 0), - AST1400 = __AST_CHIP(5, 1), // unused + AST1400 = __AST_CHIP(5, 1), AST1250 = __AST_CHIP(5, 2), // unused /* 6th gen */ AST2500 = __AST_CHIP(6, 0), diff --git a/drivers/gpu/drm/ast/ast_main.c b/drivers/gpu/drm/ast/ast_main.c index bf8606301ab26..72543e97f3586 100644 --- a/drivers/gpu/drm/ast/ast_main.c +++ b/drivers/gpu/drm/ast/ast_main.c @@ -167,8 +167,15 @@ static int ast_detect_chip(struct drm_device *dev, bool need_post, u32 scu_rev) ast->chip = AST2500; drm_info(dev, "AST 2500 detected\n"); } else if (pdev->revision >= 0x30) { - ast->chip = AST2400; - drm_info(dev, "AST 2400 detected\n"); + switch (scu_rev & 0x300) { + case 0x0100: + ast->chip = AST1400; + drm_info(dev, "AST 1400 detected\n"); + break; + default: + ast->chip = AST2400; + drm_info(dev, "AST 2400 detected\n"); + } } else if (pdev->revision >= 0x20) { switch (scu_rev & 0x300) { case 0x0000: @@ -219,8 +226,7 @@ static int ast_detect_chip(struct drm_device *dev, bool need_post, u32 scu_rev) ast->support_wide_screen = false; if (ast->chip == AST1300) ast->support_wide_screen = true; - if (ast->chip == AST2400 && - (scu_rev & 0x300) == 0x100) /* ast1400 */ + if (ast->chip == AST1400) ast->support_wide_screen = true; if (ast->chip == AST2500 && scu_rev == 0x100) /* ast2510 */ -- 2.41.0