Received: by 2002:a05:7412:e794:b0:fa:551:50a7 with SMTP id o20csp3005069rdd; Sat, 13 Jan 2024 10:41:31 -0800 (PST) X-Google-Smtp-Source: AGHT+IHpdsmC9d8XaO+J0Rd9QPV9NfCAJFKOebQFd268Vb2/0R2scaeWjoHAoKgMi6Q9NaOQaK7V X-Received: by 2002:a05:600c:20d3:b0:40e:448b:28aa with SMTP id y19-20020a05600c20d300b0040e448b28aamr1774083wmm.54.1705171291017; Sat, 13 Jan 2024 10:41:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705171291; cv=none; d=google.com; s=arc-20160816; b=k3ZozZMCh/kKyr5oNPw2UwZg/Ptg1diWXGtjhbdrl3qaC7B/vVA5yNIof0i8sQ6Bkx WryE8yGAIt0xHhFKY0jQ6z2v4pifhqJaLCEaYLLdbcN3Zi7q/NDzyX6eqnwU6emFc7gA XcllReR7oSvzKIo0xaQhjDLKty8JFBjCWfH5k034pfviWt2d97NwTVuhzbdyJ2igVzly iGPVNuKRU0wpM6JyjBeotD8VJ0T6NAUlUyFRbN3DsUMfmD1KkoicwS8olQrj08bcMuAW qyy9294+UmQq9P+sHrtur1wM/RgeG+2xIvC/++IGOUf0uL9dZ7rqkFcpITwjeLxFyTtr 9+mA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=RuJgwh+4GbW/+hxO9wfk+hS1gNlricVg+fWINBANyag=; fh=51wBKrsxzV7nNloUaLaoIM1fClyjSjHejqSUzT4Iv8s=; b=lS8H5HcK+viXwlgadrXyQrb2hYnf8Fi0ljJWPdeU6dAu0syb1iORFsgrkK+lNarZpn w11qkl5bdHJo/9iyzCImqCjygQcWg6SKumsBuMb33BwDJgV0vCZzvddbCbptIS5fD1vE 3oHPDU5BQIkPkRm4FtC7K69jyRsO0QXSp//lqKgjR6P+nc8twwE9Sq1hjJ/QG8CPvf0U SwZYV6nP3Do2xOrwLM1xKSENiNQ2VoA6W+yV+TWl5+6DttKfLsugSDJ205w4BfJuvQP7 rJw8JTdS7DYblAygU1Q4DYtEZRpgIB/NGqCJCFpocWPmBd/bJOZ7s/c+piWapMPOLZmV UWGw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@aurel32.net header.s=202004.hall header.b=s6GswYBU; spf=pass (google.com: domain of linux-kernel+bounces-25355-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-25355-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=aurel32.net Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id b67-20020a509f49000000b00558ede74d00si943914edf.688.2024.01.13.10.41.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 13 Jan 2024 10:41:30 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-25355-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@aurel32.net header.s=202004.hall header.b=s6GswYBU; spf=pass (google.com: domain of linux-kernel+bounces-25355-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-25355-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=aurel32.net Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id AE92F1F22389 for ; Sat, 13 Jan 2024 18:41:30 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id EC09D63C7; Sat, 13 Jan 2024 18:41:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=aurel32.net header.i=@aurel32.net header.b="s6GswYBU" Received: from hall.aurel32.net (hall.aurel32.net [195.154.113.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3A23963A6; Sat, 13 Jan 2024 18:41:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=aurel32.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=aurel32.net DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=aurel32.net ; s=202004.hall; h=Content-Transfer-Encoding:MIME-Version:Message-ID:Date: Subject:Cc:To:From:Content-Type:From:Reply-To:Subject:Content-ID: Content-Description:In-Reply-To:References:X-Debbugs-Cc; bh=RuJgwh+4GbW/+hxO9wfk+hS1gNlricVg+fWINBANyag=; b=s6GswYBUChRyFi0RUQt7eFa348 THJNVCSfF9dsOWDNXQ2FyYVugMB2FDC7WvDNfGy6Ub8SxZ1fbGUolaOirL8G0fDVKIyUmFY3VsvfV iSHyPD0pkTADxfCse4NF8BlBkXEN9Fqa9BpS3FFcKOJwHjdD6iMcl79QZl05Y91WfIX+QU+MrIfn2 bQ4uKuxrr63dBE8vqAydFK0b8Opj6Cx3T2RT/3o+xMuz1NPCLfyeR1JZIt6HmibnsU2OQzrbGj3c6 N7BkRNkTDIbAleC4mkFNs201XSU3vS48Ov1Ec4/yQEUjAAaiqS2RHtZSW+OrU+sJykf/ZuNWfoA0u UIt+sGkw==; Received: from ohm.aurel32.net ([2001:bc8:30d7:111::2] helo=ohm.rr44.fr) by hall.aurel32.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1rOip8-00HYMM-1w; Sat, 13 Jan 2024 19:33:38 +0100 From: Aurelien Jarno To: linux-kernel@vger.kernel.org, Bluecherry Maintainers , Anton Sviridenko , Andrey Utkin , Ismael Luceno , Mauro Carvalho Chehab , linux-media@vger.kernel.org (open list:SOFTLOGIC 6x10 MPEG CODEC) Cc: Linus Torvalds , Andy Shevchenko' , Andrew Morton' , Matthew Wilcox , Christoph Hellwig' , "Jason A . Donenfeld" , Aurelien Jarno , Jiri Slaby , stable@vger.kernel.org, David Laight Subject: [PATCH] media: solo6x10: replace max(a, min(b, c)) by clamp(b, a, c) Date: Sat, 13 Jan 2024 19:33:31 +0100 Message-ID: <20240113183334.1690740-1-aurelien@aurel32.net> X-Mailer: git-send-email 2.42.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit This patch replaces max(a, min(b, c)) by clamp(b, a, c) in the solo6x10 driver. This improves the readability and more importantly, for the solo6x10-p2m.c file, this reduces on my system (x86-64, gcc 13): - the preprocessed size from 121 MiB to 4.5 MiB; - the build CPU time from 46.8 s to 1.6 s; - the build memory from 2786 MiB to 98MiB. In fine, this allows this relatively simple C file to be built on a 32-bit system. Reported-by: Jiri Slaby Closes: https://lore.kernel.org/lkml/18c6df0d-45ed-450c-9eda-95160a2bbb8e@gmail.com/ Cc: stable@vger.kernel.org # v6.7+ Suggested-by: David Laight Signed-off-by: Aurelien Jarno --- drivers/media/pci/solo6x10/solo6x10-offsets.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/media/pci/solo6x10/solo6x10-offsets.h b/drivers/media/pci/solo6x10/solo6x10-offsets.h index f414ee1316f2..fdbb817e6360 100644 --- a/drivers/media/pci/solo6x10/solo6x10-offsets.h +++ b/drivers/media/pci/solo6x10/solo6x10-offsets.h @@ -57,16 +57,16 @@ #define SOLO_MP4E_EXT_ADDR(__solo) \ (SOLO_EREF_EXT_ADDR(__solo) + SOLO_EREF_EXT_AREA(__solo)) #define SOLO_MP4E_EXT_SIZE(__solo) \ - max((__solo->nr_chans * 0x00080000), \ - min(((__solo->sdram_size - SOLO_MP4E_EXT_ADDR(__solo)) - \ - __SOLO_JPEG_MIN_SIZE(__solo)), 0x00ff0000)) + clamp(__solo->sdram_size - SOLO_MP4E_EXT_ADDR(__solo) - \ + __SOLO_JPEG_MIN_SIZE(__solo), \ + __solo->nr_chans * 0x00080000, 0x00ff0000) #define __SOLO_JPEG_MIN_SIZE(__solo) (__solo->nr_chans * 0x00080000) #define SOLO_JPEG_EXT_ADDR(__solo) \ (SOLO_MP4E_EXT_ADDR(__solo) + SOLO_MP4E_EXT_SIZE(__solo)) #define SOLO_JPEG_EXT_SIZE(__solo) \ - max(__SOLO_JPEG_MIN_SIZE(__solo), \ - min((__solo->sdram_size - SOLO_JPEG_EXT_ADDR(__solo)), 0x00ff0000)) + clamp(__solo->sdram_size - SOLO_JPEG_EXT_ADDR(__solo), \ + __SOLO_JPEG_MIN_SIZE(__solo), 0x00ff0000) #define SOLO_SDRAM_END(__solo) \ (SOLO_JPEG_EXT_ADDR(__solo) + SOLO_JPEG_EXT_SIZE(__solo)) -- 2.42.0