[arch-commits] Commit in nouveau-drm/trunk (3 files)

andyrtr at archlinux.org andyrtr at archlinux.org
Sat Nov 21 17:41:14 UTC 2009


    Date: Saturday, November 21, 2009 @ 12:41:14
  Author: andyrtr
Revision: 59244

upgpkg: nouveau-drm 0.0.15_20091120-1
    new snapshot 20091120, tv detection fixes are now upstream

Modified:
  nouveau-drm/trunk/PKGBUILD
Deleted:
  nouveau-drm/trunk/fix_resolution_detection.patch
  nouveau-drm/trunk/tvdac_load_detection.patch

--------------------------------+
 PKGBUILD                       |   14 +---
 fix_resolution_detection.patch |   80 -------------------------
 tvdac_load_detection.patch     |  121 ---------------------------------------
 3 files changed, 5 insertions(+), 210 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2009-11-21 16:56:39 UTC (rev 59243)
+++ PKGBUILD	2009-11-21 17:41:14 UTC (rev 59244)
@@ -3,7 +3,7 @@
 # Contributor: buddabrod <buddabrod at gmail.com>
 
 pkgname=nouveau-drm
-_snapdate=20091111
+_snapdate=20091120
 pkgver=0.0.15_${_snapdate} # see master/drivers/gpu/drm/nouveau/nouveau_drv.h for version
 _kernver='2.6.31-ARCH'
 pkgrel=1
