From mboxrd@z Thu Jan 1 00:00:00 1970 From: SF Markus Elfring Date: Tue, 24 Oct 2017 12:25:51 +0000 Subject: [PATCH] drm/i915/gvt: Use common error handling code in shadow_workload_ring_buffer() Message-Id: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, David Airlie , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Zhenyu Wang , Zhi Wang Cc: kernel-janitors@vger.kernel.org, LKML From: Markus Elfring Date: Tue, 24 Oct 2017 14:20:06 +0200 Add a jump target so that a call of the function "gvt_vgpu_err" is stored only once at the end of this function implementation. Replace two calls by goto statements. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring --- drivers/gpu/drm/i915/gvt/cmd_parser.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/i915/gvt/cmd_parser.c b/drivers/gpu/drm/i915/gvt/cmd_parser.c index 2c0ccbb817dc..caa181380958 100644 --- a/drivers/gpu/drm/i915/gvt/cmd_parser.c +++ b/drivers/gpu/drm/i915/gvt/cmd_parser.c @@ -2640,10 +2640,9 @@ static int shadow_workload_ring_buffer(struct intel_vgpu_workload *workload) if (gma_head > gma_tail) { ret = copy_gma_to_hva(vgpu, vgpu->gtt.ggtt_mm, gma_head, gma_top, shadow_ring_buffer_va); - if (ret < 0) { - gvt_vgpu_err("fail to copy guest ring buffer\n"); - return ret; - } + if (ret < 0) + goto report_failure; + shadow_ring_buffer_va += ret; gma_head = workload->rb_start; } @@ -2651,11 +2650,14 @@ static int shadow_workload_ring_buffer(struct intel_vgpu_workload *workload) /* copy head or start <-> tail */ ret = copy_gma_to_hva(vgpu, vgpu->gtt.ggtt_mm, gma_head, gma_tail, shadow_ring_buffer_va); - if (ret < 0) { - gvt_vgpu_err("fail to copy guest ring buffer\n"); - return ret; - } + if (ret < 0) + goto report_failure; + return 0; + +report_failure: + gvt_vgpu_err("fail to copy guest ring buffer\n"); + return ret; } int intel_gvt_scan_and_shadow_ringbuffer(struct intel_vgpu_workload *workload) -- 2.14.3 From mboxrd@z Thu Jan 1 00:00:00 1970 From: SF Markus Elfring Subject: [PATCH] drm/i915/gvt: Use common error handling code in shadow_workload_ring_buffer() Date: Tue, 24 Oct 2017 14:25:51 +0200 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mout.web.de (mout.web.de [217.72.192.78]) by gabe.freedesktop.org (Postfix) with ESMTPS id B98EA6E454 for ; Tue, 24 Oct 2017 12:26:05 +0000 (UTC) Content-Language: en-GB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, David Airlie , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Zhenyu Wang , Zhi Wang Cc: kernel-janitors@vger.kernel.org, LKML List-Id: dri-devel@lists.freedesktop.org RnJvbTogTWFya3VzIEVsZnJpbmcgPGVsZnJpbmdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgpEYXRl OiBUdWUsIDI0IE9jdCAyMDE3IDE0OjIwOjA2ICswMjAwCgpBZGQgYSBqdW1wIHRhcmdldCBzbyB0 aGF0IGEgY2FsbCBvZiB0aGUgZnVuY3Rpb24gImd2dF92Z3B1X2VyciIgaXMgc3RvcmVkCm9ubHkg b25jZSBhdCB0aGUgZW5kIG9mIHRoaXMgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24uClJlcGxhY2Ug dHdvIGNhbGxzIGJ5IGdvdG8gc3RhdGVtZW50cy4KClRoaXMgaXNzdWUgd2FzIGRldGVjdGVkIGJ5 IHVzaW5nIHRoZSBDb2NjaW5lbGxlIHNvZnR3YXJlLgoKU2lnbmVkLW9mZi1ieTogTWFya3VzIEVs ZnJpbmcgPGVsZnJpbmdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d2dC9jbWRfcGFyc2VyLmMgfCAxOCArKysrKysrKysrLS0tLS0tLS0KIDEgZmlsZSBj aGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9jbWRfcGFyc2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndnQvY21kX3BhcnNlci5jCmluZGV4IDJjMGNjYmI4MTdkYy4uY2FhMTgxMzgwOTU4IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvY21kX3BhcnNlci5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d2dC9jbWRfcGFyc2VyLmMKQEAgLTI2NDAsMTAgKzI2NDAsOSBAQCBz dGF0aWMgaW50IHNoYWRvd193b3JrbG9hZF9yaW5nX2J1ZmZlcihzdHJ1Y3QgaW50ZWxfdmdwdV93 b3JrbG9hZCAqd29ya2xvYWQpCiAJaWYgKGdtYV9oZWFkID4gZ21hX3RhaWwpIHsKIAkJcmV0ID0g Y29weV9nbWFfdG9faHZhKHZncHUsIHZncHUtPmd0dC5nZ3R0X21tLAogCQkJCSAgICAgIGdtYV9o ZWFkLCBnbWFfdG9wLCBzaGFkb3dfcmluZ19idWZmZXJfdmEpOwotCQlpZiAocmV0IDwgMCkgewot CQkJZ3Z0X3ZncHVfZXJyKCJmYWlsIHRvIGNvcHkgZ3Vlc3QgcmluZyBidWZmZXJcbiIpOwotCQkJ cmV0dXJuIHJldDsKLQkJfQorCQlpZiAocmV0IDwgMCkKKwkJCWdvdG8gcmVwb3J0X2ZhaWx1cmU7 CisKIAkJc2hhZG93X3JpbmdfYnVmZmVyX3ZhICs9IHJldDsKIAkJZ21hX2hlYWQgPSB3b3JrbG9h ZC0+cmJfc3RhcnQ7CiAJfQpAQCAtMjY1MSwxMSArMjY1MCwxNCBAQCBzdGF0aWMgaW50IHNoYWRv d193b3JrbG9hZF9yaW5nX2J1ZmZlcihzdHJ1Y3QgaW50ZWxfdmdwdV93b3JrbG9hZCAqd29ya2xv YWQpCiAJLyogY29weSBoZWFkIG9yIHN0YXJ0IDwtPiB0YWlsICovCiAJcmV0ID0gY29weV9nbWFf dG9faHZhKHZncHUsIHZncHUtPmd0dC5nZ3R0X21tLCBnbWFfaGVhZCwgZ21hX3RhaWwsCiAJCQkJ c2hhZG93X3JpbmdfYnVmZmVyX3ZhKTsKLQlpZiAocmV0IDwgMCkgewotCQlndnRfdmdwdV9lcnIo ImZhaWwgdG8gY29weSBndWVzdCByaW5nIGJ1ZmZlclxuIik7Ci0JCXJldHVybiByZXQ7Ci0JfQor CWlmIChyZXQgPCAwKQorCQlnb3RvIHJlcG9ydF9mYWlsdXJlOworCiAJcmV0dXJuIDA7CisKK3Jl cG9ydF9mYWlsdXJlOgorCWd2dF92Z3B1X2VycigiZmFpbCB0byBjb3B5IGd1ZXN0IHJpbmcgYnVm ZmVyXG4iKTsKKwlyZXR1cm4gcmV0OwogfQogCiBpbnQgaW50ZWxfZ3Z0X3NjYW5fYW5kX3NoYWRv d19yaW5nYnVmZmVyKHN0cnVjdCBpbnRlbF92Z3B1X3dvcmtsb2FkICp3b3JrbG9hZCkKLS0gCjIu MTQuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932517AbdJXM0h (ORCPT ); Tue, 24 Oct 2017 08:26:37 -0400 Received: from mout.web.de ([217.72.192.78]:59887 "EHLO mout.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932331AbdJXM0I (ORCPT ); Tue, 24 Oct 2017 08:26:08 -0400 To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org, David Airlie , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Zhenyu Wang , Zhi Wang Cc: LKML , kernel-janitors@vger.kernel.org From: SF Markus Elfring Subject: [PATCH] drm/i915/gvt: Use common error handling code in shadow_workload_ring_buffer() Message-ID: Date: Tue, 24 Oct 2017 14:25:51 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:S8Th+Emm7XIzUTGPhOkx3PuxYzaDB6y8HBxY+/6niwyPDMW4SVX /cxylJT33fSn1E+wXxSw0ntQnfX5LgYc5LNLRb7WhwUVvD5URhDy3RHq52dUUQkpqinnmtN 1pIaLWYxa0O5xheCzgTkllIxojDgfsUQ98PehGd17BFAe+G3a4NK3plr4dOjd36NIiV8NVa GIlE4gGDPegYY3g4nEZCw== X-UI-Out-Filterresults: notjunk:1;V01:K0:fDNeGwtmCLo=:xoQ7SdLMK0EodGHbyms+Zn 99Q7HS+wGoVCP/Wp1d/ysCRyrRyFmkuUT48ukD2BpgfKsp2awY7dzwNzuo0M3bd7rCwXHpfPb E/BM5Ncu+Y4w9cOn8QJ7tpmMlkP8+OBjUKZv9DYKg4tnwubIaVBzKrogHjicq1DEWjJfR1/Eb Xau8xBuSukM72NBzPgvyRGSK3mgOebtRUL1DpCoqfQK9SVuQnHeMuAq4gz6pCO5V6fqKJvWAO 6+7yZg+Nug5Q5hFy2aAsb4i20Knp4nXA9ra7UGoAKNeshLoz0ZSsPSitki7edUPLFeO8ymc3P IRyag6id1e2AVUvACmG790txfXLA5FN6bPX/NFkPPmm6tZLx+nCIfoit63LdRBIF8ZeEXNWfx 0aQQQFtfOiJlNpFNF3mbP/o8ABEt61BaJieMcc7iJv///jX+A6lbLFEnx75dJj0aSY6fbFiJX BpInJ+48MV9g71R/OFnxiICFpvbWiYoZNzyJA+bi6FguuEplEll29AjE4nLjZdBnmEWErak8E lHroyWVdso3YYgWYddvVV6ti5MU+WscZPQSR7UumL19zujNYzr7mu8P+NO+w1uxZLmlGlVR0T Nf3SApQQTYsafOsgmr1Ik/rqKe0ZPWMDxZQUl4I4PquwEPY2OuYCEcQBbRInZM20WLZ5wBJ2u xyIzgIR6vrR78JGmod7s9lYMCvEhKSgAVdJwkONtFuB7O7OkxW6Am14iRkYBOR2nnq1qkhfzU SbiM2edPNQ/4bECXpa5mHa4KTUOG8mP7Vn0bFWsUy/StY/Ej8KI/ckQ5PqtkKMWS2BT7BYXS5 LNVtDOQGP7W5FhVL/QNp5vv4I9nhKrGr2OucAjqk5SJl/BhfGk= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Markus Elfring Date: Tue, 24 Oct 2017 14:20:06 +0200 Add a jump target so that a call of the function "gvt_vgpu_err" is stored only once at the end of this function implementation. Replace two calls by goto statements. This issue was detected by using the Coccinelle software. Signed-off-by: Markus Elfring --- drivers/gpu/drm/i915/gvt/cmd_parser.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/i915/gvt/cmd_parser.c b/drivers/gpu/drm/i915/gvt/cmd_parser.c index 2c0ccbb817dc..caa181380958 100644 --- a/drivers/gpu/drm/i915/gvt/cmd_parser.c +++ b/drivers/gpu/drm/i915/gvt/cmd_parser.c @@ -2640,10 +2640,9 @@ static int shadow_workload_ring_buffer(struct intel_vgpu_workload *workload) if (gma_head > gma_tail) { ret = copy_gma_to_hva(vgpu, vgpu->gtt.ggtt_mm, gma_head, gma_top, shadow_ring_buffer_va); - if (ret < 0) { - gvt_vgpu_err("fail to copy guest ring buffer\n"); - return ret; - } + if (ret < 0) + goto report_failure; + shadow_ring_buffer_va += ret; gma_head = workload->rb_start; } @@ -2651,11 +2650,14 @@ static int shadow_workload_ring_buffer(struct intel_vgpu_workload *workload) /* copy head or start <-> tail */ ret = copy_gma_to_hva(vgpu, vgpu->gtt.ggtt_mm, gma_head, gma_tail, shadow_ring_buffer_va); - if (ret < 0) { - gvt_vgpu_err("fail to copy guest ring buffer\n"); - return ret; - } + if (ret < 0) + goto report_failure; + return 0; + +report_failure: + gvt_vgpu_err("fail to copy guest ring buffer\n"); + return ret; } int intel_gvt_scan_and_shadow_ringbuffer(struct intel_vgpu_workload *workload) -- 2.14.3