[PATCH 10/10] drm/ast: Gen7: Switch default registers to gen4+ state
Thomas Zimmermann
tzimmermann at suse.de
Wed Jul 2 13:12:58 UTC 2025
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.
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
--
2.50.0
More information about the dri-devel
mailing list