rpms/kernel/devel drm-add-more-drm-error-msg.patch, NONE, 1.1 drm-allow-r300-dst-pipe-config.patch, NONE, 1.1 drm-fix-pll-computation-precedence.patch, 1.1, 1.2 kernel.spec, 1.956, 1.957
Kristian Høgsberg
krh at fedoraproject.org
Thu Sep 18 20:16:01 UTC 2008
Author: krh
Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv32454
Modified Files:
drm-fix-pll-computation-precedence.patch kernel.spec
Added Files:
drm-add-more-drm-error-msg.patch
drm-allow-r300-dst-pipe-config.patch
Log Message:
* Thu Sep 18 2008 Kristian Høgsberg <krh at redhat.com>
- Fix precedence in PLL value computation.
- Allow R300_DST_PIPE_CONFIG register write use by X.
- Add DRM_ERROR() for EINVAL returns from DRM_RADEON_CS that will crash X.
drm-add-more-drm-error-msg.patch:
--- NEW FILE drm-add-more-drm-error-msg.patch ---
>From 7ffccfd3bc0ab85635a0b4444f87541cec55a529 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Kristian=20H=C3=B8gsberg?= <krh at redhat.com>
Date: Thu, 18 Sep 2008 16:10:29 -0400
Subject: [PATCH] radeon: Add DRM_ERROR() messages to all EINVAL exits from DRM_RADEON_CS.
Shouldn't trigger under normal use and when something breaks, it will
be easier to debug.
---
drivers/gpu/drm/radeon/radeon_cs.c | 9 +++++++--
drivers/gpu/drm/radeon/radeon_mem.c | 2 +-
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_cs.c b/drivers/gpu/drm/radeon/radeon_cs.c
index c8b0c97..b5a2be8 100644
--- a/drivers/gpu/drm/radeon/radeon_cs.c
+++ b/drivers/gpu/drm/radeon/radeon_cs.c
@@ -54,6 +54,7 @@ int radeon_cs_ioctl(struct drm_device *dev, void *data, struct drm_file *fpriv)
}
/* limit cs to 64K ib */
if (cs->dwords > (16 * 1024)) {
+ DRM_ERROR("cs->dwords too big: %d\n", cs->dwords);
return -EINVAL;
}
/* copy cs from userspace maybe we should copy into ib to save
@@ -72,6 +73,7 @@ int radeon_cs_ioctl(struct drm_device *dev, void *data, struct drm_file *fpriv)
/* get ib */
r = dev_priv->cs.ib_get(dev, &ib, cs->dwords, &card_offset);
if (r) {
+ DRM_ERROR("ib_get failed\n");
goto out;
}
@@ -185,6 +187,7 @@ static int radeon_cs_relocate_packet3(struct drm_device *dev, struct drm_file *f
packets[offset_dw + 2] = val;
}
default:
+ DRM_ERROR("reg is %x, not RADEON_CNTL_HOSTDATA_BLT\n", reg);
return -EINVAL;
}
return 0;
@@ -246,14 +249,16 @@ int radeon_cs_packet0(struct drm_device *dev, struct drm_file *file_priv,
}
ret = radeon_cs_relocate_packet0(dev, file_priv, packets, offset_dw);
- if (ret)
+ if (ret) {
+ DRM_ERROR("failed to relocate packet\n");
return ret;
+ }
DRM_DEBUG("need to relocate %x %d\n", reg, flags);
/* okay it should be followed by a NOP */
} else if (flags == MARK_CHECK_SCISSOR) {
DRM_DEBUG("need to validate scissor %x %d\n", reg, flags);
} else {
- DRM_DEBUG("illegal register %x %d\n", reg, flags);
+ DRM_ERROR("illegal register %x %d\n", reg, flags);
return -EINVAL;
}
break;
diff --git a/drivers/gpu/drm/radeon/radeon_mem.c b/drivers/gpu/drm/radeon/radeon_mem.c
index 4af5286..05bbb90 100644
--- a/drivers/gpu/drm/radeon/radeon_mem.c
+++ b/drivers/gpu/drm/radeon/radeon_mem.c
@@ -294,7 +294,7 @@ int radeon_mem_init_heap(struct drm_device *dev, void *data, struct drm_file *fi
return -EFAULT;
if (*heap) {
- DRM_ERROR("heap already initialized?");
+ DRM_ERROR("heap already initialized?\n");
return -EFAULT;
}
--
1.5.6.GIT
drm-allow-r300-dst-pipe-config.patch:
--- NEW FILE drm-allow-r300-dst-pipe-config.patch ---
>From c3aaac2c89ce104fa1de8e79ef0f7c7f50012aaa Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Kristian=20H=C3=B8gsberg?= <krh at redhat.com>
Date: Thu, 18 Sep 2008 16:07:50 -0400
Subject: [PATCH] Allow R300_DST_PIPE_CONFIG for R420 and up.
The X server emits writes to R300_DST_PIPE_CONFIG for R420 chipsets during
accel init.
---
drivers/gpu/drm/radeon/r300_cmdbuf.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/gpu/drm/radeon/r300_cmdbuf.c b/drivers/gpu/drm/radeon/r300_cmdbuf.c
index cd6db70..422554e 100644
--- a/drivers/gpu/drm/radeon/r300_cmdbuf.c
+++ b/drivers/gpu/drm/radeon/r300_cmdbuf.c
@@ -248,7 +248,7 @@ void r300_init_reg_flags(struct drm_device *dev)
ADD_RANGE(R300_VAP_INPUT_ROUTE_1_0, 8);
ADD_RANGE(R500_SU_REG_DEST, 1);
- if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_RV410) {
+ if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R420) {
ADD_RANGE(R300_DST_PIPE_CONFIG, 1);
}
--
1.5.6.GIT
drm-fix-pll-computation-precedence.patch:
Index: drm-fix-pll-computation-precedence.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/drm-fix-pll-computation-precedence.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- drm-fix-pll-computation-precedence.patch 18 Sep 2008 19:01:21 -0000 1.1
+++ drm-fix-pll-computation-precedence.patch 18 Sep 2008 20:16:01 -0000 1.2
@@ -1,8 +1,12 @@
-commit ced5841f9f1858d83551714717d905a6a1ea28c1
-Author: Kristian Høgsberg <krh at redhat.com>
-Date: Thu Sep 18 14:53:46 2008 -0400
+From ced5841f9f1858d83551714717d905a6a1ea28c1 Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?Kristian=20H=C3=B8gsberg?= <krh at redhat.com>
+Date: Thu, 18 Sep 2008 14:53:46 -0400
+Subject: [PATCH] radeon kms: Get precedence right when computing PLL values.
- radeon kms: Get precedence right when computing PLL values.
+---
+ drivers/gpu/drm/radeon/radeon_atombios.c | 8 ++++----
+ drivers/gpu/drm/radeon/radeon_combios.c | 6 ++++++
+ 2 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c
index 4d98cba..a1631fe 100644
@@ -48,3 +52,6 @@
}
return true;
}
+--
+1.5.6.GIT
+
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.956
retrieving revision 1.957
diff -u -r1.956 -r1.957
--- kernel.spec 18 Sep 2008 19:01:21 -0000 1.956
+++ kernel.spec 18 Sep 2008 20:16:01 -0000 1.957
@@ -610,6 +610,8 @@
Patch1812: drm-modesetting-i915.patch
Patch1813: drm-nouveau.patch
Patch1814: drm-fix-pll-computation-precedence.patch
+Patch1815: drm-allow-r300-dst-pipe-config.patch
+Patch1816: drm-add-more-drm-error-msg.patch
# kludge to make ich9 e1000 work
Patch2000: linux-2.6-e1000-ich9.patch
@@ -1169,6 +1171,8 @@
ApplyPatch drm-modesetting-i915.patch
ApplyPatch drm-nouveau.patch
ApplyPatch drm-fix-pll-computation-precedence.patch
+ApplyPatch drm-allow-r300-dst-pipe-config.patch
+ApplyPatch drm-add-more-drm-error-msg.patch
# linux1394 git patches
ApplyPatch linux-2.6-firewire-git-update.patch
@@ -1762,6 +1766,8 @@
%changelog
* Thu Sep 18 2008 Kristian Høgsberg <krh at redhat.com>
- Fix precedence in PLL value computation.
+- Allow R300_DST_PIPE_CONFIG register write use by X.
+- Add DRM_ERROR() for EINVAL returns from DRM_RADEON_CS that will crash X.
* Thu Sep 18 2008 Dave Airlie <airlied at redhat.com>
- update radeon LVDS bits from AMD
More information about the fedora-extras-commits
mailing list