From patchwork Sat Apr 6 09:11:16 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Forbes X-Patchwork-Id: 13623218 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 171FCCD1299 for ; Tue, 9 Apr 2024 20:25:58 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 8DF7C112F35; Tue, 9 Apr 2024 20:25:55 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.b="d1nsbhon"; dkim-atps=neutral Received: from mail-io1-f50.google.com (mail-io1-f50.google.com [209.85.166.50]) by gabe.freedesktop.org (Postfix) with ESMTPS id 11DE0112F33 for ; Tue, 9 Apr 2024 20:25:47 +0000 (UTC) Received: by mail-io1-f50.google.com with SMTP id ca18e2360f4ac-7d5de651252so123450839f.2 for ; Tue, 09 Apr 2024 13:25:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1712694347; x=1713299147; 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=d1nsbhon2XmNZUP0wjBrH3wgo+NcMxnKj3WAv1418vkJVLBK55R5LBKTtif7OR/7hA VwpR3AObsoTnWQY0RjMu0ey2GZxkdSpGGw/cE34vBpoSOD/EWdg9vIjFx7u1CtbvqFRN pnzjHY1mEBOYF1BoaOJI18cN7ILRcSkgPMZkE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712694347; x=1713299147; 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=vF6l9n1XQkdXc9IJnDi5/lQs2Cjb6aDtkyGlnSVW84VTpfw1bDjV/TPLTNJrm0Uvd6 f8Zf5Ci8keZTi5VP9EPOhWrfiXWLG8PwteZAWumnpqgIozdrjtwWvi8wVcYTSd3rjunM BOSVAzhcCRaB1uVTMdjU5JR13QH9n43YqJeiYBrxBI94tb3KTtnCeKnycoyBk9QMiOUM WePQglwSjb3ABdBNfGUWoUJFgs2mekjHujqSPZ8NoWCZYE5Vm8gQL0tyTdveogQLQ0KS +/YVedUN/jc/XOGNB9MvxtpbF2FW8acLyWaBV6mDD0ME/yGpDGvtDdsAielcCaa2rRt9 QV8Q== X-Gm-Message-State: AOJu0YwScTEcEBtWNbzevV6RRfmHwfuyqrvOW2jJJra/g4zffMGotKtD pMxFx3hrbG5bwr+QfuEWsogmOZKX9j64TtNJ4qvRgwFvL6AdcegCkTDdkyUMNXZTZXs5REecmOQ E1BgjJRYBIqmj/kiOPd1pvgQJtCbTs3HRg03fBrd3nBZpRO+WueoyLXrtqVa/LmU0biu+ywF6rf cs57zXWhakZY86M3apNdazGXIspk1f/70Q1ToXmJSF5m9sXaB/VpIH X-Google-Smtp-Source: AGHT+IH9KEQ7pqp79DsthUhbiVLTtS3xrOvIMyQyIqAGbx5ZpNfRw8A+A4T7eczZrSNItnU8/525Lg== X-Received: by 2002:a05:6602:36ca:b0:7d5:c3d9:d979 with SMTP id bg10-20020a05660236ca00b007d5c3d9d979mr982221iob.8.1712694346986; Tue, 09 Apr 2024 13:25:46 -0700 (PDT) Received: from localhost ([216.221.31.53]) by smtp.gmail.com with ESMTPSA id iq5-20020a056638840500b00482adf840f1sm424532jab.62.2024.04.09.13.25.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Apr 2024 13:25:46 -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 v2 1/4] drm/vmwgfx: Filter modes which exceed graphics memory Date: Sat, 6 Apr 2024 04:11:16 -0500 Message-Id: <20240406091119.26567-2-ian.forbes@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240406091119.26567-1-ian.forbes@broadcom.com> References: <20240401195645.31081-1-ian.forbes@broadcom.com> <20240406091119.26567-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 Sat Apr 6 09:11:17 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Forbes X-Patchwork-Id: 13623219 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 96DFCC67861 for ; Tue, 9 Apr 2024 20:26:00 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2D359112F39; Tue, 9 Apr 2024 20:25:56 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.b="hX4/aKlO"; dkim-atps=neutral Received: from mail-il1-f170.google.com (mail-il1-f170.google.com [209.85.166.170]) by gabe.freedesktop.org (Postfix) with ESMTPS id 342B2112F33 for ; Tue, 9 Apr 2024 20:25:51 +0000 (UTC) Received: by mail-il1-f170.google.com with SMTP id e9e14a558f8ab-36a0f64f5e0so18473335ab.3 for ; Tue, 09 Apr 2024 13:25:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1712694350; x=1713299150; 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=hX4/aKlOb9ufSIYIIZkBg6Lq/41xj8/7L/kOI+lPorIv97UvwFI7ZJXv4Q+5857iwE Ka2l6aJPXAFdOOE3kTu+Gos4kLlTuKBNbKYsdhns2sAx99MWsR2zHPf+HB3ixw+vVTZP EfUXyv4aGtPxTKChdCrE0NdZpaGKnTTO0wo2A= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712694350; x=1713299150; 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=fdtfhdQwkvmW/gzU9XtmfaZ3fbtY3YW5io5CEmF6Uq5jieMSxK8MpWkjtr+PTnr70g WjZpCuLsvTmnK/aL7sMLIb61lHO8cDcUD2sL6rlSPAP7DwWle5RYB2JFyQSxL7akuFYX N8V0Bc49agDAmx97FO+W8FRNscQbgn8MaoPa0PVGMn0AuKKiV463GPdjOfdEfI9WMbX8 ywQXW+ojZCW+/yC4Bwjuxfz4KPcavDozi0UrG1e+ffJRQZqx/seBf131xOsvqjYOgaH7 GyxQVeZiYbU8tf/69Pwi9uGopiATBGQZKMqtKWM3fMCeCsE6ef9F7CHScfE2a44xEI0v 8auQ== X-Gm-Message-State: AOJu0YyM93a2cSqLDxKIyifdvtKf+4J4s0ImdsDTaV1OfmAB1HwMmHsF twyVjlTre1wfAAB1E0TBUWxA1LEgxnyN8+6/ud84yTnI12TBBBGSIuQqimgcOR7xwY/ezqYqzr3 jZ9wwvCJ0yKJ+rBaBQOX/XPFYcPWclIpegwiJec1mke0zDT/qjt2H5Uzq0Rn+y5GC6uhWK9f2/O T9d6CAA+00rRvbsB0SK3rseO5FtUeq3yG9BX0qEoQvkwuipqgAmu+Z X-Google-Smtp-Source: AGHT+IGOx4jD6LOqyGOdUTb2syMc40HwqZo+fouLzMB+NTMm//nz/xz7K3J7G8M8M3CVptUBLo6f0A== X-Received: by 2002:a05:6e02:1a67:b0:368:9b91:4d1 with SMTP id w7-20020a056e021a6700b003689b9104d1mr1076781ilv.15.1712694349822; Tue, 09 Apr 2024 13:25:49 -0700 (PDT) Received: from localhost ([216.221.31.53]) by smtp.gmail.com with ESMTPSA id v14-20020a92cd4e000000b0036a0a54628bsm2725372ilq.81.2024.04.09.13.25.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Apr 2024 13:25:49 -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 v2 2/4] drm/vmwgfx: 3D disabled should not effect STDU memory limits Date: Sat, 6 Apr 2024 04:11:17 -0500 Message-Id: <20240406091119.26567-3-ian.forbes@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240406091119.26567-1-ian.forbes@broadcom.com> References: <20240401195645.31081-1-ian.forbes@broadcom.com> <20240406091119.26567-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 Sat Apr 6 09:11:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Forbes X-Patchwork-Id: 13623217 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 2630CCD128A for ; Tue, 9 Apr 2024 20:25:56 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 27007112F33; Tue, 9 Apr 2024 20:25:55 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.b="H12p3nQB"; dkim-atps=neutral Received: from mail-il1-f176.google.com (mail-il1-f176.google.com [209.85.166.176]) by gabe.freedesktop.org (Postfix) with ESMTPS id 57C97112F38 for ; Tue, 9 Apr 2024 20:25:53 +0000 (UTC) Received: by mail-il1-f176.google.com with SMTP id e9e14a558f8ab-36a3a5465c6so707025ab.0 for ; Tue, 09 Apr 2024 13:25:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1712694352; x=1713299152; 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=H12p3nQBUDsDz7sIenJg/Sejs35vAQle/CQ3lSdZYsl2beZL3w+GflVRRRpJgzKpqy MNe3Yw3culu4sNdVYbLZnhbVsWaC8JTkvt2CkJw4Fr6adpH4bXBbNeZAC8hWlS0AyhuF sChiqJymMICHrlsVNoQ+8zMYfqfsp2RQdpgWA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712694352; x=1713299152; 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=AmZkifK735FwQqRtFfIWlVSWsVEyT9dcfwZj5/NrAe5thAr5ZFmvIMDiCbF1SfP4pn yCvTPUg6YE3j7JwRt/FkVuW0hm3GdIYgakbb3SD0ludI+LxKJc+Pfb9XkFs6XE9kFBE1 3CybZr8z8jZzzeKKWwT+SkB39shM3zreyDbMVGC1pbvw7eTqglUOsiV4mA2z19arcZfU SSMcBteNOYymhE41BKsrvLa1XT4BsOTpYL2o3Ne+km2oGyQ0IpNdvBOJP2ZigcogoA4y 6ge+UtRlajH9vSWkncI+4ZNzk2m9YT/YL/3JQMHipxGUjGJRCwE+yi4q/3P487G8TGy3 lLUQ== X-Gm-Message-State: AOJu0YzoU5Q0Pik0fgzYoqwon2RsvLhNRClJrgmuDgvQoJTkF0JdyKNq gevZyS64+5aQ5h53NZ59i76AvJAPtEHR+0/6cDmWT4aXAxOWc6Y04ySXW0mT3gqSGRVIozidToO M8F/+JSWeIhs1RgM/RgdJmtgQbMp2x3ZqqiTr1pPXYmwryw4tbtN5CXPz+3DyOiy7XH5DpdJnZ5 XoaBjIMsJb7DloXDZbiHlmHUskj9g617CgQbKq+B+UlbEwNoF4UDO8 X-Google-Smtp-Source: AGHT+IENhonbSNqQACgGMF9rxKwvWSYGOERWYEhrRwsSnE8QQzg53IobzAL4XvnawLmJKCNlTODGeg== X-Received: by 2002:a05:6e02:1748:b0:36a:1fb5:ef6f with SMTP id y8-20020a056e02174800b0036a1fb5ef6fmr1204318ill.13.1712694352282; Tue, 09 Apr 2024 13:25:52 -0700 (PDT) Received: from localhost ([216.221.31.53]) by smtp.gmail.com with ESMTPSA id k11-20020a92c9cb000000b00369ffbc0176sm2754996ilq.73.2024.04.09.13.25.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Apr 2024 13:25:52 -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 v2 3/4] drm/vmwgfx: Remove STDU logic from generic mode_valid function Date: Sat, 6 Apr 2024 04:11:18 -0500 Message-Id: <20240406091119.26567-4-ian.forbes@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240406091119.26567-1-ian.forbes@broadcom.com> References: <20240401195645.31081-1-ian.forbes@broadcom.com> <20240406091119.26567-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 Sat Apr 6 09:11:19 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Forbes X-Patchwork-Id: 13623220 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 512A0CD1299 for ; Tue, 9 Apr 2024 20:26:02 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AFF9B112F38; Tue, 9 Apr 2024 20:25:57 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=broadcom.com header.i=@broadcom.com header.b="MW0ZT7LC"; dkim-atps=neutral Received: from mail-io1-f48.google.com (mail-io1-f48.google.com [209.85.166.48]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1539C112F38 for ; Tue, 9 Apr 2024 20:25:56 +0000 (UTC) Received: by mail-io1-f48.google.com with SMTP id ca18e2360f4ac-7c8d2e0e9cfso160721339f.1 for ; Tue, 09 Apr 2024 13:25:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1712694355; x=1713299155; 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=MW0ZT7LCgHU/4JEsrcZuZjBvtWL4FoO3VlBnC2ZE2f3Wp3fI2SAq1l4MqbNr1q9f5o dZCBZryupZhX4qb5I/xLK7FUWfPq32QUHDsBMH/jh9z3lxhS5caS6pxeCvRj5+LvdIzd gol8bH1m4SRnw80j3S2v9OlMszdSvnBpcHZO8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712694355; x=1713299155; 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=N6GTFLYiFtVATNZs1QarVRjLfZcf6bROpvPvw5BMSp5lPyDuDbJqu7lZum8LNAA64b BCnyuw7dHuu7/2Is/VnbrSRGvg4DgIpBdTNuol0CctXJKCgv49ku6WJthd4kOAbLi4oZ AFxFoVeSDGV0JA7lM9LNRbVE5CHPLkO4+78T5Ac+UV0zXrmeHLQE0VxqL+FXSZMp+8jp 7p+vgTy7PFLItctNqfmsUQZREB4SGStX3xyevS+5XDugk164kmHL2kvGgIUX6pk3k/3n 1DmrMPqACoymje0TetfGGcj8E6NMWF0VLTm4Y15NdmyaMIvnuZDt+XYsSAdyFv5Onq+4 FL6A== X-Gm-Message-State: AOJu0YwlAbxJV9xAZkg37Ak8NcyYRsDf/aFVQnTNaWhymy2L1fW1URiO zPpiWqXS8y15nHRbT6zznjkjRqhIybnq/yAyokEE7gq6x/IaNRXaoOxy2tIW/JkcOENH/E13UtS pzPDvVfqQp4xcpRSgLLmZuo9TMzpw6gRW1jNhNJdE3GFfewu3AsCOew7p0469+YOjqTI3Yy5YfW W/1d6HuDGuOHXwuuu4POYlxOPoCjQTYrmZOJ3Hj09gGz7w2/i8Zk4Q X-Google-Smtp-Source: AGHT+IHJfesQNSsC0r4jTMOy7zpQ0WrdCY2YBArfNvqvsvy3W6SWBArAn54A+UWGkmerAChdibYmJA== X-Received: by 2002:a05:6602:3817:b0:7d5:dd26:a396 with SMTP id bb23-20020a056602381700b007d5dd26a396mr868154iob.3.1712694354947; Tue, 09 Apr 2024 13:25:54 -0700 (PDT) Received: from localhost ([216.221.31.53]) by smtp.gmail.com with ESMTPSA id he23-20020a0566386d1700b00482a8b071a5sm594125jab.8.2024.04.09.13.25.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Apr 2024 13:25:54 -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 v2 4/4] drm/vmwgfx: Standardize use of kibibytes when logging Date: Sat, 6 Apr 2024 04:11:19 -0500 Message-Id: <20240406091119.26567-5-ian.forbes@broadcom.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240406091119.26567-1-ian.forbes@broadcom.com> References: <20240401195645.31081-1-ian.forbes@broadcom.com> <20240406091119.26567-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);