@@ -76,7 +76,22 @@ static void ast_detect_tx_chip(struct ast_device *ast, bool need_post)
76
76
};
77
77
78
78
struct drm_device * dev = & ast -> base ;
79
- u8 jreg ;
79
+ u8 jreg , vgacrd1 ;
80
+
81
+ /*
82
+ * Several of the listed TX chips are not explicitly supported
83
+ * by the ast driver. If these exist in real-world devices, they
84
+ * are most likely reported as VGA or SIL164 outputs. We warn here
85
+ * to get bug reports for these devices. If none come in for some
86
+ * time, we can begin to fail device probing on these values.
87
+ */
88
+ vgacrd1 = ast_get_index_reg_mask (ast , AST_IO_VGACRI , 0xd1 , AST_IO_VGACRD1_TX_TYPE_MASK );
89
+ drm_WARN (dev , vgacrd1 == AST_IO_VGACRD1_TX_ITE66121_VBIOS ,
90
+ "ITE IT66121 detected, 0x%x, Gen%lu\n" , vgacrd1 , AST_GEN (ast ));
91
+ drm_WARN (dev , vgacrd1 == AST_IO_VGACRD1_TX_CH7003_VBIOS ,
92
+ "Chrontel CH7003 detected, 0x%x, Gen%lu\n" , vgacrd1 , AST_GEN (ast ));
93
+ drm_WARN (dev , vgacrd1 == AST_IO_VGACRD1_TX_ANX9807_VBIOS ,
94
+ "Analogix ANX9807 detected, 0x%x, Gen%lu\n" , vgacrd1 , AST_GEN (ast ));
80
95
81
96
/* Check 3rd Tx option (digital output afaik) */
82
97
ast -> tx_chip = AST_TX_NONE ;
0 commit comments