From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B53A4C432C3 for ; Thu, 14 Nov 2019 18:54:13 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8F6C62071F for ; Thu, 14 Nov 2019 18:54:13 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="JYzvXJ92" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726098AbfKNSyN (ORCPT ); Thu, 14 Nov 2019 13:54:13 -0500 Received: from mail-pf1-f196.google.com ([209.85.210.196]:40121 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725976AbfKNSyM (ORCPT ); Thu, 14 Nov 2019 13:54:12 -0500 Received: by mail-pf1-f196.google.com with SMTP id r4so4888195pfl.7; Thu, 14 Nov 2019 10:54:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=lv3vbSb0hoGBjroJ2Tdn1yzUDZjbGKNm38UA4zcYa4s=; b=JYzvXJ92P3URGM1EZVGOx6BuS8G4Mdx15aVK361Xo3brwt7T11v6tN/M85BmixF8gm x9yQqCmBVzfduyEnfCvp8OvAk6hx93Hdz2OR6cgIh01VVT+oRC/15Y6ffc5bxDSPIH+m 27S1Q27OQ7Oxi4IShfALB58nC8gzc6U+FByDvqh9wnV4JmJNdvXSxxlAoOLKmUdPw7Km cMBy+MuOmR00vi49P8s0QN2KOrFwtwaacAeRm4lOENFwdo6f8jaqq3LOY8PSAzf5k2w6 lgrxioLslzBMzzYyOtWC3JQaQOGjqlMdG1lnsTx/I1ofrt3o+CF2UEEzPD4WoTP6FM0U 61aA== 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:mime-version :content-transfer-encoding; bh=lv3vbSb0hoGBjroJ2Tdn1yzUDZjbGKNm38UA4zcYa4s=; b=XL2cDeLzX+o5hUJ13aoZhSV5mNTttGfqXYtZpLqSKTjtrC90zSMtIE7uGngsiNzWGk leS/W1Nci60UwZG9As5b0QOExPM6k0cjNmUIbf/IIs5kPxlDgwqPAj0BlWvQWz2fwhZO +YgyBmyM4RhsN/j9BxpesCSDPAxxKepk66FZPviWjVdGwfiU0PMDiznVF9E8wEA1HucD raXA64JA4RS8IBg2PxajPKvIu/TlSIACi3hBQOyVjsBlv7uyfsV4XVoE2+RuyNlCCj0c 9hYh+JbAWRrbJrqsGtf9FY6FxcZw1TSFghhJyk2D+WolVcJmFL38rmC+Cc/ZU7FQ5qY/ Utpw== X-Gm-Message-State: APjAAAWjJWOl0CtlN3FXkP8RdJmCj3fDrYwjcKeUJxa8f06obUW0PhPq 8W0ycmNKxApnvLq5EMwdazb6V38Vjb8= X-Google-Smtp-Source: APXvYqxUcHD8QYR04zvjEfVRrevsRkXrCYCaiTtozRf4mEoOkYqRB3I7hM7yBUhdoONpAtm79wmvnw== X-Received: by 2002:a63:c24f:: with SMTP id l15mr4182842pgg.279.1573757651698; Thu, 14 Nov 2019 10:54:11 -0800 (PST) Received: from localhost ([100.118.89.215]) by smtp.gmail.com with ESMTPSA id y123sm7220013pfg.64.2019.11.14.10.54.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Nov 2019 10:54:11 -0800 (PST) From: Rob Clark To: dri-devel@lists.freedesktop.org Cc: Stephen Boyd , Rob Clark , Matthias Kaehlcke , Rob Clark , Sean Paul , David Airlie , Daniel Vetter , Thomas Gleixner , Jordan Crouse , Alexios Zavras , Greg Kroah-Hartman , Linus Walleij , Mamta Shukla , linux-arm-msm@vger.kernel.org (open list:DRM DRIVER FOR MSM ADRENO GPU), freedreno@lists.freedesktop.org (open list:DRM DRIVER FOR MSM ADRENO GPU), linux-kernel@vger.kernel.org (open list) Subject: [PATCH] drm/msm/dpu: ignore NULL clocks Date: Thu, 14 Nov 2019 10:51:50 -0800 Message-Id: <20191114185152.101059-1-robdclark@gmail.com> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org From: Rob Clark This isn't an error. Also the clk APIs handle the NULL case, so we can just delete the check. Signed-off-by: Rob Clark Tested-by: Matthias Kaehlcke --- drivers/gpu/drm/msm/disp/dpu1/dpu_io_util.c | 26 ++++++--------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_io_util.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_io_util.c index 27fbeb504362..ec1437b0ef75 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_io_util.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_io_util.c @@ -93,19 +93,12 @@ int msm_dss_enable_clk(struct dss_clk *clk_arry, int num_clk, int enable) DEV_DBG("%pS->%s: enable '%s'\n", __builtin_return_address(0), __func__, clk_arry[i].clk_name); - if (clk_arry[i].clk) { - rc = clk_prepare_enable(clk_arry[i].clk); - if (rc) - DEV_ERR("%pS->%s: %s en fail. rc=%d\n", - __builtin_return_address(0), - __func__, - clk_arry[i].clk_name, rc); - } else { - DEV_ERR("%pS->%s: '%s' is not available\n", - __builtin_return_address(0), __func__, - clk_arry[i].clk_name); - rc = -EPERM; - } + rc = clk_prepare_enable(clk_arry[i].clk); + if (rc) + DEV_ERR("%pS->%s: %s en fail. rc=%d\n", + __builtin_return_address(0), + __func__, + clk_arry[i].clk_name, rc); if (rc && i) { msm_dss_enable_clk(&clk_arry[i - 1], @@ -119,12 +112,7 @@ int msm_dss_enable_clk(struct dss_clk *clk_arry, int num_clk, int enable) __builtin_return_address(0), __func__, clk_arry[i].clk_name); - if (clk_arry[i].clk) - clk_disable_unprepare(clk_arry[i].clk); - else - DEV_ERR("%pS->%s: '%s' is not available\n", - __builtin_return_address(0), __func__, - clk_arry[i].clk_name); + clk_disable_unprepare(clk_arry[i].clk); } } -- 2.23.0 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [PATCH] drm/msm/dpu: ignore NULL clocks Date: Thu, 14 Nov 2019 10:51:50 -0800 Message-ID: <20191114185152.101059-1-robdclark@gmail.com> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Return-path: Sender: linux-kernel-owner@vger.kernel.org To: dri-devel@lists.freedesktop.org Cc: Stephen Boyd , Rob Clark , Matthias Kaehlcke , Rob Clark , Sean Paul , David Airlie , Daniel Vetter , Thomas Gleixner , Jordan Crouse , Alexios Zavras , Greg Kroah-Hartman , Linus Walleij , Mamta Shukla , "open list:DRM DRIVER FOR MSM ADRENO GPU" , "open list:DRM DRIVER FOR MSM ADRENO GPU" , open list List-Id: dri-devel@lists.freedesktop.org From: Rob Clark This isn't an error. Also the clk APIs handle the NULL case, so we can just delete the check. Signed-off-by: Rob Clark Tested-by: Matthias Kaehlcke --- drivers/gpu/drm/msm/disp/dpu1/dpu_io_util.c | 26 ++++++--------------- 1 file changed, 7 insertions(+), 19 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_io_util.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_io_util.c index 27fbeb504362..ec1437b0ef75 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_io_util.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_io_util.c @@ -93,19 +93,12 @@ int msm_dss_enable_clk(struct dss_clk *clk_arry, int num_clk, int enable) DEV_DBG("%pS->%s: enable '%s'\n", __builtin_return_address(0), __func__, clk_arry[i].clk_name); - if (clk_arry[i].clk) { - rc = clk_prepare_enable(clk_arry[i].clk); - if (rc) - DEV_ERR("%pS->%s: %s en fail. rc=%d\n", - __builtin_return_address(0), - __func__, - clk_arry[i].clk_name, rc); - } else { - DEV_ERR("%pS->%s: '%s' is not available\n", - __builtin_return_address(0), __func__, - clk_arry[i].clk_name); - rc = -EPERM; - } + rc = clk_prepare_enable(clk_arry[i].clk); + if (rc) + DEV_ERR("%pS->%s: %s en fail. rc=%d\n", + __builtin_return_address(0), + __func__, + clk_arry[i].clk_name, rc); if (rc && i) { msm_dss_enable_clk(&clk_arry[i - 1], @@ -119,12 +112,7 @@ int msm_dss_enable_clk(struct dss_clk *clk_arry, int num_clk, int enable) __builtin_return_address(0), __func__, clk_arry[i].clk_name); - if (clk_arry[i].clk) - clk_disable_unprepare(clk_arry[i].clk); - else - DEV_ERR("%pS->%s: '%s' is not available\n", - __builtin_return_address(0), __func__, - clk_arry[i].clk_name); + clk_disable_unprepare(clk_arry[i].clk); } } -- 2.23.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.5 required=3.0 tests=DKIM_ADSP_CUSTOM_MED, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 04E00C43215 for ; Thu, 14 Nov 2019 18:54:15 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DEE1E2071B for ; Thu, 14 Nov 2019 18:54:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DEE1E2071B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2B9656EE9F; Thu, 14 Nov 2019 18:54:14 +0000 (UTC) Received: from mail-pf1-x442.google.com (mail-pf1-x442.google.com [IPv6:2607:f8b0:4864:20::442]) by gabe.freedesktop.org (Postfix) with ESMTPS id 96F7B6EE78; Thu, 14 Nov 2019 18:54:12 +0000 (UTC) Received: by mail-pf1-x442.google.com with SMTP id n13so4902297pff.1; Thu, 14 Nov 2019 10:54:12 -0800 (PST) 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:mime-version :content-transfer-encoding; bh=lv3vbSb0hoGBjroJ2Tdn1yzUDZjbGKNm38UA4zcYa4s=; b=ssFDfN5bKZ8aaGrbth9PW/yalUak97S0hv/j1GV/xWu+/xsXgR4R2PKOuCa9GjUBav utrFdCq6GfDTETD6XvTYujkPVL10nU011u9gNzCqHwXlG3sRQirjjOhZBDIMsKvZx0Vv 8SEJlkEelyxNWW4S9e2j7q0BndYlH6pPbtU8Q1dsYlFBD6Kwd3FmzQO1R4tFWyLXznfi xuYXMBWP1juCKXnKB1EujBmOcE3E1AF6r//Ln4UJmq629KksCUfCpZg7IGrjImkVOWTH DokdRPgpxUzqH7+onklgx/4vQqfWThCW37g22mtGPnB6QjaFxEt3N6GW9tcmWqp6OmGq 8vfg== X-Gm-Message-State: APjAAAXJ8KfIcfJGfxwu9YePJLyhSbE3a9q6FIhv6eM2izdBwwRGPZsS IXAvXGFOMB1/XUQgsLMixeH09CHMLLQ= X-Google-Smtp-Source: APXvYqxUcHD8QYR04zvjEfVRrevsRkXrCYCaiTtozRf4mEoOkYqRB3I7hM7yBUhdoONpAtm79wmvnw== X-Received: by 2002:a63:c24f:: with SMTP id l15mr4182842pgg.279.1573757651698; Thu, 14 Nov 2019 10:54:11 -0800 (PST) Received: from localhost ([100.118.89.215]) by smtp.gmail.com with ESMTPSA id y123sm7220013pfg.64.2019.11.14.10.54.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Nov 2019 10:54:11 -0800 (PST) From: Rob Clark To: dri-devel@lists.freedesktop.org Subject: [PATCH] drm/msm/dpu: ignore NULL clocks Date: Thu, 14 Nov 2019 10:51:50 -0800 Message-Id: <20191114185152.101059-1-robdclark@gmail.com> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=lv3vbSb0hoGBjroJ2Tdn1yzUDZjbGKNm38UA4zcYa4s=; b=JYzvXJ92P3URGM1EZVGOx6BuS8G4Mdx15aVK361Xo3brwt7T11v6tN/M85BmixF8gm x9yQqCmBVzfduyEnfCvp8OvAk6hx93Hdz2OR6cgIh01VVT+oRC/15Y6ffc5bxDSPIH+m 27S1Q27OQ7Oxi4IShfALB58nC8gzc6U+FByDvqh9wnV4JmJNdvXSxxlAoOLKmUdPw7Km cMBy+MuOmR00vi49P8s0QN2KOrFwtwaacAeRm4lOENFwdo6f8jaqq3LOY8PSAzf5k2w6 lgrxioLslzBMzzYyOtWC3JQaQOGjqlMdG1lnsTx/I1ofrt3o+CF2UEEzPD4WoTP6FM0U 61aA== 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: Rob Clark , "open list:DRM DRIVER FOR MSM ADRENO GPU" , Alexios Zavras , Stephen Boyd , Greg Kroah-Hartman , Mamta Shukla , open list , David Airlie , Matthias Kaehlcke , "open list:DRM DRIVER FOR MSM ADRENO GPU" , Thomas Gleixner , Sean Paul Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Message-ID: <20191114185150.Fp5W1RMAk7dui2AY5IIoKwOHzGqlYbqTIdUtVzAeHrE@z> RnJvbTogUm9iIENsYXJrIDxyb2JkY2xhcmtAY2hyb21pdW0ub3JnPgoKVGhpcyBpc24ndCBhbiBl cnJvci4gIEFsc28gdGhlIGNsayBBUElzIGhhbmRsZSB0aGUgTlVMTCBjYXNlLCBzbyB3ZSBjYW4K anVzdCBkZWxldGUgdGhlIGNoZWNrLgoKU2lnbmVkLW9mZi1ieTogUm9iIENsYXJrIDxyb2JkY2xh cmtAY2hyb21pdW0ub3JnPgpUZXN0ZWQtYnk6IE1hdHRoaWFzIEthZWhsY2tlIDxta2FAY2hyb21p dW0ub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9pb191dGlsLmMg fCAyNiArKysrKystLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMo KyksIDE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlz cC9kcHUxL2RwdV9pb191dGlsLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf aW9fdXRpbC5jCmluZGV4IDI3ZmJlYjUwNDM2Mi4uZWMxNDM3YjBlZjc1IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaW9fdXRpbC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9pb191dGlsLmMKQEAgLTkzLDE5ICs5MywxMiBAQCBp bnQgbXNtX2Rzc19lbmFibGVfY2xrKHN0cnVjdCBkc3NfY2xrICpjbGtfYXJyeSwgaW50IG51bV9j bGssIGludCBlbmFibGUpCiAJCQlERVZfREJHKCIlcFMtPiVzOiBlbmFibGUgJyVzJ1xuIiwKIAkJ CQlfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCksIF9fZnVuY19fLAogCQkJCWNsa19hcnJ5W2ld LmNsa19uYW1lKTsKLQkJCWlmIChjbGtfYXJyeVtpXS5jbGspIHsKLQkJCQlyYyA9IGNsa19wcmVw YXJlX2VuYWJsZShjbGtfYXJyeVtpXS5jbGspOwotCQkJCWlmIChyYykKLQkJCQkJREVWX0VSUigi JXBTLT4lczogJXMgZW4gZmFpbC4gcmM9JWRcbiIsCi0JCQkJCQlfX2J1aWx0aW5fcmV0dXJuX2Fk ZHJlc3MoMCksCi0JCQkJCQlfX2Z1bmNfXywKLQkJCQkJCWNsa19hcnJ5W2ldLmNsa19uYW1lLCBy Yyk7Ci0JCQl9IGVsc2UgewotCQkJCURFVl9FUlIoIiVwUy0+JXM6ICclcycgaXMgbm90IGF2YWls YWJsZVxuIiwKLQkJCQkJX19idWlsdGluX3JldHVybl9hZGRyZXNzKDApLCBfX2Z1bmNfXywKLQkJ CQkJY2xrX2FycnlbaV0uY2xrX25hbWUpOwotCQkJCXJjID0gLUVQRVJNOwotCQkJfQorCQkJcmMg PSBjbGtfcHJlcGFyZV9lbmFibGUoY2xrX2FycnlbaV0uY2xrKTsKKwkJCWlmIChyYykKKwkJCQlE RVZfRVJSKCIlcFMtPiVzOiAlcyBlbiBmYWlsLiByYz0lZFxuIiwKKwkJCQkJX19idWlsdGluX3Jl dHVybl9hZGRyZXNzKDApLAorCQkJCQlfX2Z1bmNfXywKKwkJCQkJY2xrX2FycnlbaV0uY2xrX25h bWUsIHJjKTsKIAogCQkJaWYgKHJjICYmIGkpIHsKIAkJCQltc21fZHNzX2VuYWJsZV9jbGsoJmNs a19hcnJ5W2kgLSAxXSwKQEAgLTExOSwxMiArMTEyLDcgQEAgaW50IG1zbV9kc3NfZW5hYmxlX2Ns ayhzdHJ1Y3QgZHNzX2NsayAqY2xrX2FycnksIGludCBudW1fY2xrLCBpbnQgZW5hYmxlKQogCQkJ CV9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcygwKSwgX19mdW5jX18sCiAJCQkJY2xrX2FycnlbaV0u Y2xrX25hbWUpOwogCi0JCQlpZiAoY2xrX2FycnlbaV0uY2xrKQotCQkJCWNsa19kaXNhYmxlX3Vu cHJlcGFyZShjbGtfYXJyeVtpXS5jbGspOwotCQkJZWxzZQotCQkJCURFVl9FUlIoIiVwUy0+JXM6 ICclcycgaXMgbm90IGF2YWlsYWJsZVxuIiwKLQkJCQkJX19idWlsdGluX3JldHVybl9hZGRyZXNz KDApLCBfX2Z1bmNfXywKLQkJCQkJY2xrX2FycnlbaV0uY2xrX25hbWUpOworCQkJY2xrX2Rpc2Fi bGVfdW5wcmVwYXJlKGNsa19hcnJ5W2ldLmNsayk7CiAJCX0KIAl9CiAKLS0gCjIuMjMuMAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs