[PATCH 10/10] drm/ast: Gen7: Switch default registers to gen4+ state
Jocelyn Falempe
jfalempe at redhat.com
Thu Jul 3 13:12:54 UTC 2025
On 02/07/2025 15:12, Thomas Zimmermann wrote:
> Change the default register settings for Gen7 to mach Gen4 and
> later. Gen7 currently uses the settings for Gen1, which is most
> likely incorrect.
>
> Using Gen4+ settings enables E2M linear-access modes in VGACRA2.
> It appears to be related to the chip's PCIE2MBOX feature, which
> is unused.
>
Thanks, it looks good to me.
Reviewed-by: Jocelyn Falempe <jfalempe at redhat.com>
> Signed-off-by: Thomas Zimmermann <tzimmermann at suse.de>
> ---
> drivers/gpu/drm/ast/ast_2600.c | 33 +--------------------------------
> drivers/gpu/drm/ast/ast_post.h | 3 ---
> 2 files changed, 1 insertion(+), 35 deletions(-)
>
> diff --git a/drivers/gpu/drm/ast/ast_2600.c b/drivers/gpu/drm/ast/ast_2600.c
> index a426a981949e..3a3ef21684ad 100644
> --- a/drivers/gpu/drm/ast/ast_2600.c
> +++ b/drivers/gpu/drm/ast/ast_2600.c
> @@ -33,42 +33,11 @@
> * POST
> */
>
> -void ast_2600_set_def_ext_reg(struct ast_device *ast)
> -{
> - static const u8 extreginfo[] = { 0x0f, 0x04, 0x1c, 0xff };
> - u8 i, index, reg;
> - const u8 *ext_reg_info;
> -
> - /* reset scratch */
> - for (i = 0x81; i <= 0x9f; i++)
> - ast_set_index_reg(ast, AST_IO_VGACRI, i, 0x00);
> -
> - ext_reg_info = extreginfo;
> - index = 0xa0;
> - while (*ext_reg_info != 0xff) {
> - ast_set_index_reg_mask(ast, AST_IO_VGACRI, index, 0x00, *ext_reg_info);
> - index++;
> - ext_reg_info++;
> - }
> -
> - /* disable standard IO/MEM decode if secondary */
> - /* ast_set_index_reg-mask(ast, AST_IO_VGACRI, 0xa1, 0xff, 0x3); */
> -
> - /* Set Ext. Default */
> - ast_set_index_reg_mask(ast, AST_IO_VGACRI, 0x8c, 0x00, 0x01);
> - ast_set_index_reg_mask(ast, AST_IO_VGACRI, 0xb7, 0x00, 0x00);
> -
> - /* Enable RAMDAC for A1 */
> - reg = 0x04;
> - reg |= 0x20;
> - ast_set_index_reg_mask(ast, AST_IO_VGACRI, 0xb6, 0xff, reg);
> -}
> -
> int ast_2600_post(struct ast_device *ast)
> {
> int ret;
>
> - ast_2600_set_def_ext_reg(ast);
> + ast_2300_set_def_ext_reg(ast);
>
> if (ast->tx_chip == AST_TX_ASTDP) {
> ret = ast_dp_launch(ast);
> diff --git a/drivers/gpu/drm/ast/ast_post.h b/drivers/gpu/drm/ast/ast_post.h
> index 9f3108ddeae8..aa5d247bebe8 100644
> --- a/drivers/gpu/drm/ast/ast_post.h
> +++ b/drivers/gpu/drm/ast/ast_post.h
> @@ -47,7 +47,4 @@ void ast_2000_set_def_ext_reg(struct ast_device *ast);
> /* ast_2300.c */
> void ast_2300_set_def_ext_reg(struct ast_device *ast);
>
> -/* ast_2600.c */
> -void ast_2600_set_def_ext_reg(struct ast_device *ast);
> -
> #endif
More information about the dri-devel
mailing list