xf86-video-intel: 2 commits - src/sna/kgem.c src/sna/sna_accel.c src/sna/sna_driver.c
Chris Wilson
ickle at kemper.freedesktop.org
Wed May 30 06:48:48 PDT 2012
src/sna/kgem.c | 12 ++++++++----
src/sna/sna_accel.c | 2 +-
src/sna/sna_driver.c | 3 +--
3 files changed, 10 insertions(+), 7 deletions(-)
New commits:
commit cf5b3e2ebf4ee0330f5421b9377bb512a94ec284
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Wed May 30 14:44:59 2012 +0100
sna: Don't attempt to flush scanout if unattached
This was lost in the midst of the OSTimer overhaul.
Reported-by: Zdenek Kabelac <zdenek.kabelac at gmail.com>
References: https://bugs.freedesktop.org/show_bug.cgi?id=50393
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 8f2fdea..ee2f69a 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -11899,7 +11899,7 @@ static bool sna_accel_do_flush(struct sna *sna)
struct sna_pixmap *priv;
priv = sna_accel_scanout(sna);
- if (priv == NULL) {
+ if (priv == NULL || priv->gpu_bo == NULL) {
DBG(("%s -- no scanout attached\n", __FUNCTION__));
sna_accel_disarm_timer(sna, FLUSH_TIMER);
return false;
commit 3a64ba0895035f6567e9a15357396b06c0f2d6dd
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Wed May 30 13:51:07 2012 +0100
sna: Convert remaining drmCommands to drmIoctl
This helps to silence valgrind
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 828df03..15261b6 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -568,6 +568,11 @@ static bool semaphores_enabled(void)
return detected;
}
+static bool __kgem_throttle(struct kgem *kgem)
+{
+ return drmIoctl(kgem->fd, DRM_IOCTL_I915_GEM_THROTTLE, NULL) == -EIO;
+}
+
void kgem_init(struct kgem *kgem, int fd, struct pci_device *dev, int gen)
{
struct drm_i915_gem_get_aperture aperture;
@@ -579,7 +584,7 @@ void kgem_init(struct kgem *kgem, int fd, struct pci_device *dev, int gen)
kgem->fd = fd;
kgem->gen = gen;
- kgem->wedged = drmCommandNone(kgem->fd, DRM_I915_GEM_THROTTLE) == -EIO;
+ kgem->wedged = __kgem_throttle(kgem);
kgem->wedged |= DBG_NO_HW;
kgem->batch_size = ARRAY_SIZE(kgem->batch);
@@ -1864,7 +1869,7 @@ void _kgem_submit(struct kgem *kgem)
DRM_IOCTL_I915_GEM_EXECBUFFER2,
&execbuf);
while (ret == -1 && errno == EBUSY && retry--) {
- drmCommandNone(kgem->fd, DRM_I915_GEM_THROTTLE);
+ __kgem_throttle(kgem);
ret = drmIoctl(kgem->fd,
DRM_IOCTL_I915_GEM_EXECBUFFER2,
&execbuf);
@@ -1954,8 +1959,7 @@ void kgem_throttle(struct kgem *kgem)
{
static int warned;
- kgem->wedged |= drmCommandNone(kgem->fd, DRM_I915_GEM_THROTTLE) == -EIO;
-
+ kgem->wedged |= __kgem_throttle(kgem);
if (kgem->wedged && !warned) {
struct sna *sna = container_of(kgem, struct sna, kgem);
xf86DrvMsg(sna->scrn->scrnIndex, X_ERROR,
diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c
index 10f4421..f8e386b 100644
--- a/src/sna/sna_driver.c
+++ b/src/sna/sna_driver.c
@@ -334,8 +334,7 @@ static int sna_open_drm_master(ScrnInfoPtr scrn)
val = FALSE;
gp.param = I915_PARAM_HAS_BLT;
gp.value = &val;
- if (drmCommandWriteRead(fd, DRM_I915_GETPARAM,
- &gp, sizeof(gp))) {
+ if (drmIoctl(fd, DRM_IOCTL_I915_GETPARAM, &gp)) {
xf86DrvMsg(scrn->scrnIndex, X_ERROR,
"Failed to detect BLT. Kernel 2.6.37 required.\n");
drmClose(fd);
More information about the xorg-commit
mailing list