Commit 05f13f5b authored by Thomas Zimmermann's avatar Thomas Zimmermann
Browse files

drm/ast: Remove unused code paths for AST 1180



The ast driver contains code paths for AST 1180 chips. The chip is not
supported and the rsp code has never been tested. Simplify the driver by
removing the AST 1180 code.

Signed-off-by: default avatarThomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: default avatarEmil Velikov <emil.l.velikov@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200617080340.29584-2-tzimmermann@suse.de
parent b3bfcdf8
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -59,7 +59,6 @@ static struct drm_driver driver;
static const struct pci_device_id pciidlist[] = {
	AST_VGA_DEVICE(PCI_CHIP_AST2000, NULL),
	AST_VGA_DEVICE(PCI_CHIP_AST2100, NULL),
	/*	AST_VGA_DEVICE(PCI_CHIP_AST1180, NULL), - don't bind to 1180 for now */
	{0, 0, 0},
};

+0 −2
Original line number Diff line number Diff line
@@ -52,7 +52,6 @@

#define PCI_CHIP_AST2000 0x2000
#define PCI_CHIP_AST2100 0x2010
#define PCI_CHIP_AST1180 0x1180


enum ast_chip {
@@ -64,7 +63,6 @@ enum ast_chip {
	AST2300,
	AST2400,
	AST2500,
	AST1180,
};

enum ast_tx_chip {
+39 −50
Original line number Diff line number Diff line
@@ -142,10 +142,6 @@ static int ast_detect_chip(struct drm_device *dev, bool *need_post)
	ast_detect_config_mode(dev, &scu_rev);

	/* Identify chipset */
	if (dev->pdev->device == PCI_CHIP_AST1180) {
		ast->chip = AST1100;
		DRM_INFO("AST 1180 detected\n");
	} else {
	if (dev->pdev->revision >= 0x40) {
		ast->chip = AST2500;
		DRM_INFO("AST 2500 detected\n");
@@ -179,13 +175,9 @@ static int ast_detect_chip(struct drm_device *dev, bool *need_post)
		ast->chip = AST2000;
		DRM_INFO("AST 2000 detected\n");
	}
	}

	/* Check if we support wide screen */
	switch (ast->chip) {
	case AST1180:
		ast->support_wide_screen = true;
		break;
	case AST2000:
		ast->support_wide_screen = false;
		break;
@@ -469,7 +461,6 @@ int ast_driver_load(struct drm_device *dev, unsigned long flags)
	if (need_post)
		ast_post_gpu(dev);

	if (ast->chip != AST1180) {
	ret = ast_get_dram_info(dev);
	if (ret)
		goto out_free;
@@ -477,7 +468,6 @@ int ast_driver_load(struct drm_device *dev, unsigned long flags)
	DRM_INFO("dram MCLK=%u Mhz type=%d bus_width=%d size=%08x\n",
		 ast->mclk, ast->dram_type,
		 ast->dram_bus_width, ast->vram_size);
	}

	ret = ast_mm_init(ast);
	if (ret)
@@ -496,8 +486,7 @@ int ast_driver_load(struct drm_device *dev, unsigned long flags)
	    ast->chip == AST2200 ||
	    ast->chip == AST2300 ||
	    ast->chip == AST2400 ||
	    ast->chip == AST2500 ||
	    ast->chip == AST1180) {
	    ast->chip == AST2500) {
		dev->mode_config.max_width = 1920;
		dev->mode_config.max_height = 2048;
	} else {
+1 −9
Original line number Diff line number Diff line
@@ -768,9 +768,6 @@ static void ast_crtc_dpms(struct drm_crtc *crtc, int mode)
{
	struct ast_private *ast = crtc->dev->dev_private;

	if (ast->chip == AST1180)
		return;

	/* TODO: Maybe control display signal generation with
	 *       Sync Enable (bit CR17.7).
	 */
@@ -797,11 +794,6 @@ static int ast_crtc_helper_atomic_check(struct drm_crtc *crtc,
	const struct drm_format_info *format;
	bool succ;

	if (ast->chip == AST1180) {
		DRM_ERROR("AST 1180 modesetting not supported\n");
		return -EINVAL;
	}

	if (!state->enable)
		return 0; /* no mode checks if CRTC is being disabled */

@@ -1043,7 +1035,7 @@ static enum drm_mode_status ast_mode_valid(struct drm_connector *connector,

		if ((ast->chip == AST2100) || (ast->chip == AST2200) ||
		    (ast->chip == AST2300) || (ast->chip == AST2400) ||
		    (ast->chip == AST2500) || (ast->chip == AST1180)) {
		    (ast->chip == AST2500)) {
			if ((mode->hdisplay == 1920) && (mode->vdisplay == 1080))
				return MODE_OK;

+3 −7
Original line number Diff line number Diff line
@@ -58,14 +58,10 @@ bool ast_is_vga_enabled(struct drm_device *dev)
	struct ast_private *ast = dev->dev_private;
	u8 ch;

	if (ast->chip == AST1180) {
		/* TODO 1180 */
	} else {
	ch = ast_io_read8(ast, AST_IO_VGA_ENABLE_PORT);

	return !!(ch & 0x01);
}
	return false;
}

static const u8 extreginfo[] = { 0x0f, 0x04, 0x1c, 0xff };
static const u8 extreginfo_ast2300a0[] = { 0x0f, 0x04, 0x1c, 0xff };