@@ -16,18 +16,14 @@
 license=('GPL')
 #options=('force')
 source=(ftp://ftp.archlinux.org/other/$pkgname/master-${_snapdate}.tar.gz 
-	#http://people.freedesktop.org/~pq/nouveau-drm/master.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
-	tvdac_load_detection.patch)
-md5sums=('bbd406c6b8d93defbe17d4f4b477b500'
-         'b619729a9374b7172fc1a7ce59f7f3ad'
-         'bf0f9dcbcecd42f8e8f10b6ee786fb99')
+	Makefile)
+md5sums=('4dda39e216216b55e78e7a4586c137c8'
+         'b619729a9374b7172fc1a7ce59f7f3ad')
 
 build() {
   cd ${srcdir}/master
-  # try to fix http://bbs.archlinux.org/viewtopic.php?id=82363
-  patch -Np1 -i ${srcdir}/tvdac_load_detection.patch || return 1
   
   mkdir nouveau
   cp $srcdir/Makefile ${srcdir}/master/nouveau/

Deleted: fix_resolution_detection.patch
===================================================================
--- fix_resolution_detection.patch	2009-11-21 16:56:39 UTC (rev 59243)
+++ fix_resolution_detection.patch	2009-11-21 17:41:14 UTC (rev 59244)
@@ -1,80 +0,0 @@
-diff --git a/drivers/gpu/drm/nouveau/nv04_dac.c b/drivers/gpu/drm/nouveau/nv04_dac.c
-index 587b6f5..3aedd20 100644
---- a/drivers/gpu/drm/nouveau/nv04_dac.c
-+++ b/drivers/gpu/drm/nouveau/nv04_dac.c
-@@ -236,29 +236,42 @@ enum drm_connector_status nv17_dac_detect(struct drm_encoder *encoder,
- 			testval = dev_priv->vbios->dactestval;
- 	}
- 
-+	nv_wr32(dev, 0x60081c, 0x22255256); /*216780.520000   write32 #1 NV_PCRTC[0].CRTC_081C <- 0x22255256*/
-+	nv_wr32(dev, 0x60281c, 0x22255256); /*216781.520033   write32 #1 NV_PCRTC[1].CRTC_081C <- 0x22255256*/
-+	nv_wr32(dev, 0x1084, 0x205749); /*216786.521228   write32 #1 NV_PBUS+0x84 <- 0x00205749*/
-+	nv_wr32(dev, 0x1588, 0x88802015); /*216796.521681   write32 #1 NV_PBUS+0x588 <- 0x88802015*/
-+	nv_wr32(dev, 0x682608, 0x20100000); /*216798.521747   write32 #1 NV11_PRAMDAC.TEST_CONTROL_OR_2_3 <- 0x20100000*/
-+	nv_wr32(dev, 0x68252c, 0x111);
-+	msleep(10);
-+
- 	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);
- 
- 	saved_powerctrl_2 = nvReadMC(dev, NV_PBUS_POWERCTRL_2);
- 
--	nvWriteMC(dev, NV_PBUS_POWERCTRL_2, saved_powerctrl_2 & 0xd7ffffff);
-+	nvWriteMC(dev, NV_PBUS_POWERCTRL_2, saved_powerctrl_2 /*& 0xd7ffffff */);
- 	if (regoffset == 0x68) {
- 		saved_powerctrl_4 = nvReadMC(dev, NV_PBUS_POWERCTRL_4);
-+#if 0
- 		nvWriteMC(dev, NV_PBUS_POWERCTRL_4, saved_powerctrl_4 & 0xffffffcf);
-+#endif
- 	}
- 
- 	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);
-+	msleep(10);
- 
- 	saved_routput = NVReadRAMDAC(dev, 0, NV_PRAMDAC_DACCLK + regoffset);
--	head = (saved_routput & 0x100) >> 8;
-+	/* head = (saved_routput & 0x100) >> 8; */
-+	head = 1;
- #if 0
- 	/* if there's a spare crtc, using it will minimise flicker for the case
- 	 * where the in-use crtc is in use by an off-chip tmds encoder */
-@@ -267,13 +280,14 @@ enum drm_connector_status nv17_dac_detect(struct drm_encoder *encoder,
- #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);
-@@ -286,10 +300,12 @@ enum drm_connector_status nv17_dac_detect(struct drm_encoder *encoder,
- 	temp = NVReadRAMDAC(dev, head, NV_PRAMDAC_TEST_CONTROL);
- 	NVWriteRAMDAC(dev, head, NV_PRAMDAC_TEST_CONTROL,
- 		      temp | NV_PRAMDAC_TEST_CONTROL_TP_INS_EN_ASSERTED);
--	msleep(5);
-+	msleep(10);
- 
- 	temp = NVReadRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + regoffset);
- 
-+	printk("NV_PRAMDAC_TEST_CONTROL + %x: %x\n", regoffset, temp);
-+
- 	if (dcb->type == OUTPUT_TV)
- 		present = (nv17_tv_detect(encoder, connector, (temp >> 28) & 0xe)
- 			   == connector_status_connected);

Deleted: tvdac_load_detection.patch
===================================================================
--- tvdac_load_detection.patch	2009-11-21 16:56:39 UTC (rev 59243)
+++ tvdac_load_detection.patch	2009-11-21 17:41:14 UTC (rev 59244)
@@ -1,121 +0,0 @@
-diff --git a/drivers/gpu/drm/nouveau/nv04_dac.c b/drivers/gpu/drm/nouveau/nv04_dac.c
-index 587b6f5..80a1636 100644
---- a/drivers/gpu/drm/nouveau/nv04_dac.c
-+++ b/drivers/gpu/drm/nouveau/nv04_dac.c
-@@ -220,7 +220,8 @@ enum drm_connector_status nv17_dac_detect(struct drm_encoder *encoder,
- 	struct dcb_entry *dcb = nouveau_encoder(encoder)->dcb;
- 	uint32_t testval, regoffset = nv04_dac_output_offset(encoder);
- 	uint32_t saved_powerctrl_2 = 0, saved_powerctrl_4 = 0, saved_routput,
--		saved_rtest_ctrl, temp, saved_gpio_ext = 0, routput;
-+		saved_rtest_ctrl, temp, saved_gpio_ext = 0, saved_pcrtc_850 = 0,
-+		routput;
- 	int head, present = 0;
- 
- #define RGB_TEST_DATA(r, g, b) (r << 0 | g << 10 | b << 20)
-@@ -248,11 +249,31 @@ enum drm_connector_status nv17_dac_detect(struct drm_encoder *encoder,
- 		nvWriteMC(dev, NV_PBUS_POWERCTRL_4, saved_powerctrl_4 & 0xffffffcf);
- 	}
- 
--	if (dev_priv->chipset >= 0x34) {
-+	if (nv_arch(dev) >= NV_30) {
- 		saved_gpio_ext = NVReadCRTC(dev, 0, NV_PCRTC_GPIO_EXT);
-+		printk("PCRTC[0]+GPIO_EXT: %x\n", saved_gpio_ext);
-+	}
-+
-+	if (nv_arch(dev) >= NV_40) {
-+		saved_pcrtc_850 = NVReadCRTC(dev, 0, NV_PCRTC_850);
-+		printk("PCRTC[0]+850: %x\n", saved_pcrtc_850);
-+
-+	}
- 
--		NVWriteCRTC(dev, 0, NV_PCRTC_GPIO_EXT, (saved_gpio_ext & ~(3 << 20)) |
-+	if ((dev_priv->chipset >= 0x34 && dev_priv->chipset < 0x44)  ||
-+	    (nv_arch(dev) == NV_30 && !dev_priv->VBIOS.is_mobile)) {
-+		NVWriteCRTC(dev, 0, NV_PCRTC_GPIO_EXT,
-+			    (saved_gpio_ext & ~(3 << 20)) |
- 			    (dcb->type == OUTPUT_TV ? (1 << 20) : 0));
-+
-+	} else if (dev_priv->chipset >= 0x44) {
-+		NVWriteCRTC(dev, 0, NV_PCRTC_850,
-+			    (saved_pcrtc_850 & ~0xf0) |
-+			    (dcb->type == OUTPUT_TV ? 0x50 : 0x00));
-+
-+		NVWriteCRTC(dev, 0, NV_PCRTC_GPIO_EXT,
-+			    (saved_gpio_ext & ~0xf0) |
-+			    (dcb->type == OUTPUT_TV ? 0x50 : 0x00));
- 	}
- 
- 	msleep(4);
-@@ -268,7 +289,7 @@ enum drm_connector_status nv17_dac_detect(struct drm_encoder *encoder,
- 	/* nv driver and nv31 use 0xfffffeee, nv34 and 6600 use 0xfffffece */
- 	routput = (saved_routput & 0xfffffece) | head << 8;
- 
--	if (nv_arch(dev) >= NV_40) {
-+	if (dev_priv->chipset >= 0x4b) {
- 		if (dcb->type == OUTPUT_TV)
- 			routput |= 1 << 20;
- 		else
-@@ -289,6 +310,7 @@ enum drm_connector_status nv17_dac_detect(struct drm_encoder *encoder,
- 	msleep(5);
- 
- 	temp = NVReadRAMDAC(dev, 0, NV_PRAMDAC_TEST_CONTROL + regoffset);
-+	printk("NV_PRAMDAC_TEST_CONTROL + %x: %x\n", regoffset, temp);
- 
- 	if (dcb->type == OUTPUT_TV)
- 		present = (nv17_tv_detect(encoder, connector, (temp >> 28) & 0xe)
-@@ -308,8 +330,11 @@ enum drm_connector_status nv17_dac_detect(struct drm_encoder *encoder,
- 		nvWriteMC(dev, NV_PBUS_POWERCTRL_4, saved_powerctrl_4);
- 	nvWriteMC(dev, NV_PBUS_POWERCTRL_2, saved_powerctrl_2);
- 
--	if (dev_priv->chipset >= 0x34)
--		NVWriteRAMDAC(dev, 0, NV_PCRTC_GPIO_EXT, saved_gpio_ext);
-+	if (nv_arch(dev) >= NV_30)
-+		NVWriteCRTC(dev, 0, NV_PCRTC_GPIO_EXT, saved_gpio_ext);
-+
-+	if (nv_arch(dev) >= NV_40)
-+		NVWriteCRTC(dev, 0, NV_PCRTC_850, saved_pcrtc_850);
- 
- 	if (present) {
- 		NV_INFO(dev, "Load detected on output %c\n", '@' + ffs(dcb->or));
-diff --git a/drivers/gpu/drm/nouveau/nv17_tv.c b/drivers/gpu/drm/nouveau/nv17_tv.c
-index 34f95c7..0c125e1 100644
---- a/drivers/gpu/drm/nouveau/nv17_tv.c
-+++ b/drivers/gpu/drm/nouveau/nv17_tv.c
-@@ -237,14 +237,20 @@ static void  nv17_tv_dpms(struct drm_encoder *encoder, int mode)
- 
- 	nv_load_ptv(dev, regs, 200);
- 
--	if (dev_priv->chipset >= 0x34) {
--		uint32_t *gpio_ext = &dev_priv->mode_reg.crtc_reg[0].gpio_ext;
--
--		*gpio_ext &= ~(3 << 20);
--		if (mode == DRM_MODE_DPMS_ON)
--			*gpio_ext |= 1 << 20;
--
--		NVWriteCRTC(dev, 0, NV_PCRTC_GPIO_EXT, *gpio_ext);
-+	if ((dev_priv->chipset >= 0x34 && dev_priv->chipset < 0x44)  ||
-+	    (nv_arch(dev) == NV_30 && !dev_priv->VBIOS.is_mobile)) {
-+		NVWriteCRTC(dev, 0, NV_PCRTC_GPIO_EXT,
-+			    (dev_priv->mode_reg.crtc_reg[0].gpio_ext & ~(3 << 20)) |
-+			    (mode == DRM_MODE_DPMS_ON ? (1 << 20) : 0));
-+
-+	} else if (dev_priv->chipset >= 0x44) {
-+		NVWriteCRTC(dev, 0, NV_PCRTC_850,
-+			    (NVReadCRTC(dev, 0, NV_PCRTC_850) & ~0xf0) |
-+			    (mode == DRM_MODE_DPMS_ON ? 0x50 : 0x00));
-+
-+		NVWriteCRTC(dev, 0, NV_PCRTC_GPIO_EXT,
-+			    (dev_priv->mode_reg.crtc_reg[0].gpio_ext & ~0xf0) |
-+			    (mode == DRM_MODE_DPMS_ON ? 0x50 : 0x00));
- 	}
- 
- 	nv04_dac_update_dacclk(encoder, mode == DRM_MODE_DPMS_ON);
-@@ -299,7 +305,7 @@ static void nv17_tv_prepare(struct drm_encoder *encoder)
- 	/* Set the DACCLK register */
- 	dacclk = (NVReadRAMDAC(dev, 0, dacclk_off) & ~0x30) | 0x1;
- 
--	if (nv_arch(dev) == NV_40)
-+	if (dev_priv->chipset >= 0x4b)
- 		dacclk |= 1 << 20;
- 
- 	if (tv_norm->kind == CTV_ENC_MODE) {




More information about the arch-commits mailing list