From patchwork Thu Apr 11 21:26:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Forbes X-Patchwork-Id: 13626568 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id E72D8C4345F for ; Thu, 11 Apr 2024 21:27:13 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 96EAE10EB33; Thu, 11 Apr 2024 21:27:12 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.b="MkxqwiB/"; dkim-atps=neutral Received: from mail-yb1-f177.google.com (mail-yb1-f177.google.com [209.85.219.177]) by gabe.freedesktop.org (Postfix) with ESMTPS id A57B110EB33 for ; Thu, 11 Apr 2024 21:27:07 +0000 (UTC) Received: by mail-yb1-f177.google.com with SMTP id 3f1490d57ef6-dd02fb9a31cso251004276.3 for ; Thu, 11 Apr 2024 14:27:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1712870826; x=1713475626; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/TyaY/I5CyvrBegK79hP9X4uvBfReIuIWj8s/HCupCM=; b=MkxqwiB/aFyiYSQZePscbUwbcZaUe7ebKkkhJFWMZ9ifFNZJFCAjOV/qb7Sp5ZyGsH ITznZETrmnFxQoIrwdbS5d2VCJg93wHZYwc+AwWvwefB4+rznpXDcFuHuiTruanCnIvL hY2Zx/wQ5oodYnis0UevrYl8v28FTwvHuh2Wo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712870826; x=1713475626; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=/TyaY/I5CyvrBegK79hP9X4uvBfReIuIWj8s/HCupCM=; b=LteIpAdvCP0UgrpCxgvSlZH17ZFUWOa26G4BvVg9NeHeOw4NAVAjuOJKzO5q6he3Ne jwTYwGwmB8qjmmr0Z76jU30hhbCryz86cwbBAsLumV8DXWp5at7NA/5HD/MLVW8MlxQx IrNPr7v4ml3OqWRNG/NpgiE8SJQ/64pmT+G7PdE1y7AVmLdElb8XribO9hl2/ZYvRlSN ke5JXzygJcv5zOSf+TctmFTt0Nqor7fjWUMU3bsJXWIy0Az1lrsTnVMjArmukCNrAWkH aadmycuHEHvOwfGZhACvAzbkopTDlH/IKLw6WZw+mGrvCcB2jWb9sgzTCLySWARYSlDr krgQ== X-Gm-Message-State: AOJu0YxemKBrFtzEok68u/84PZFGOLURhMtwscvTHNSKGuPiEZYO5Aum jSdJlgr5AswGtSrnoT914hCzSOFUwkhIf/kctEx4Y4Tmp0WcBoReX+HtFUQ1MnoFeXD6jFuog38 64bg59i9D7pLEs0oyvE5q2EtJGuLmUCECSCQz89ZY7MJxgM9j6oqaQ3i45d+zmQu7ETEkRC9ByN +23MkU9rBJmRVbwr7JKtaRRZI4ej8Qc8Smmiw+yhq0Ipln8pnc1MX8 X-Google-Smtp-Source: AGHT+IE1i1eWGpXIQwTmnOVoXP4gFit72mmNqQQiYRiOXSMqIac/HFJH2MC9ZuTTnzPBTNIdFK7Ulg== X-Received: by 2002:a25:6f42:0:b0:dcd:2aa3:d744 with SMTP id k63-20020a256f42000000b00dcd2aa3d744mr783634ybc.17.1712870826351; Thu, 11 Apr 2024 14:27:06 -0700 (PDT) Received: from localhost ([216.221.31.53]) by smtp.gmail.com with ESMTPSA id e7-20020a0cf747000000b0069943d0e5a3sm1430571qvo.93.2024.04.11.14.27.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Apr 2024 14:27:06 -0700 (PDT) From: Ian Forbes To: dri-devel@lists.freedesktop.org Cc: bcm-kernel-feedback-list@broadcom.com, zack.rusin@broadcom.com, martin.krastev@broadcom.com, maaz.mombasawala@broadcom.com, Ian Forbes Subject: [PATCH 1/4] drm/vmwgfx: Filter modes which exceed graphics memory Date: Thu, 11 Apr 2024 16:26:48 -0500 Message-Id: <20240411212651.540-2-ian.forbes@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240411212651.540-1-ian.forbes@broadcom.com> References: <20240411212651.540-1-ian.forbes@broadcom.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SVGA requires individual surfaces to fit within graphics memory (max_mob_pages) which means that modes with a final buffer size that would exceed graphics memory must be pruned otherwise creation will fail. This fixes an issue where VMs with low graphics memory (< 64MiB) configured with high resolution mode boot to a black screen because surface creation fails. Fixes: d947d1b71deb ("drm/vmwgfx: Add and connect connector helper function") Signed-off-by: Ian Forbes --- drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c | 32 +++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c index 2041c4d48daa..70b2ae974df3 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c @@ -829,7 +829,37 @@ static void vmw_stdu_connector_destroy(struct drm_connector *connector) vmw_stdu_destroy(vmw_connector_to_stdu(connector)); } +static enum drm_mode_status +vmw_stdu_connector_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode) +{ + enum drm_mode_status ret; + struct drm_device *dev = connector->dev; + struct vmw_private *dev_priv = vmw_priv(dev); + u64 assumed_cpp = dev_priv->assume_16bpp ? 2 : 4; + u64 required_mem = mode->hdisplay * assumed_cpp * mode->vdisplay; + + ret = drm_mode_validate_size(mode, dev_priv->stdu_max_width, + dev_priv->stdu_max_height); + if (ret != MODE_OK) + return ret; + + ret = drm_mode_validate_size(mode, dev_priv->texture_max_width, + dev_priv->texture_max_height); + if (ret != MODE_OK) + return ret; + if (required_mem > dev_priv->max_primary_mem) + return MODE_MEM; + + if (required_mem > dev_priv->max_mob_pages * PAGE_SIZE) + return MODE_MEM; + + if (required_mem > dev_priv->max_mob_size) + return MODE_MEM; + + return MODE_OK; +} static const struct drm_connector_funcs vmw_stdu_connector_funcs = { .dpms = vmw_du_connector_dpms, @@ -845,7 +875,7 @@ static const struct drm_connector_funcs vmw_stdu_connector_funcs = { static const struct drm_connector_helper_funcs vmw_stdu_connector_helper_funcs = { .get_modes = vmw_connector_get_modes, - .mode_valid = vmw_connector_mode_valid + .mode_valid = vmw_stdu_connector_mode_valid }; From patchwork Thu Apr 11 21:26:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Forbes X-Patchwork-Id: 13626569 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 46ABAC00A94 for ; Thu, 11 Apr 2024 21:27:16 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 40E3710F0A9; Thu, 11 Apr 2024 21:27:13 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.b="O/juDmi+"; dkim-atps=neutral Received: from mail-ot1-f44.google.com (mail-ot1-f44.google.com [209.85.210.44]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6B4AA10F0A9 for ; Thu, 11 Apr 2024 21:27:10 +0000 (UTC) Received: by mail-ot1-f44.google.com with SMTP id 46e09a7af769-6ea128e4079so195032a34.3 for ; Thu, 11 Apr 2024 14:27:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1712870829; x=1713475629; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=52u2K9stNj677Ch5sgU+s1qRTX+UAzyZOVoiAku6bfU=; b=O/juDmi+AwhhT8CB9lf6QZ+8BO5WCd4AFbU6QJFwX4Fl/M8c5DftWycrQ0URhqG3jP CS1fAo9c3LcG/1Ke5Mu9sMqz0DTb6GS4BHkcVRaCbiTRdu4KHUN8ixSerIlNST+oUypf P8abxvxDwyv3X9s5jOXFjacKGenh2Wvp0I2Eg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712870829; x=1713475629; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=52u2K9stNj677Ch5sgU+s1qRTX+UAzyZOVoiAku6bfU=; b=aj/5jzbo75eYgbd8OB7TUSZibbtnH0xASFRRDiM87ko1UV7opdiscQtMLm9sD93tjZ 2fPkawzYAfhYdhXXXTI5zKztkr9tKCI+rLaTPywkC8llET86C7x2KJLdOJsyJQY9N/9T UYUiQv9nIs8JECh5nzQq6tNjG+5F9tcbuum0eYfE61UL4H3gQcygSbZ2EiFJFnhHZoYt kLgoX6Q2Rq4dkxZXcKc3ddAQvO+fvRuXSr+EMbvxZp5ec6oSftYzxRS1csQ5beM7oIht G4Q1awj/lWS90Qa3cN1SX7mgOrIWhJKe6TrlLCqgXigaAkk9tudzEaHpVnvI+GQWLjYG 9X3g== X-Gm-Message-State: AOJu0YzOEtxjwLqG+BdpuB7SMk6s4ruJiBsEUsuau2rXixlRu9TqX9Oh CJf9q1NoJVMLGIjZYPpmhuVIgpsfEZnURdsTf240MEZp0GsxCROxXygOcJRwxP0gLFJiE4hJvmI NoCxne8caaiKMNtRgcxrZ3EjQh5gtW2blLhX1GHkgzZTjUdhSaoY+XuZ/FZvwPabOAOb+xQkFgn khDVPRGWFURJhjLk6T/sSofVp2UWHtwDuDCaJ1y3HyV5t+rKrJVNzf X-Google-Smtp-Source: AGHT+IF3cGiW98iVTJuBt1hwBA48M1zOty4YyxVsD8vSUAebWvh4Ek9j6Lh+fziW2YDk0CTOM0GsiA== X-Received: by 2002:a05:6808:179e:b0:3c6:4d7:abf9 with SMTP id bg30-20020a056808179e00b003c604d7abf9mr952586oib.55.1712870828997; Thu, 11 Apr 2024 14:27:08 -0700 (PDT) Received: from localhost ([216.221.31.53]) by smtp.gmail.com with ESMTPSA id t22-20020ac86a16000000b00434a165d45asm1377484qtr.38.2024.04.11.14.27.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Apr 2024 14:27:08 -0700 (PDT) From: Ian Forbes To: dri-devel@lists.freedesktop.org Cc: bcm-kernel-feedback-list@broadcom.com, zack.rusin@broadcom.com, martin.krastev@broadcom.com, maaz.mombasawala@broadcom.com, Ian Forbes Subject: [PATCH 2/4] drm/vmwgfx: 3D disabled should not effect STDU memory limits Date: Thu, 11 Apr 2024 16:26:49 -0500 Message-Id: <20240411212651.540-3-ian.forbes@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240411212651.540-1-ian.forbes@broadcom.com> References: <20240411212651.540-1-ian.forbes@broadcom.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This limit became a hard cap starting with the change referenced below. Surface creation on the device will fail if the requested size is larger than this limit so altering the value arbitrarily will expose modes that are too large for the device's hard limits. Fixes: 7ebb47c9f9ab ("drm/vmwgfx: Read new register for GB memory when available") Signed-off-by: Ian Forbes --- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c index 41ad13e45554..570d5fb65a2d 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c @@ -958,13 +958,6 @@ static int vmw_driver_load(struct vmw_private *dev_priv, u32 pci_id) vmw_read(dev_priv, SVGA_REG_SUGGESTED_GBOBJECT_MEM_SIZE_KB); - /* - * Workaround for low memory 2D VMs to compensate for the - * allocation taken by fbdev - */ - if (!(dev_priv->capabilities & SVGA_CAP_3D)) - mem_size *= 3; - dev_priv->max_mob_pages = mem_size * 1024 / PAGE_SIZE; dev_priv->max_primary_mem = vmw_read(dev_priv, SVGA_REG_MAX_PRIMARY_MEM); From patchwork Thu Apr 11 21:26:50 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Forbes X-Patchwork-Id: 13626570 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 14579C4345F for ; Thu, 11 Apr 2024 21:27:25 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id EF1F710F20E; Thu, 11 Apr 2024 21:27:21 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.b="A8fYzmLx"; dkim-atps=neutral Received: from mail-qv1-f53.google.com (mail-qv1-f53.google.com [209.85.219.53]) by gabe.freedesktop.org (Postfix) with ESMTPS id A48D310F178 for ; Thu, 11 Apr 2024 21:27:13 +0000 (UTC) Received: by mail-qv1-f53.google.com with SMTP id 6a1803df08f44-69b236a942dso12029176d6.0 for ; Thu, 11 Apr 2024 14:27:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1712870832; x=1713475632; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=27ARGpEtofbIIO/y9cIEsTeirpz7mqRhbVlvM4yTom4=; b=A8fYzmLxRgr6vcBmXok7h4UPt/Uac+7wvwVFb4Xtp8Y1G2BOm4bGVK48OXOJ6/ly3O QfEby9Cc1fWY5tCufUT7Y4HV7VzozpYYV6Q1G1UI5yJVWcD2Zs3wSwYpNu2tDqPWsJ5V yHcwYQJ4fm3syDzvSoRpeEjqJrjK/mjf5eDRU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712870832; x=1713475632; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=27ARGpEtofbIIO/y9cIEsTeirpz7mqRhbVlvM4yTom4=; b=UMWYHYIDHl8XUbvxciZaKvy4+7GFWGwUFLvGAnwscU2VNYr2rYKCLC0sg+qZii2XqT N3wiACUDgsXLchL3Zi0ILim17ZIHUby1Nq4R+2SUFBAjmpQmWrIIdIvzCytTbd+g5emH tseIUb7+2QJLr5ERE7Sv/fdy0cVl8DcIRACK0h1xIUvya8FX8pojgWTqtt/YCxrwD1c/ 8jAGunj4MrEJRDUc5BxhNNPIa1IMopnjjjm5tOrTcQlhL4sAqblW0mwqugK+ZlSiDv+k rOrI1DAe8M2QGFpjUateTflIosE5MyI7p1l1B/t40ZnjGygNHxDNEpefKsixd8I2B37D zTEQ== X-Gm-Message-State: AOJu0YxW/yMphRpmJfRUV+Y2yZ42qMzns+pcOjjEPEVjTztqPaSae8RD QDjW44/rVB4bbiKUnCAyrpve9KnwKA4Av+gd5Xziowv+OzNEQE9U6VlAiaHZ9U1FfEbZZrM8bOF EBEj7m4ORLyR43lKp668SP+uBYDhBTOV0r2kblcF+IXoX209rzw35598PREByWvE6k6s7mQNBRN ZJQNhzCwDpCTXVVkUnRun7mYcrnsdLbt4r531W+y0ePuXQw7+ocp00 X-Google-Smtp-Source: AGHT+IHNZlEN02pIh6Xyrq5C4cKFmL1rUB4Z7bGE0Oow9uf6oOmcI3JzmSXlpw/xb4GZmWex3DKyaQ== X-Received: by 2002:a0c:e84a:0:b0:699:393a:c366 with SMTP id l10-20020a0ce84a000000b00699393ac366mr1627503qvo.28.1712870832211; Thu, 11 Apr 2024 14:27:12 -0700 (PDT) Received: from localhost ([216.221.31.53]) by smtp.gmail.com with ESMTPSA id m4-20020ad45044000000b0069b525192e2sm670340qvq.45.2024.04.11.14.27.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Apr 2024 14:27:12 -0700 (PDT) From: Ian Forbes To: dri-devel@lists.freedesktop.org Cc: bcm-kernel-feedback-list@broadcom.com, zack.rusin@broadcom.com, martin.krastev@broadcom.com, maaz.mombasawala@broadcom.com, Ian Forbes Subject: [PATCH 3/4] drm/vmwgfx: Remove STDU logic from generic mode_valid function Date: Thu, 11 Apr 2024 16:26:50 -0500 Message-Id: <20240411212651.540-4-ian.forbes@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240411212651.540-1-ian.forbes@broadcom.com> References: <20240411212651.540-1-ian.forbes@broadcom.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" STDU has its own mode_valid function now so this logic can be removed from the generic version. Fixes: 935f795045a6 ("drm/vmwgfx: Refactor drm connector probing for display modes") Signed-off-by: Ian Forbes --- drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 3 --- drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 26 +++++++++----------------- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h index 4ecaea0026fc..a1ce41e1c468 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h @@ -1043,9 +1043,6 @@ void vmw_kms_cursor_snoop(struct vmw_surface *srf, int vmw_kms_write_svga(struct vmw_private *vmw_priv, unsigned width, unsigned height, unsigned pitch, unsigned bpp, unsigned depth); -bool vmw_kms_validate_mode_vram(struct vmw_private *dev_priv, - uint32_t pitch, - uint32_t height); int vmw_kms_present(struct vmw_private *dev_priv, struct drm_file *file_priv, struct vmw_framebuffer *vfb, diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c index 13b2820cae51..9532258a0848 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c @@ -2171,13 +2171,12 @@ int vmw_kms_write_svga(struct vmw_private *vmw_priv, return 0; } +static bool vmw_kms_validate_mode_vram(struct vmw_private *dev_priv, - uint32_t pitch, - uint32_t height) + u64 pitch, + u64 height) { - return ((u64) pitch * (u64) height) < (u64) - ((dev_priv->active_display_unit == vmw_du_screen_target) ? - dev_priv->max_primary_mem : dev_priv->vram_size); + return (pitch * height) < (u64)dev_priv->vram_size; } /** @@ -2873,25 +2872,18 @@ int vmw_du_helper_plane_update(struct vmw_du_update_plane *update) enum drm_mode_status vmw_connector_mode_valid(struct drm_connector *connector, struct drm_display_mode *mode) { + enum drm_mode_status ret; struct drm_device *dev = connector->dev; struct vmw_private *dev_priv = vmw_priv(dev); - u32 max_width = dev_priv->texture_max_width; - u32 max_height = dev_priv->texture_max_height; u32 assumed_cpp = 4; if (dev_priv->assume_16bpp) assumed_cpp = 2; - if (dev_priv->active_display_unit == vmw_du_screen_target) { - max_width = min(dev_priv->stdu_max_width, max_width); - max_height = min(dev_priv->stdu_max_height, max_height); - } - - if (max_width < mode->hdisplay) - return MODE_BAD_HVALUE; - - if (max_height < mode->vdisplay) - return MODE_BAD_VVALUE; + ret = drm_mode_validate_size(mode, dev_priv->texture_max_width, + dev_priv->texture_max_height); + if (ret != MODE_OK) + return ret; if (!vmw_kms_validate_mode_vram(dev_priv, mode->hdisplay * assumed_cpp, From patchwork Thu Apr 11 21:26:51 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Forbes X-Patchwork-Id: 13626571 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id AC4CAC4345F for ; Thu, 11 Apr 2024 21:27:29 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3F76010F23C; Thu, 11 Apr 2024 21:27:26 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.b="f1CZBPyL"; dkim-atps=neutral Received: from mail-qk1-f172.google.com (mail-qk1-f172.google.com [209.85.222.172]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1F96C10F178 for ; Thu, 11 Apr 2024 21:27:16 +0000 (UTC) Received: by mail-qk1-f172.google.com with SMTP id af79cd13be357-78d61a716ddso15242385a.3 for ; Thu, 11 Apr 2024 14:27:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1712870835; x=1713475635; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=00FZOCL4sng5Ck5aX5b8QcNlvsyxQYzhRIoubpVtMHU=; b=f1CZBPyLFyf3/e8+yl2/5//SDpd2hz7LERzy9XiDpgCx73pFzYr6fPOmVJvFBgnu+T Ease3lcqztGHeRNfym5naroc8JU2iu09A24njus5va7pFbKLUbWp364dpEjW6rgUUL9w vPWGMvOFsp1z0+EpHEzxbCGGPJrKP9M2RTU9w= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712870835; x=1713475635; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=00FZOCL4sng5Ck5aX5b8QcNlvsyxQYzhRIoubpVtMHU=; b=NcjEI3KyGG+z00hfyyNPyZ8XyJYeA/XmpLWr/kdj06v8WNWOvtpUQUkfjk3Vdl32O5 0e/Sp0LMhHb1+SEfJxXUPrL9HO2jGIQUqDwwCV8MlC8vVC7r4ub3XxhBPTCSiLKU4USh ewYuU5Tf2HE1QqyUYuqHTWHMMqEd7+HUu8sR/sjpGhh+GaYjPrVUqVqbliKPiUx9uAKS /0ZSrIEARIC7cDV8/6All3VzXnpOr29wY7yBeR414lnzkn+NoG6R7Zt3p7Lk/B3xLa5V jb/PCU2UZCPemxo5w0n89Pl0UlMF5wHvutX7Q8FKmA0mZx8QR0tf/dUhv95nTh3LqptH F7tQ== X-Gm-Message-State: AOJu0YyyENKjiDxlyOkWLLPBiLsPp1eHDWEplk1wiOUYV5SkcuGzgnQS pFPbswYMF6GC8XQVlPscTYhoqIh3TKOq39YEBSfEVGWWAoxMfSq5m/rxSYxyGYFdKdpzuUrzfoq r9MnFVMMcGN80S8EPQvbbcArvl3oq7tVMTVmuVZizGW/LSGceAAVm1QpsaLNSV52WQNAWea19Ky mgJLERVLkMIbzAIs44Fqw16mgpajL9ktVh9PFIWvUi0KS0a57q/9XI X-Google-Smtp-Source: AGHT+IFIvUyGMdLrKzHXbjuESV8hwJ02umuhNjp20PgBcMoYl2dD23VYHkmhYR/7HEmb/H2pAHFsKA== X-Received: by 2002:a05:620a:3b89:b0:78d:7034:c145 with SMTP id ye9-20020a05620a3b8900b0078d7034c145mr849865qkn.53.1712870835083; Thu, 11 Apr 2024 14:27:15 -0700 (PDT) Received: from localhost ([216.221.31.53]) by smtp.gmail.com with ESMTPSA id f4-20020a05620a20c400b0078d4732d92fsm1511524qka.115.2024.04.11.14.27.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 11 Apr 2024 14:27:14 -0700 (PDT) From: Ian Forbes To: dri-devel@lists.freedesktop.org Cc: bcm-kernel-feedback-list@broadcom.com, zack.rusin@broadcom.com, martin.krastev@broadcom.com, maaz.mombasawala@broadcom.com, Ian Forbes Subject: [PATCH 4/4] drm/vmwgfx: Standardize use of kibibytes when logging Date: Thu, 11 Apr 2024 16:26:51 -0500 Message-Id: <20240411212651.540-5-ian.forbes@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240411212651.540-1-ian.forbes@broadcom.com> References: <20240411212651.540-1-ian.forbes@broadcom.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Use the same standard abbreviation KiB instead of incorrect variants. Signed-off-by: Ian Forbes --- drivers/gpu/drm/vmwgfx/vmwgfx_drv.c | 12 ++++++------ drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c index 570d5fb65a2d..27973eed84cc 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.c @@ -744,7 +744,7 @@ static int vmw_setup_pci_resources(struct vmw_private *dev, dev->vram_size = pci_resource_len(pdev, 2); drm_info(&dev->drm, - "Register MMIO at 0x%pa size is %llu kiB\n", + "Register MMIO at 0x%pa size is %llu KiB\n", &rmmio_start, (uint64_t)rmmio_size / 1024); dev->rmmio = devm_ioremap(dev->drm.dev, rmmio_start, @@ -763,7 +763,7 @@ static int vmw_setup_pci_resources(struct vmw_private *dev, fifo_size = pci_resource_len(pdev, 2); drm_info(&dev->drm, - "FIFO at %pa size is %llu kiB\n", + "FIFO at %pa size is %llu KiB\n", &fifo_start, (uint64_t)fifo_size / 1024); dev->fifo_mem = devm_memremap(dev->drm.dev, fifo_start, @@ -788,7 +788,7 @@ static int vmw_setup_pci_resources(struct vmw_private *dev, * SVGA_REG_VRAM_SIZE. */ drm_info(&dev->drm, - "VRAM at %pa size is %llu kiB\n", + "VRAM at %pa size is %llu KiB\n", &dev->vram_start, (uint64_t)dev->vram_size / 1024); return 0; @@ -982,13 +982,13 @@ static int vmw_driver_load(struct vmw_private *dev_priv, u32 pci_id) dev_priv->max_primary_mem = dev_priv->vram_size; } drm_info(&dev_priv->drm, - "Legacy memory limits: VRAM = %llu kB, FIFO = %llu kB, surface = %u kB\n", + "Legacy memory limits: VRAM = %llu KiB, FIFO = %llu KiB, surface = %u KiB\n", (u64)dev_priv->vram_size / 1024, (u64)dev_priv->fifo_mem_size / 1024, dev_priv->memory_size / 1024); drm_info(&dev_priv->drm, - "MOB limits: max mob size = %u kB, max mob pages = %u\n", + "MOB limits: max mob size = %u KiB, max mob pages = %u\n", dev_priv->max_mob_size / 1024, dev_priv->max_mob_pages); ret = vmw_dma_masks(dev_priv); @@ -1006,7 +1006,7 @@ static int vmw_driver_load(struct vmw_private *dev_priv, u32 pci_id) (unsigned)dev_priv->max_gmr_pages); } drm_info(&dev_priv->drm, - "Maximum display memory size is %llu kiB\n", + "Maximum display memory size is %llu KiB\n", (uint64_t)dev_priv->max_primary_mem / 1024); /* Need mmio memory to check for fifo pitchlock cap. */ diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c b/drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c index a0b47c9b33f5..5bd967fbcf55 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_gmrid_manager.c @@ -94,14 +94,14 @@ static int vmw_gmrid_man_get_node(struct ttm_resource_manager *man, } else new_max_pages = gman->max_gmr_pages * 2; if (new_max_pages > gman->max_gmr_pages && new_max_pages >= gman->used_gmr_pages) { - DRM_WARN("vmwgfx: increasing guest mob limits to %u kB.\n", + DRM_WARN("vmwgfx: increasing guest mob limits to %u KiB.\n", ((new_max_pages) << (PAGE_SHIFT - 10))); gman->max_gmr_pages = new_max_pages; } else { char buf[256]; snprintf(buf, sizeof(buf), - "vmwgfx, error: guest graphics is out of memory (mob limit at: %ukB).\n", + "vmwgfx, error: guest graphics is out of memory (mob limit at: %u KiB).\n", ((gman->max_gmr_pages) << (PAGE_SHIFT - 10))); vmw_host_printf(buf); DRM_WARN("%s", buf);