[arch-commits] Commit in nouveau-drm/trunk (3 files)
andyrtr at archlinux.org
andyrtr at archlinux.org
Sun Nov 1 21:37:58 UTC 2009
Date: Sunday, November 1, 2009 @ 16:37:58
Author: andyrtr
Revision: 57725
upgpkg: nouveau-drm 0.0.15_20091101-1
new snapshot, make nouveau-dri an optdep; add experimental patch to fix resolution detection with nv44 cards
Added:
nouveau-drm/trunk/fix_resolution_detection.patch
Modified:
nouveau-drm/trunk/PKGBUILD
nouveau-drm/trunk/nouveau-drm.install
--------------------------------+
PKGBUILD | 18 +++++++----
fix_resolution_detection.patch | 59 +++++++++++++++++++++++++++++++++++++++
nouveau-drm.install | 3 +
3 files changed, 73 insertions(+), 7 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2009-11-01 20:16:10 UTC (rev 57724)
+++ PKGBUILD 2009-11-01 21:37:58 UTC (rev 57725)
@@ -3,7 +3,7 @@
# Contributor: buddabrod <buddabrod at gmail.com>
pkgname=nouveau-drm
-_snapdate=20091008
+_snapdate=20091101
pkgver=0.0.15_${_snapdate} # see master/drivers/gpu/drm/nouveau/nouveau_drv.h for version
_kernver='2.6.31-ARCH'
pkgrel=1
@@ -14,17 +14,23 @@
#makedepends=('git' 'autoconf' 'pkgconfig')
install=${pkgname}.install
license=('GPL')
-options=('force')
+#options=('force')
source=(ftp://ftp.archlinux.org/other/$pkgname/master-${_snapdate}.tar.gz
#http://people.freedesktop.org/~pq/nouveau-drm/master.tar.gz
# get the Makefile from http://cgit.freedesktop.org/nouveau/linux-2.6/plain/nouveau/Makefile?h=master-compat
- Makefile)
-md5sums=('5b54442de27b76f7076b46dd803c65f1'
- 'b619729a9374b7172fc1a7ce59f7f3ad')
+ Makefile
+ fix_resolution_detection.patch)
+md5sums=('bff3fb394cedbf54564cdc242ca49f37'
+ 'b619729a9374b7172fc1a7ce59f7f3ad'
+ '47382868360f998213fb0e62fed00716')
+ # http://nouveau.freedesktop.org/wiki/InstallDRM
+
build() {
cd ${srcdir}/master
-
+ # try to fix http://bbs.archlinux.org/viewtopic.php?id=82363 -solved for my nv44 card
+ patch -Np0 -i ${srcdir}/fix_resolution_detection.patch || return 1
+
mkdir nouveau
cp $srcdir/Makefile ${srcdir}/master/nouveau/
cd nouveau
Added: fix_resolution_detection.patch
===================================================================
--- fix_resolution_detection.patch (rev 0)
+++ fix_resolution_detection.patch 2009-11-01 21:37:58 UTC (rev 57725)
@@ -0,0 +1,59 @@
+--- drivers/gpu/drm/nouveau/nv04_dac.c 2009-10-20 17:54:19.454045092 +0200
++++ drivers/gpu/drm/nouveau/nv04_dac.c.block3 2009-10-20 18:01:44.891084375 +0200
+@@ -223,6 +223,20 @@
+ saved_rtest_ctrl, temp, saved_gpio_ext = 0, routput;
+ int head, present = 0;
+
++nv_wr32(dev, 0x68252c, 0x100); /*363389.094484 write32 #1 NV11_PRAMDAC.OUTPUT_OR_2_3 <- {00000000000000000000000}, OUTPUT_SELECT_CRTC1 = 0x1, {0000000}, OUTPUT_DAC_ENABLE = 0x0*/
++nv_wr32(dev, 0x68252c, 0x100); /*363391.094548 write32 #1 NV11_PRAMDAC.OUTPUT_OR_2_3 <- {00000000000000000000000}, OUTPUT_SELECT_CRTC1 = 0x1, {0000000}, OUTPUT_DAC_ENABLE = 0x0*/
++nv_wr32(dev, 0x68252c, 0x101); /*363392.095582 write32 #1 NV11_PRAMDAC.OUTPUT_OR_2_3 <- {00000000000000000000000}, OUTPUT_SELECT_CRTC1 = 0x1, {0000000}, OUTPUT_DAC_ENABLE = 0x1*/
++nv_wr32(dev, 0x68252c, 0x101); /*363394.095650 write32 #1 NV11_PRAMDAC.OUTPUT_OR_2_3 <- {00000000000000000000000}, OUTPUT_SELECT_CRTC1 = 0x1, {0000000}, OUTPUT_DAC_ENABLE = 0x1*/
++nv_wr32(dev, 0x68252c, 0x100); /*363396.095714 write32 #1 NV11_PRAMDAC.OUTPUT_OR_2_3 <- {00000000000000000000000}, OUTPUT_SELECT_CRTC1 = 0x1, {0000000}, OUTPUT_DAC_ENABLE = 0x0*/
++nv_wr32(dev, 0x68252c, 0x101); /*363397.161792 write32 #1 NV11_PRAMDAC.OUTPUT_OR_2_3 <- {00000000000000000000000}, OUTPUT_SELECT_CRTC1 = 0x1, {0000000}, OUTPUT_DAC_ENABLE = 0x1*/
++nv_wr32(dev, 0x682610, 0x94050140); /*363399.161860 write32 #1 NV11_PRAMDAC[1].TEST_DATA <- 0x94050140*/
++nv_wr32(dev, 0x682610, 0x94050140); /*363400.161892 write32 #1 NV11_PRAMDAC[1].TEST_DATA <- 0x94050140*/
++nv_wr32(dev, 0x682608, 0xf0101000); /*363402.161956 write32 #1 NV11_PRAMDAC.TEST_CONTROL_OR_2_3 <- 0xf0101000*/
++nv_wr32(dev, 0x682608, 0x100000); /*363405.163058 write32 #1 NV11_PRAMDAC.TEST_CONTROL_OR_2_3 <- 0x00100000*/
++nv_wr32(dev, 0x68252c, 0x100); /*363406.163090 write32 #1 NV11_PRAMDAC.OUTPUT_OR_2_3 <- {00000000000000000000000}, OUTPUT_SELECT_CRTC1 = 0x1, {0000000}, OUTPUT_DAC_ENABLE = 0x0*/
++
++msleep(30);
++
+ #define RGB_TEST_DATA(r, g, b) (r << 0 | g << 10 | b << 20)
+ if (dcb->type == OUTPUT_TV) {
+ testval = RGB_TEST_DATA(0xa0, 0xa0, 0xa0);
+@@ -236,6 +250,8 @@
+ testval = dev_priv->vbios->dactestval;
+ }
+
++ testval = 0x94050140;
++
+ saved_rtest_ctrl = NVReadRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + regoffset);
+ NVWriteRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + regoffset,
+ saved_rtest_ctrl & ~NV_PRAMDAC_TEST_CONTROL_PWRDWN_DAC_OFF);
+@@ -251,8 +267,10 @@
+ if (dev_priv->chipset >= 0x34) {
+ saved_gpio_ext = NVReadCRTC(dev, 0, NV_PCRTC_GPIO_EXT);
+
++#if 0
+ NVWriteCRTC(dev, 0, NV_PCRTC_GPIO_EXT, (saved_gpio_ext & ~(3 << 20)) |
+ (dcb->type == OUTPUT_TV ? (1 << 20) : 0));
++#endif
+ }
+
+ msleep(4);
+@@ -267,13 +285,14 @@
+ #endif
+ /* nv driver and nv31 use 0xfffffeee, nv34 and 6600 use 0xfffffece */
+ routput = (saved_routput & 0xfffffece) | head << 8;
+-
++#if 0
+ if (nv_arch(dev) >= NV_40) {
+ if (dcb->type == OUTPUT_TV)
+ routput |= 1 << 20;
+ else
+ routput &= ~(1 << 20);
+ }
++#endif
+
+ NVWriteRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + regoffset, routput);
+ msleep(1);
Modified: nouveau-drm.install
===================================================================
--- nouveau-drm.install 2009-11-01 20:16:10 UTC (rev 57724)
+++ nouveau-drm.install 2009-11-01 21:37:58 UTC (rev 57725)
@@ -1,6 +1,7 @@
post_install() {
KERNEL_VERSION='2.6.31-ARCH'
- depmod -v $KERNEL_VERSION > /dev/null 2>&1
+ depmod -v $KERNEL_VERSION > /dev/null 2>&1
+ echo "if you are running kms in early mode please rebuild your initrd"
}
post_upgrade() {
More information about the arch-commits
mailing list