drm/ast: Remove unused value dp501_maxclk
authorThomas Zimmermann <tzimmermann@suse.de>
Mon, 7 Feb 2022 14:15:39 +0000 (15:15 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Tue, 8 Feb 2022 12:38:46 +0000 (13:38 +0100)
Remove reading the link-rate. The value is maintained by the connector
code but never used.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220207141544.30015-5-tzimmermann@suse.de
drivers/gpu/drm/ast/ast_dp501.c
drivers/gpu/drm/ast/ast_drv.h
drivers/gpu/drm/ast/ast_mode.c

index cd93c44..204c926 100644 (file)
@@ -272,64 +272,6 @@ static bool ast_launch_m68k(struct drm_device *dev)
        return true;
 }
 
-u8 ast_get_dp501_max_clk(struct drm_device *dev)
-{
-       struct ast_private *ast = to_ast_private(dev);
-       u32 boot_address, offset, data;
-       u8 linkcap[4], linkrate, linklanes, maxclk = 0xff;
-       u32 *plinkcap;
-
-       if (ast->config_mode == ast_use_p2a) {
-               boot_address = get_fw_base(ast);
-
-               /* validate FW version */
-               offset = AST_DP501_GBL_VERSION;
-               data = ast_mindwm(ast, boot_address + offset);
-               if ((data & AST_DP501_FW_VERSION_MASK) != AST_DP501_FW_VERSION_1) /* version: 1x */
-                       return maxclk;
-
-               /* Read Link Capability */
-               offset  = AST_DP501_LINKRATE;
-               plinkcap = (u32 *)linkcap;
-               *plinkcap  = ast_mindwm(ast, boot_address + offset);
-               if (linkcap[2] == 0) {
-                       linkrate = linkcap[0];
-                       linklanes = linkcap[1];
-                       data = (linkrate == 0x0a) ? (90 * linklanes) : (54 * linklanes);
-                       if (data > 0xff)
-                               data = 0xff;
-                       maxclk = (u8)data;
-               }
-       } else {
-               if (!ast->dp501_fw_buf)
-                       return AST_DP501_DEFAULT_DCLK;  /* 1024x768 as default */
-
-               /* dummy read */
-               offset = 0x0000;
-               data = readl(ast->dp501_fw_buf + offset);
-
-               /* validate FW version */
-               offset = AST_DP501_GBL_VERSION;
-               data = readl(ast->dp501_fw_buf + offset);
-               if ((data & AST_DP501_FW_VERSION_MASK) != AST_DP501_FW_VERSION_1) /* version: 1x */
-                       return maxclk;
-
-               /* Read Link Capability */
-               offset = AST_DP501_LINKRATE;
-               plinkcap = (u32 *)linkcap;
-               *plinkcap = readl(ast->dp501_fw_buf + offset);
-               if (linkcap[2] == 0) {
-                       linkrate = linkcap[0];
-                       linklanes = linkcap[1];
-                       data = (linkrate == 0x0a) ? (90 * linklanes) : (54 * linklanes);
-                       if (data > 0xff)
-                               data = 0xff;
-                       maxclk = (u8)data;
-               }
-       }
-       return maxclk;
-}
-
 bool ast_dp501_read_edid(struct drm_device *dev, u8 *ediddata)
 {
        struct ast_private *ast = to_ast_private(dev);
index 6e77be1..479bb12 100644 (file)
@@ -171,7 +171,6 @@ struct ast_private {
        } config_mode;
 
        enum ast_tx_chip tx_chip_type;
-       u8 dp501_maxclk;
        u8 *dp501_fw_addr;
        const struct firmware *dp501_fw;        /* dp501 fw */
 };
index ab0a86c..a70158b 100644 (file)
@@ -1284,16 +1284,15 @@ static int ast_get_modes(struct drm_connector *connector)
        int ret;
 
        if (ast->tx_chip_type == AST_TX_DP501) {
-               ast->dp501_maxclk = 0xff;
                edid = kmalloc(128, GFP_KERNEL);
                if (!edid)
                        return -ENOMEM;
 
                flags = ast_dp501_read_edid(connector->dev, (u8 *)edid);
-               if (flags)
-                       ast->dp501_maxclk = ast_get_dp501_max_clk(connector->dev);
-               else
+               if (!flags) {
                        kfree(edid);
+                       edid = NULL;
+               }
        }
        if (!flags && ast_connector->i2c)
                edid = drm_get_edid(connector, &ast_connector->i2c->adapter);