[PATCH 05/16] viafb: Determine type of 2D engine and store it in chip_info

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Jonathan Corbet
Date: Thursday, April 8, 2010 - 10:15 am

From: Harald Welte <laforge@gnumonks.org>

This will help us for the upcoming support for 2D acceleration using
the M1 engine.

[jc: fixed merge conflicts]
Signed-off-by: Harald Welte <HaraldWelte@viatech.com>
---
 drivers/video/via/chip.h |    8 ++++++++
 drivers/video/via/hw.c   |   15 +++++++++++++++
 2 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/drivers/video/via/chip.h b/drivers/video/via/chip.h
index 474f428..f799e2c 100644
--- a/drivers/video/via/chip.h
+++ b/drivers/video/via/chip.h
@@ -122,9 +122,17 @@ struct lvds_chip_information {
 	int i2c_port;
 };
 
+/* The type of 2D engine */
+enum via_2d_engine {
+	VIA_2D_ENG_H2,
+	VIA_2D_ENG_H5,
+	VIA_2D_ENG_M1,
+};
+
 struct chip_information {
 	int gfx_chip_name;
 	int gfx_chip_revision;
+	enum via_2d_engine twod_engine;
 	struct tmds_chip_information tmds_chip_info;
 	struct lvds_chip_information lvds_chip_info;
 	struct lvds_chip_information lvds_chip_info2;
diff --git a/drivers/video/via/hw.c b/drivers/video/via/hw.c
index f2e4bda..963704e 100644
--- a/drivers/video/via/hw.c
+++ b/drivers/video/via/hw.c
@@ -2034,6 +2034,21 @@ static void init_gfx_chip_info(struct pci_dev *pdev,
 				CX700_REVISION_700;
 		}
 	}
+
+	/* Determine which 2D engine we have */
+	switch (viaparinfo->chip_info->gfx_chip_name) {
+	case UNICHROME_VX800:
+	case UNICHROME_VX855:
+		viaparinfo->chip_info->twod_engine = VIA_2D_ENG_M1;
+		break;
+	case UNICHROME_K8M890:
+	case UNICHROME_P4M900:
+		viaparinfo->chip_info->twod_engine = VIA_2D_ENG_H5;
+		break;
+	default:
+		viaparinfo->chip_info->twod_engine = VIA_2D_ENG_H2;
+		break;
+	}
 }
 
 static void init_tmds_chip_info(void)
-- 
1.7.0.1

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC] Initial OLPC Viafb merge, Jonathan Corbet, (Thu Apr 8, 10:15 am)
[PATCH 02/16] viafb: use proper pci config API, Jonathan Corbet, (Thu Apr 8, 10:15 am)
[PATCH 04/16] viafb: Retain GEMODE reserved bits, Jonathan Corbet, (Thu Apr 8, 10:15 am)
[PATCH 05/16] viafb: Determine type of 2D engine and store ..., Jonathan Corbet, (Thu Apr 8, 10:15 am)
[PATCH 11/16] Minimal support for viafb suspend/resume, Jonathan Corbet, (Thu Apr 8, 10:15 am)
[PATCH 14/16] Remove cursor restore hack in viafb, Jonathan Corbet, (Thu Apr 8, 10:15 am)
[PATCH 15/16] viafb: rework suspend/resume, Jonathan Corbet, (Thu Apr 8, 10:15 am)
[PATCH 16/16] viafb: Only suspend/resume on VX855, Jonathan Corbet, (Thu Apr 8, 10:15 am)
Re: [PATCH 01/16] [FB] viafb: Fix various resource leaks d ..., Florian Tobias Schan ..., (Thu Apr 8, 11:22 am)
Re: [PATCH 02/16] viafb: use proper pci config API, Florian Tobias Schan ..., (Thu Apr 8, 11:42 am)
Re: [PATCH 03/16] viafb: Unmap the frame buffer on initial ..., Florian Tobias Schan ..., (Thu Apr 8, 11:55 am)
Re: [PATCH 04/16] viafb: Retain GEMODE reserved bits, Florian Tobias Schan ..., (Thu Apr 8, 8:07 pm)
Re: [PATCH 05/16] viafb: Determine type of 2D engine and s ..., Florian Tobias Schan ..., (Thu Apr 8, 8:20 pm)
Re: [PATCH 06/16] viafb: complete support for VX800/VX855 ..., Florian Tobias Schan ..., (Thu Apr 8, 9:21 pm)
Re: [RFC] Initial OLPC Viafb merge, Florian Tobias Schan ..., (Thu Apr 8, 10:43 pm)
Re: [RFC] Initial OLPC Viafb merge, Jonathan Corbet, (Fri Apr 9, 11:46 am)
Re: [PATCH 02/16] viafb: use proper pci config API, Jonathan Corbet, (Fri Apr 9, 12:46 pm)
Re: [PATCH 04/16] viafb: Retain GEMODE reserved bits, Jonathan Corbet, (Fri Apr 9, 12:59 pm)
Re: [PATCH 04/16] viafb: Retain GEMODE reserved bits, Florian Tobias Schan ..., (Fri Apr 9, 1:23 pm)
Re: [PATCH 04/16] viafb: Retain GEMODE reserved bits, Jonathan Corbet, (Fri Apr 9, 1:30 pm)
Re: [PATCH 05/16] viafb: Determine type of 2D engine and s ..., Florian Tobias Schan ..., (Fri Apr 9, 1:34 pm)
Re: [PATCH 07/16] viafb: Add 1200x900 DCON/LCD panel modes ..., Florian Tobias Schan ..., (Fri Apr 9, 2:27 pm)
Re: [PATCH 08/16] viafb: Do not probe for LVDS/TMDS on OLP ..., Florian Tobias Schan ..., (Fri Apr 9, 2:40 pm)
Re: [PATCH 09/16] viafb: rework the I2C support in the VIA ..., Florian Tobias Schan ..., (Fri Apr 9, 3:07 pm)
Re: [PATCH 10/16] suppress verbose debug messages: change ..., Florian Tobias Schan ..., (Fri Apr 9, 3:09 pm)
Re: [RFC] Initial OLPC Viafb merge, Florian Tobias Schan ..., (Fri Apr 9, 4:32 pm)
Re: [RFC] Initial OLPC Viafb merge, Jonathan Corbet, (Fri Apr 9, 5:27 pm)
Re: [PATCH 08/16] viafb: Do not probe for LVDS/TMDS on OLP ..., Florian Tobias Schan ..., (Fri Apr 9, 5:42 pm)
Re: [RFC] Initial OLPC Viafb merge, Florian Tobias Schan ..., (Fri Apr 9, 6:02 pm)
Re: [PATCH 02/16] viafb: use proper pci config API, Harald Welte, (Fri Apr 9, 11:41 pm)
Re: [RFC] Initial OLPC Viafb merge, Bruno Prémont, (Sat Apr 10, 1:52 am)
Re: [RFC] Initial OLPC Viafb merge, Florian Tobias Schan ..., (Mon Apr 12, 8:03 pm)
Re: [PATCH 05/16] viafb: Determine type of 2D engine and s ..., Florian Tobias Schan ..., (Sun Apr 18, 11:05 am)
Re: [PATCH 07/16] viafb: Add 1200x900 DCON/LCD panel modes ..., Florian Tobias Schan ..., (Sun Apr 18, 11:24 am)
Re: [RFC] Initial OLPC Viafb merge, Jonathan Corbet, (Wed Apr 21, 1:37 pm)