From 05b124410c65445193d54dc496a0ec1f230e95a5 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Wed, 20 May 2009 01:36:03 +0800 Subject: [PATCH] --- yaml --- r: 193552 b: refs/heads/master c: 107ea34db4560e6db41a9da90128ccc5e60f6b21 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/video/via/chip.h | 8 ++++++++ trunk/drivers/video/via/hw.c | 15 +++++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index b20046b7dc97..44ef5b24d49d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f1b99aa9dbe908b2839885aa999d6e8512fe1040 +refs/heads/master: 107ea34db4560e6db41a9da90128ccc5e60f6b21 diff --git a/trunk/drivers/video/via/chip.h b/trunk/drivers/video/via/chip.h index 8c06bd3c0b4d..d9b6e06e0700 100644 --- a/trunk/drivers/video/via/chip.h +++ b/trunk/drivers/video/via/chip.h @@ -121,9 +121,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/trunk/drivers/video/via/hw.c b/trunk/drivers/video/via/hw.c index c94bcce71eaf..ae664fbd7e80 100644 --- a/trunk/drivers/video/via/hw.c +++ b/trunk/drivers/video/via/hw.c @@ -2016,6 +2016,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)