Is drm-radeon-testing broken for anyone else?

David Witbrodt dawitbro at sbcglobal.net
Tue Jul 3 10:02:57 PDT 2012


Maybe I'm doing something wrong, but my cloned repo of
drm-radeon-testing is giving build errors.  What I'm
seeing is

    [...]
      CC      drivers/gpu/drm/radeon/radeon_gem.o
    drivers/gpu/drm/radeon/radeon_gem.c: In function ‘radeon_gem_create_ioctl’:
    drivers/gpu/drm/radeon/radeon_gem.c:221:3: error: implicit declaration of 
function ‘radeon_mutex_lock’ [-Werror=implicit-function-declaration]
    drivers/gpu/drm/radeon/radeon_gem.c:221:26: error: ‘struct radeon_device’ 
has no member named ‘cs_mutex’
    drivers/gpu/drm/radeon/radeon_gem.c:222:3: error: implicit declaration of 
function ‘radeon_mutex_unlock’ [-Werror=implicit-function-declaration]
    drivers/gpu/drm/radeon/radeon_gem.c:222:28: error: ‘struct radeon_device’ 
has no member named ‘cs_mutex’
    drivers/gpu/drm/radeon/radeon_gem.c: In function 
‘radeon_gem_set_domain_ioctl’:
    drivers/gpu/drm/radeon/radeon_gem.c:268:26: error: ‘struct radeon_device’ 
has no member named ‘cs_mutex’
    drivers/gpu/drm/radeon/radeon_gem.c:269:28: error: ‘struct radeon_device’ 
has no member named ‘cs_mutex’
    cc1: some warnings being treated as errors
    make[6]: *** [drivers/gpu/drm/radeon/radeon_gem.o] Error 1

Looking around a bit, I find this commit

    commit 36ff39c4045ee71cd306f8af5f8c2a1c6e998eba
    Author: Christian König <deathsimple at vodafone.de>
    Date:   Wed May 9 10:07:08 2012 +0200

        drm/radeon: replace cs_mutex with vm_mutex v3

replaces radeon_mutex_lock()/radeon_mutex_unlock() with 
mutex_lock()/mutex_unlock()
in most places, eliminating it in others.  A more recent commit

    commit 0a01063d5fd7417175512f0f916629008c0a842e
    Author: Jerome Glisse <jglisse at redhat.com>
    Date:   Wed Jun 27 14:14:21 2012 -0400

        drm/radeon: disable any GPU activity after unrecovered lockup v5

introduces this hunk:

    diff --git a/drivers/gpu/drm/radeon/radeon_gem.c 
b/drivers/gpu/drm/radeon/radeon_gem.c
    index f28bd4b..74176c5 100644
    --- a/drivers/gpu/drm/radeon/radeon_gem.c
    +++ b/drivers/gpu/drm/radeon/radeon_gem.c
    @@ -217,6 +217,22 @@ int radeon_gem_create_ioctl(struct drm_device *dev, 
void *data,
            uint32_t handle;
            int r;
 
    +       /* if in middle of gpu reset wait on the mutex, if reset
    +        * failed don't do anything, otherwise proceed.
    +        */
    +       if (!rdev->accel_working) {
    +               /* lockup situation wait for cs mutex to be droped */
    +               radeon_mutex_lock(&rdev->cs_mutex);
    +               radeon_mutex_unlock(&rdev->cs_mutex);
    +               /* we are after a gpu reset */
    +               if (!rdev->accel_working) {
    +                       /* gpu reset failed, don't create anymore GPU
    +                        * object
    +                        */
    +                       return -EBUSY;
    +               }
    +       }
    +

If it's not just something stupid I've done on my local
machine, then it looks like the 0a01063d patch was
applied without noticing the changes made in 36ff39c4.
(If the problem is really just me, sorry for the spam/
noise.)


Dave W.


More information about the dri-devel mailing list