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 <buddab...@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) {

Reply via email to