From patchwork Fri Apr 27 06:17:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 10367523 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 3749E602B3 for ; Fri, 27 Apr 2018 06:19:26 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2770028458 for ; Fri, 27 Apr 2018 06:19:26 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1C1CA29301; Fri, 27 Apr 2018 06:19:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED, T_DKIM_INVALID autolearn=unavailable version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id B434B28458 for ; Fri, 27 Apr 2018 06:19:25 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 82D0D6E2F0; Fri, 27 Apr 2018 06:18:07 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0081C6E7EB for ; Fri, 27 Apr 2018 06:17:45 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id m70so382083wma.2 for ; Thu, 26 Apr 2018 23:17:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=T+wKh49wmR2qz5SUrYzs57uFK4W8704TVx1lexyTt7o=; b=O2uKmZSZM40ZTJp1rRHyYVUqVtbHMfcZE7jZ3Wri3hyTMFA46FDKQvsFSuxl1IBelx 8xGbSxA1GX+x5JMdfP44jEF4stdkDv3JWr5fX+q+leeP0RvvDuE89SBg3jE0yeQwV2IK KoZXAoSA4mCyNR5Zrv6A6DvEf6aLyIA8YN6cE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=T+wKh49wmR2qz5SUrYzs57uFK4W8704TVx1lexyTt7o=; b=DUfj/iKoOKl/iCw0k0zPgy7TB5lo98KyTkE7CQMnfs5RUmoxTSkcsrXvtA8QkzAA1W VNYA8v2hNOntsI9pJEG0orV+ABpcDOKoJvUzsXYz5tRDIvmZV9nKefJXow7i+7iEMUG/ U7BGJqpGrcUncDl0QN8Madrrfja600od1ZGU+CPh3j2s5ApH5pLhO29uiWu4x5SMtkTj Nu6IaH1z5ZFAvOAOst3cATmbN7iGYH4E41KrlhYBn9Yt++ZTpskjvV0xIQ4/HKInI/n3 g11vFSXTcAaBrnEcrK8//PkrK9iQo/zvJPGf67q7/pnr8xMIO0WoDT6Lz9qlvrwOEOvu XkKw== X-Gm-Message-State: ALQs6tD+WAKrOG1XbthZTviYrOEgjp4+wqn/ITjFpfyiZN0J5CkwqUnZ pUAtdKMIyHpaWzrUHg6six+cJMpf X-Google-Smtp-Source: AB8JxZp438K3+he/Vif2FwJnEf2xOHDAB8Aao4PrrSwTh8XZv/0/bEg8EpJe8+68c1vS/es/00hgrg== X-Received: by 2002:a50:bf4f:: with SMTP id g15-v6mr340336edk.283.1524809864424; Thu, 26 Apr 2018 23:17:44 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:5635:0:39d2:f87e:2033:9f6]) by smtp.gmail.com with ESMTPSA id r15-v6sm468897edq.40.2018.04.26.23.17.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 26 Apr 2018 23:17:43 -0700 (PDT) From: Daniel Vetter To: DRI Development Subject: [PATCH 13/17] drm/radeon: Remove custom dma_fence_ops->wait implementation Date: Fri, 27 Apr 2018 08:17:20 +0200 Message-Id: <20180427061724.28497-14-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180427061724.28497-1-daniel.vetter@ffwll.ch> References: <20180427061724.28497-1-daniel.vetter@ffwll.ch> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Daniel Vetter , Intel Graphics Development , amd-gfx@lists.freedesktop.org, Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Virus-Scanned: ClamAV using ClamSMTP It's a copy of dma_fence_default_wait, written slightly differently. Signed-off-by: Daniel Vetter Cc: Alex Deucher Cc: "Christian König" Cc: "David (ChunMing) Zhou" Cc: amd-gfx@lists.freedesktop.org --- drivers/gpu/drm/radeon/radeon_fence.c | 63 --------------------------- 1 file changed, 63 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_fence.c b/drivers/gpu/drm/radeon/radeon_fence.c index e86f2bd38410..32690a525bfc 100644 --- a/drivers/gpu/drm/radeon/radeon_fence.c +++ b/drivers/gpu/drm/radeon/radeon_fence.c @@ -1051,72 +1051,9 @@ static const char *radeon_fence_get_timeline_name(struct dma_fence *f) } } -static inline bool radeon_test_signaled(struct radeon_fence *fence) -{ - return test_bit(DMA_FENCE_FLAG_SIGNALED_BIT, &fence->base.flags); -} - -struct radeon_wait_cb { - struct dma_fence_cb base; - struct task_struct *task; -}; - -static void -radeon_fence_wait_cb(struct dma_fence *fence, struct dma_fence_cb *cb) -{ - struct radeon_wait_cb *wait = - container_of(cb, struct radeon_wait_cb, base); - - wake_up_process(wait->task); -} - -static signed long radeon_fence_default_wait(struct dma_fence *f, bool intr, - signed long t) -{ - struct radeon_fence *fence = to_radeon_fence(f); - struct radeon_device *rdev = fence->rdev; - struct radeon_wait_cb cb; - - cb.task = current; - - if (dma_fence_add_callback(f, &cb.base, radeon_fence_wait_cb)) - return t; - - while (t > 0) { - if (intr) - set_current_state(TASK_INTERRUPTIBLE); - else - set_current_state(TASK_UNINTERRUPTIBLE); - - /* - * radeon_test_signaled must be called after - * set_current_state to prevent a race with wake_up_process - */ - if (radeon_test_signaled(fence)) - break; - - if (rdev->needs_reset) { - t = -EDEADLK; - break; - } - - t = schedule_timeout(t); - - if (t > 0 && intr && signal_pending(current)) - t = -ERESTARTSYS; - } - - __set_current_state(TASK_RUNNING); - dma_fence_remove_callback(f, &cb.base); - - return t; -} - const struct dma_fence_ops radeon_fence_ops = { .get_driver_name = radeon_fence_get_driver_name, .get_timeline_name = radeon_fence_get_timeline_name, .enable_signaling = radeon_fence_enable_signaling, .signaled = radeon_fence_is_signaled, - .wait = radeon_fence_default_wait, - .release = NULL, };