diff --git a/915resolution.spec b/915resolution.spec index 3945c56..d7628e4 100644 --- a/915resolution.spec +++ b/915resolution.spec @@ -1,6 +1,6 @@ Name: 915resolution Version: 0.5.3 -Release: 2%{?dist} +Release: 4%{?dist} Summary: Intel video BIOS hack to support certain resolutions Group: User Interface/X Hardware Support @@ -10,6 +10,11 @@ Source0: http://www.geocities.com/stomljen/%{name}-%{version}.tar.gz Source1: %{name}-init Source2: %{name}-config Source3: %{name}-pm-hook + +# support for additional chipsets +Patch0: 965GM.patch +Patch1: E7221.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # this doesn't make much sense on ppc. That, and it fails to build :) @@ -41,6 +46,8 @@ differs substantially. 915resolution's code base is much simpler. %prep %setup -q +%patch0 -p1 +%patch1 -p1 # keep rpmlint from complaining.... chmod -x dump_bios @@ -64,9 +71,9 @@ install -m 0755 -T %{SOURCE1} \ mkdir -p %{buildroot}%{_sysconfdir}/sysconfig install -m 0644 -T %{SOURCE2} \ %{buildroot}%{_sysconfdir}/sysconfig/915resolution -mkdir -p %{buildroot}%{_sysconfdir}/pm/hooks +mkdir -p %{buildroot}%{_sysconfdir}/pm/sleep.d install -m 0755 -T %{SOURCE3} \ - %{buildroot}%{_sysconfdir}/pm/hooks/99resolution + %{buildroot}%{_sysconfdir}/pm/sleep.d/99resolution %clean @@ -93,11 +100,18 @@ fi %doc LICENSE.txt README* changes.log chipset_info.txt dump_bios %{_sbindir}/* %{_sysconfdir}/rc.d/init.d/* -%{_sysconfdir}/pm/hooks/* +%{_sysconfdir}/pm/sleep.d/* %config(noreplace) %{_sysconfdir}/sysconfig/* %changelog +* Sat Dec 15 2007 Chris Weyl 0.5.3-4 +- add support for the E7221 chipset (BZ#425789) +- fix suspend/resume hook placement (BZ#253453) + +* Tue Nov 13 2007 Chris Weyl 0.5.3-3 +- incorporate patch from bz #331411 + * Tue Aug 21 2007 Chris Weyl 0.5.3-2 - bump diff --git a/965GM.patch b/965GM.patch new file mode 100644 index 0000000..908ef25 --- /dev/null +++ b/965GM.patch @@ -0,0 +1,54 @@ +--- 915resolution-0.5.3/915resolution.c.lr 2007-10-14 19:35:46.000000000 +0200 ++++ 915resolution-0.5.3/915resolution.c 2007-10-14 19:38:49.000000000 +0200 +@@ -56,12 +56,12 @@ + + typedef enum { + CT_UNKWN, CT_830, CT_845G, CT_855GM, CT_865G, CT_915G, CT_915GM, CT_945G, CT_945GM, +- CT_946GZ, CT_G965, CT_Q965 ++ CT_946GZ, CT_G965, CT_965GM, CT_Q965 + } chipset_type; + + char * chipset_type_names[] = { + "UNKNOWN", "830", "845G", "855GM", "865G", "915G", "915GM", "945G", "945GM", +- "946GZ", "G965", "Q965" ++ "946GZ", "G965", "965GM", "Q965" + }; + + typedef enum { +@@ -221,6 +221,10 @@ + type = CT_G965; + break; + ++ case 0x2a008086: ++ type = CT_965GM; ++ break; ++ + case 0x29908086: + type = CT_Q965; + break; +@@ -510,6 +514,7 @@ + case CT_945GM: + case CT_946GZ: + case CT_G965: ++ case CT_965GM: + case CT_Q965: + outl(0x80000090, 0xcf8); + map->b1 = inb(0xcfd); +@@ -550,6 +555,7 @@ + case CT_945GM: + case CT_946GZ: + case CT_G965: ++ case CT_965GM: + case CT_Q965: + outl(0x80000090, 0xcf8); + outb(map->b1, 0xcfd); +@@ -809,6 +815,9 @@ + else if (!strcmp(argv[index], "G965")) { + *forced_chipset = CT_G965; + } ++ else if (!strcmp(argv[index], "965GM")) { ++ *forced_chipset = CT_965GM; ++ } + else if (!strcmp(argv[index], "Q965")) { + *forced_chipset = CT_Q965; + } diff --git a/E7221.patch b/E7221.patch new file mode 100644 index 0000000..b0be970 --- /dev/null +++ b/E7221.patch @@ -0,0 +1,54 @@ +--- 915resolution-0.5.3/915resolution.c.lr 2007-10-14 19:35:46.000000000 +0200 ++++ 915resolution-0.5.3/915resolution.c 2007-10-14 19:38:49.000000000 +0200 +@@ -55,12 +55,12 @@ typedef unsigned char boolean; + typedef unsigned int cardinal; + + typedef enum { +- CT_UNKWN, CT_830, CT_845G, CT_855GM, CT_865G, CT_915G, CT_915GM, CT_945G, CT_945GM, ++ CT_UNKWN, CT_830, CT_845G, CT_855GM, CT_865G, CT_915G, CT_E7221, CT_915GM, CT_945G, CT_945GM, + CT_946GZ, CT_G965, CT_965GM, CT_Q965 + } chipset_type; + + char * chipset_type_names[] = { +- "UNKNOWN", "830", "845G", "855GM", "865G", "915G", "915GM", "945G", "945GM", ++ "UNKNOWN", "830", "845G", "855GM", "865G", "915G", "E7221 (i915)", "915GM", "945G", "945GM", + "946GZ", "G965", "965GM", "Q965" + }; + +@@ -201,6 +201,10 @@ chipset_type get_chipset(cardinal id) { + type = CT_915G; + break; + ++ case 0x25888086: ++ type = CT_E7221; ++ break; ++ + case 0x25908086: + type = CT_915GM; + break; +@@ -509,6 +513,7 @@ void unlock_vbios(vbios_map * map) { + case CT_845G: + case CT_865G: + case CT_915G: ++ case CT_E7221: + case CT_915GM: + case CT_945G: + case CT_945GM: +@@ -550,6 +555,7 @@ void relock_vbios(vbios_map * map) { + case CT_845G: + case CT_865G: + case CT_915G: ++ case CT_E7221: + case CT_915GM: + case CT_945G: + case CT_945GM: +@@ -800,6 +806,9 @@ int parse_args(int argc, char *argv[], c + else if (!strcmp(argv[index], "915G")) { + *forced_chipset = CT_915G; + } ++ else if (!strcmp(argv[index], "E7221")) { ++ *forced_chipset = CT_E7221; ++ } + else if (!strcmp(argv[index], "915GM")) { + *forced_chipset = CT_915GM; + } diff --git a/Makefile b/Makefile deleted file mode 100644 index e2aa3ff..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: 915resolution -# $Id: Makefile,v 1.1 2006/08/02 04:19:54 cweyl Exp $ -NAME := 915resolution -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON)