From nobody Sun Feb 8 20:58:57 2026 Received: from mail-qv1-f43.google.com (mail-qv1-f43.google.com [209.85.219.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5BE1718F2D4 for ; Sat, 11 Jan 2025 09:55:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736589327; cv=none; b=E28nN0bm254x8G5GMLkmBAaqG1oOaRmZGrV4IYbTMWL84GVw1GVn05xwVFkkrKsgv0pE+cRw0eU8L4kgOiaMwZJ5NKRqCZIsTsYmuszyjVFM/fkQtT6KspYBEy4AMORu/vPu8kORYnWxBjThAE6wSxgEirqcrZUNM6wDbzaWpvY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736589327; c=relaxed/simple; bh=cJ3Ao2R6zgoGJgyibADb5EAE6IKBeo/pElOZjlQDp0Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZyTcsJPOeAv6lI6gDaDke+DMeD8fhlvdHt+8KqiaRNu3UbsR/rVxFmqHBq7xrCH8p1WqNKBZYQT2DEiTEc8rmNgcTsoa/swZSwS4pQRe2lFiITxjLl385gyVggbiqwWfu+fbq1h4jErNYrwVKdyPjHMPDKVik8PqJF62aPl2G7c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=OuMYyroZ; arc=none smtp.client-ip=209.85.219.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="OuMYyroZ" Received: by mail-qv1-f43.google.com with SMTP id 6a1803df08f44-6dcc42b5e30so32494286d6.1 for ; Sat, 11 Jan 2025 01:55:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1736589324; x=1737194124; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=52iWgPg8zx+q33hKer1CkCPQAZHddOV8vj+q0ZyeQAY=; b=OuMYyroZ54iH3H6THbYRxENeEoSEm6U9dF9xpWxmLlRUSPh2Ze2UF+ZOeCuX+s/OKM wnDnthyOIuTqks1c+0lB8q7kVXqGtBxV2xi8rJMwDWMTZd+T9KBlxHodSFZuIlK+g83u A1KZ1Mz1rf1NnH+dkinadBwAmyVmx7LRXFlbg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736589324; x=1737194124; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=52iWgPg8zx+q33hKer1CkCPQAZHddOV8vj+q0ZyeQAY=; b=bCD/j7de4FvC7ntWBn3oZB+0D0lPrhMJ1qmLc1/QJphv14rOpgU3jNhtDPkb60sTWH XsOUJDtiayaNQ0PQbWZ9NGj3UuK3Xh78LoScymck48PuaFum8tSEY71MnYKeOgmSrOe7 qkkUrAwy4MIwvMaMu20LamEa5rv2XbkAm3NdXiOD5Z1YhrwuJVO0eArXcpD6w5y0Zrw4 Anx/8+tWvJh3dUWipGitmOS/G1SWh8CYhOpo57H9fFXoepfBepwYqLX3jhLT/3ulqpTu XPbqwesPtrPpV3GYcEhZU6YFz/t0BDUkM0grWCNGpgtZ1ga4zxmcYBDRJmEOql0XQiZi 2mlQ== X-Forwarded-Encrypted: i=1; AJvYcCWe2q9B0nmQA9ext39rd7Mvmckh13gHx7ftv7v/CldcECs08kKZ4/pOfqrrNxygx6QJNEbCA8hb9FIbzTw=@vger.kernel.org X-Gm-Message-State: AOJu0YxXawuDMvI6dFVduBO9ZeyT1emHN6MHyaSZZDVC7xh2WbzTw1pX a12Xt+RbOWuY5SAsnqQMssr8J7T3F9VrIDaz5oYqP2Z4E/cG9xV7LqDq3Uth8Q== X-Gm-Gg: ASbGnctxLu8qIhT2rj53tGYkbe3E0YHiLP9Y0+85UuetAS91qOVFqQD30mYYWVyPnKh uzD+k1lqrL0iy+fVVYa73RMPzchvXhV1CkQkojQeLOAuL0QfoMJqqDO9H1X3AmN2gdMS4GIHBan eZ9iNLnjQjBFCgt+SLRcB6n/NwvmyqzQS9TreC+E5BdLTdeyt2icjMu0l6EEf4nAirWK8rhJa9U OhiKtAkZeDVh/vHlfnAFMFBmy5YGcacanv+v4tGRL/VhKc8eCX0IYPawiyvmgmMR1v7c++EoNCR Ff5CFpPfCKigL6gW4akZaj9Jw2jx0k5AlU0x X-Google-Smtp-Source: AGHT+IFqiGK2VIMRcFvBZ2YyjvHmdtNauhF62df7aKlMfYRbakz7XnEj9n0FSoSywyG9ImyL+3sm3w== X-Received: by 2002:a05:6214:2a8f:b0:6d8:8e16:7c29 with SMTP id 6a1803df08f44-6df9b2383f5mr216932866d6.14.1736589324231; Sat, 11 Jan 2025 01:55:24 -0800 (PST) Received: from denia.c.googlers.com (172.174.245.35.bc.googleusercontent.com. [35.245.174.172]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7bce327b8besm267096785a.59.2025.01.11.01.55.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jan 2025 01:55:23 -0800 (PST) From: Ricardo Ribalda Date: Sat, 11 Jan 2025 09:55:14 +0000 Subject: [PATCH v6 1/6] media: dvb-frontends: tda10048: Make the range of z explicit. Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250111-fix-cocci-v6-1-1aa7842006cc@chromium.org> References: <20250111-fix-cocci-v6-0-1aa7842006cc@chromium.org> In-Reply-To: <20250111-fix-cocci-v6-0-1aa7842006cc@chromium.org> To: Mauro Carvalho Chehab , Stanimir Varbanov , Vikash Garodia , Bryan O'Donoghue , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Kosta Stefanov , Ricardo Ribalda X-Mailer: b4 0.13.0 The datasheet recommends 55MHz frequency sampling, with a max of 69 MHz. (Kudos to Kosta Stefanov for the calculations). Replace z with a 32 bit uint, and make the range of the variable explicit. Found by cocci: drivers/media/dvb-frontends/tda10048.c:345:1-7: WARNING: do_div() does a 64= -by-32 division, please consider using div64_u64 instead. Reviewed-by: Kosta Stefanov Signed-off-by: Ricardo Ribalda --- drivers/media/dvb-frontends/tda10048.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/media/dvb-frontends/tda10048.c b/drivers/media/dvb-fro= ntends/tda10048.c index 3e725cdcc66b..1f87eb0dcf2a 100644 --- a/drivers/media/dvb-frontends/tda10048.c +++ b/drivers/media/dvb-frontends/tda10048.c @@ -328,7 +328,8 @@ static int tda10048_set_wref(struct dvb_frontend *fe, u= 32 sample_freq_hz, u32 bw) { struct tda10048_state *state =3D fe->demodulator_priv; - u64 t, z; + u64 t; + u32 z; =20 dprintk(1, "%s()\n", __func__); =20 @@ -341,6 +342,11 @@ static int tda10048_set_wref(struct dvb_frontend *fe, = u32 sample_freq_hz, /* t *=3D 2147483648 on 32bit platforms */ t *=3D (2048 * 1024); t *=3D 1024; + + /* + * Sample frequency is typically 55 MHz, with a theoretical maximum of + * 69 MHz. With a 32 bit z we have enough accuracy for up to 613 MHz. + */ z =3D 7 * sample_freq_hz; do_div(t, z); t +=3D 5; --=20 2.47.1.613.gc27f4b7a9f-goog From nobody Sun Feb 8 20:58:57 2026 Received: from mail-qv1-f43.google.com (mail-qv1-f43.google.com [209.85.219.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1D3E0190661 for ; Sat, 11 Jan 2025 09:55:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736589331; cv=none; b=EuKZkQBAo6FPRQ0a+V4sQhoJoqgkZl8pJ71y7TuD5gI5+SNDXm4us1i3EY3SKxIPlYNYGLa85o6dRB+Y3MErq4k+nWJ0Ea5HKxyUOXnLlX3YA6ss30KfUzBrjP3K3TYh2NfMSGgGv2ZcbDhuRJEjEkr7G+s6G3dlGAGnvvSPCkk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736589331; c=relaxed/simple; bh=wNqPLVCH3hrYmgRdcOul7vFmT8NC6JPiLWWSYrAMGoA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pbJmKBLxhZVXSF+9EqPa8bvkvYKmc1UHzsHuJs2MGjIeh/j73Jx7rCHNikOm6b2oI/1o6MbSfe7nKisOta4/wMibM2S8sVh7YBoAkpaaIbfxuev6E3AI0rOH1+wNT6k78RNyYJQFOdxDfseKJWF8sjTpwrd9wwTEMqqgA7H5kPo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=mzmvtG/6; arc=none smtp.client-ip=209.85.219.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="mzmvtG/6" Received: by mail-qv1-f43.google.com with SMTP id 6a1803df08f44-6d900c27af7so24628416d6.2 for ; Sat, 11 Jan 2025 01:55:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1736589327; x=1737194127; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=oCQd+Ixr8eKIqoAvIvPqynaVVvGYXfmfSE/3mmNL7HE=; b=mzmvtG/6r8mK1zoH6VyrK6+xwRRAqfawlkHIsMszsUYLwvRYn/6TL6Qr61/nvx8rAs Gdd6cw9NSir9g7J/HgO8xO7qrQTrxXDEXPVfhXpquWrhuvR6ClZz03Lm7piHlXl+HFPd BDIm1RO4GnaeoAduoXWkj5W/YsYTt8+q8gCHY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736589327; x=1737194127; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oCQd+Ixr8eKIqoAvIvPqynaVVvGYXfmfSE/3mmNL7HE=; b=JOx45UeDNp7wGJIEkz33BPO9vCX9Yz2YJKf1+91FYNCoN8eZTXJMYzLFuS2wqPsMoR 40xXZt9g18hhCrIIK7XfvnODmQa4kayoB7k0dwAuwUVvu2FXhHt1M44scarvMbZUoNT0 /MuXOUzfqvKxG8QPTtsFXvjlKASCNICG5vApzcD27KPL/UVZ15utZbqSkcFGUgX8BFMX dd2PjQMhiBJf4fmX9C1y5XYxVdf6z/S05mx4525GJdGeMR7gy8T9gV2AzOd4z2HHO1kT cGVXpPJ77d3Fb3gu+0Q/PMQv5uYLpb4Z9gaeR5VWPt9AMpMhCboDt9QwWzmt5aBXjuN9 taYw== X-Forwarded-Encrypted: i=1; AJvYcCVYlbhdvv5ctPGjjh2S5q+59uSroo4gFPmU/A8/ywJEdIaJFOqioHOtitN+1bbtCbbn0NXqJgB+q7AGwvk=@vger.kernel.org X-Gm-Message-State: AOJu0YxaVFPAqYaGUF1SUrE7qQr9O88CqmYGKsSQ+k0pVxbihMoMV1xo fy7oPv+5e61Hw7nPctjb3FwlkKJMs+ZLNpy4MBVSOtMZL7A8xheIRRETgw4Rhw== X-Gm-Gg: ASbGncs0lPx/Xi2CyR10RUWq1julM7KHbrEsNtQdRWfIa3xvOGj5qsnl337Jxt/QJg5 kEYvVbQ+0rO/Da32KatCMWnWZDsqvhlK4f3O0uKeHZB8ME09oeSiGWKD649vNNVXNqsFr7hOssi m0KSgenQifuXi14hM3sWSmc7J00txQH0paFmZSe6Kv0WIYynHSnapjUECg3RJHLRC+ffyRkDwth YR9WK9Oa0Uz9f1W2JttCZm1nZRyhmxEwC0XcutNmnzRrdLSvAD+KmgxkgeJ+gRk389gerVZdfkd D3hyztZ+m1McqsTgU7L484z0u+GAFC2wZmdu X-Google-Smtp-Source: AGHT+IHefNcjGKIvCVrBMfxFKkoA1dyzaoWQ3H4EQvH1E/W+4lJXoiyaYADeYG3+4FMKAC4ihgK0qA== X-Received: by 2002:a05:6214:4111:b0:6d8:8416:9c54 with SMTP id 6a1803df08f44-6df9b1ed60bmr244663736d6.16.1736589326457; Sat, 11 Jan 2025 01:55:26 -0800 (PST) Received: from denia.c.googlers.com (172.174.245.35.bc.googleusercontent.com. [35.245.174.172]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7bce327b8besm267096785a.59.2025.01.11.01.55.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jan 2025 01:55:25 -0800 (PST) From: Ricardo Ribalda Date: Sat, 11 Jan 2025 09:55:15 +0000 Subject: [PATCH v6 2/6] media: venus: vdec: Clamp parm smaller than 1fps and bigger than 240. Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250111-fix-cocci-v6-2-1aa7842006cc@chromium.org> References: <20250111-fix-cocci-v6-0-1aa7842006cc@chromium.org> In-Reply-To: <20250111-fix-cocci-v6-0-1aa7842006cc@chromium.org> To: Mauro Carvalho Chehab , Stanimir Varbanov , Vikash Garodia , Bryan O'Donoghue , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Ricardo Ribalda X-Mailer: b4 0.13.0 The driver uses "whole" fps in all its calculations (e.g. in load_per_instance()). Those calculation expect an fps bigger than 1, and not big enough to overflow. Clamp the value if the user provides a parm that will result in an invalid fps. Reported-by: Hans Verkuil Closes: https://lore.kernel.org/linux-media/f11653a7-bc49-48cd-9cdb-1659147= 453e4@xs4all.nl/T/#m91cd962ac942834654f94c92206e2f85ff7d97f0 Fixes: 7472c1c69138 ("[media] media: venus: vdec: add video decoder files") Signed-off-by: Ricardo Ribalda Reviewed-by: Bryan O'Donoghue Tested-by: Bryan O'Donoghue # qrb5615-rb5 --- drivers/media/platform/qcom/venus/core.h | 2 ++ drivers/media/platform/qcom/venus/vdec.c | 5 ++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/media/platform/qcom/venus/core.h b/drivers/media/platf= orm/qcom/venus/core.h index 44f1c3bc4186..afae2b9fdaf7 100644 --- a/drivers/media/platform/qcom/venus/core.h +++ b/drivers/media/platform/qcom/venus/core.h @@ -28,6 +28,8 @@ #define VIDC_RESETS_NUM_MAX 2 #define VIDC_MAX_HIER_CODING_LAYER 6 =20 +#define VENUS_MAX_FPS 240 + extern int venus_fw_debug; =20 struct freq_tbl { diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platf= orm/qcom/venus/vdec.c index 98c22b9f9372..c1d5f94e16b4 100644 --- a/drivers/media/platform/qcom/venus/vdec.c +++ b/drivers/media/platform/qcom/venus/vdec.c @@ -481,11 +481,10 @@ static int vdec_s_parm(struct file *file, void *fh, s= truct v4l2_streamparm *a) us_per_frame =3D timeperframe->numerator * (u64)USEC_PER_SEC; do_div(us_per_frame, timeperframe->denominator); =20 - if (!us_per_frame) - return -EINVAL; - + us_per_frame =3D max(USEC_PER_SEC, us_per_frame); fps =3D (u64)USEC_PER_SEC; do_div(fps, us_per_frame); + fps =3D min(VENUS_MAX_FPS, fps); =20 inst->fps =3D fps; inst->timeperframe =3D *timeperframe; --=20 2.47.1.613.gc27f4b7a9f-goog From nobody Sun Feb 8 20:58:57 2026 Received: from mail-qk1-f170.google.com (mail-qk1-f170.google.com [209.85.222.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8C4881917D7 for ; Sat, 11 Jan 2025 09:55:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736589331; cv=none; b=AH3q8YeiBOmJGD4aJ5CBZ9RG1023VxDtHMfQitP7klRYfDu5AASXh5s1UgoceA/hSpxawZxdx/Ikexb/NUkdhp5iEA3JDy5d5de4aDa6t19VUOxUE17j6OzKBtP3yDh6x1wdktRDFOHQQSaEqoCQJRMjEluKVhvJ0pNi9Yi4taI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736589331; c=relaxed/simple; bh=+5gKBR6lmCbLgDxwlcOKTLF2APbAil9sB0eDtQkBz/w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZvXiVAPiCqKfIIN4+2yqRTLQFAflD9kDxPoJZ3hESdelDm4271ifPuKzH45WzZOZt4WsuYcC1+G36nlsgykF+feIyDQ0HHI/P+uuqUX5vedjC5U6V6jbBDAXsKD8/ojfcLYT/5/rw1X2GXqv5WrGNXUutfakkcMtFuGQBrG70ds= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=C96bSz6T; arc=none smtp.client-ip=209.85.222.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="C96bSz6T" Received: by mail-qk1-f170.google.com with SMTP id af79cd13be357-7b8618be68bso228674885a.3 for ; Sat, 11 Jan 2025 01:55:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1736589328; x=1737194128; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=oGXizJerOok0lDZxPeMPfVFSvShgmDlyLJgvxCS81kE=; b=C96bSz6TaoQXqnsfWjFREu7KcD0EjOj6CbbnAHPSV2wqMTwI6pYbppEnh56C8ciRLt H/6p4gZMwGnmmDFNwcYC9KGNozEAzwSgg1WjdQioFifHmeBNay88+Q2Nqm16gdQZszcM ZX50gFtVpauN4oFNajPz3VpJMepN/dQNUDEQk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736589328; x=1737194128; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oGXizJerOok0lDZxPeMPfVFSvShgmDlyLJgvxCS81kE=; b=iZsqFjYKFCnHudwRTZ/2m+Iu8auZbt2ZCsV3Mc05JzgwecE3TlzCL0Ba5xHwnn/1kZ yInonnFxjV5QtR7nNimFrnVWUBo/GCHpnRTMcYOdiMSUqpwOqmTNXYWixDcBzpOcb2Ls SqkgvEtqMgWrk+AxkK+I/6CCp+xbsxddG+DS9iifBEwf26eKbit75O1zkipK/byJTUhg y5c4iDxJOFcKU5gI/5x79q7ditk/Hb8uE7TpHYhWCkAfQA4NEZmRMcUd4N4+r3QI317d NtI+NeOxB6MSjh5R+Ua1MocU37HWfMyTU4BtwtEJRzOrSyXywbWJEftHjecpyxKzf0ag +44Q== X-Forwarded-Encrypted: i=1; AJvYcCVQ6Criqd+doIdXAdAYJ8JukbYHYzbfWXHVQrVvmYHDpJTg+Uav/cnTiKp7N68W6YUc4Zq/1ksfEZeQGHs=@vger.kernel.org X-Gm-Message-State: AOJu0Yyep+q87h7chdINP9qLi1Atw1uBF1DSYRRmO0vxt95O4JMATh0r En0tzb7W48sRqQuJHFrIN0wcIPA2nEdwRuj846zz8CWJGnsznnrTaiWrOwDO6A== X-Gm-Gg: ASbGnctAKudKWGCDw5CDdh4jXvpmrXVJp7Yf9pKZKAfT3qMpiNK1zCDjMzHQwlIRrBX Q0AuZIpfqrL+lZzb8Y/PA/m1voUdB3l1/ao3wHovVrHwl2EibcbBEOiLEMqjs4ngxu+kwc5Lx0A J9Y4vTNcXOsTf6AGYMcg76VryRp8tBQ+2J9spnfX5YTtXQl5aVvnflqqUgsdfnw0ze0+17Iq6pe OMF3hE+l5HX8qw5g3XliwPbr38AhBYdWvKLrI++VR9YcL5uenjShMFHYLXcaqCftOWOxkweLgOi VFyl+WYUxjuhY25yZSrehGF8t6H/klxbc3lz X-Google-Smtp-Source: AGHT+IEpVR9I5biYuCr+SXV0UBeBGfKSe31bfLKgP7VOr+BuuQiGS7W1xlNlsmHP///j6pnH4LIVBQ== X-Received: by 2002:a05:620a:462b:b0:7b6:c540:9531 with SMTP id af79cd13be357-7bcd974a281mr2043337685a.18.1736589328570; Sat, 11 Jan 2025 01:55:28 -0800 (PST) Received: from denia.c.googlers.com (172.174.245.35.bc.googleusercontent.com. [35.245.174.172]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7bce327b8besm267096785a.59.2025.01.11.01.55.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jan 2025 01:55:27 -0800 (PST) From: Ricardo Ribalda Date: Sat, 11 Jan 2025 09:55:16 +0000 Subject: [PATCH v6 3/6] media: venus: venc: Clamp parm smaller than 1fps and bigger than 240 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250111-fix-cocci-v6-3-1aa7842006cc@chromium.org> References: <20250111-fix-cocci-v6-0-1aa7842006cc@chromium.org> In-Reply-To: <20250111-fix-cocci-v6-0-1aa7842006cc@chromium.org> To: Mauro Carvalho Chehab , Stanimir Varbanov , Vikash Garodia , Bryan O'Donoghue , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Ricardo Ribalda X-Mailer: b4 0.13.0 The driver uses "whole" fps in all its calculations (e.g. in load_per_instance()). Those calculation expect an fps bigger than 1, and not big enough to overflow. Clamp the parm if the user provides a value that will result in an invalid fps. Reported-by: Hans Verkuil Closes: https://lore.kernel.org/linux-media/f11653a7-bc49-48cd-9cdb-1659147= 453e4@xs4all.nl/T/#m91cd962ac942834654f94c92206e2f85ff7d97f0 Fixes: aaaa93eda64b ("[media] media: venus: venc: add video encoder files") Signed-off-by: Ricardo Ribalda --- drivers/media/platform/qcom/venus/venc.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/media/platform/qcom/venus/venc.c b/drivers/media/platf= orm/qcom/venus/venc.c index c1c543535aaf..943d432b6568 100644 --- a/drivers/media/platform/qcom/venus/venc.c +++ b/drivers/media/platform/qcom/venus/venc.c @@ -411,11 +411,10 @@ static int venc_s_parm(struct file *file, void *fh, s= truct v4l2_streamparm *a) us_per_frame =3D timeperframe->numerator * (u64)USEC_PER_SEC; do_div(us_per_frame, timeperframe->denominator); =20 - if (!us_per_frame) - return -EINVAL; - + us_per_frame =3D max(USEC_PER_SEC, us_per_frame); fps =3D (u64)USEC_PER_SEC; do_div(fps, us_per_frame); + fps =3D min(VENUS_MAX_FPS, fps); =20 inst->timeperframe =3D *timeperframe; inst->fps =3D fps; --=20 2.47.1.613.gc27f4b7a9f-goog From nobody Sun Feb 8 20:58:57 2026 Received: from mail-qk1-f171.google.com (mail-qk1-f171.google.com [209.85.222.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 98A391922E1 for ; Sat, 11 Jan 2025 09:55:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736589333; cv=none; b=UrZIj8rjYqwodZgngo8xnV5EZFKs0CCDE/LBRm68NgBKLHW/3rtDGUtYdVf/n5an2ZQnP5dMuMWN3N7ft3lfBmYb0hfQgBDpBVA64YVwm2QYjeE1WmNn6T3YQ/BLPxw9l28swGs+hX03iJ1neBgmTwV/5zh9ktaNWFHccFQSDNo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736589333; c=relaxed/simple; bh=BHqXjzXegfvyleJbFzCIkEZ/Ohsk17MMdh8326GOkbU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Ljy/8MAPurhzQf8ISosQ+HgEOeiDuzURGlfII+V3kj3hNdhzSVLGrNeSzLOHagZ3grupTjEKIliYF7SilLh+04MtfALBo3aUEe1TA/055OV9/dUhIJr1o0CUhdUPNTGRncwGv7k+wdptyCoyxa6lmJJjFtPE4ZyqQdeloSDM02g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=eCMys+aI; arc=none smtp.client-ip=209.85.222.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="eCMys+aI" Received: by mail-qk1-f171.google.com with SMTP id af79cd13be357-7b6ff72ba5aso256848985a.1 for ; Sat, 11 Jan 2025 01:55:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1736589330; x=1737194130; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=L1KYqWnRc25c7X6AgX8mJMBcXv6X4I+XW042aps6zcs=; b=eCMys+aINUeyPpHOqwmcacUWkFZpKdFbU3ZRGl2lokoR4qr5aKpr4UDxLxbAkP0xhm W17GheV+iCuPMwLG3CEpQO/NQ1bwW2Q6OJzTb3cPHwjchTh3BfTxzkGoqiSEtI9FfXfO ck8Uj5y3NhBNhIllRRwxnAaPKwhiZJUhubre8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736589330; x=1737194130; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=L1KYqWnRc25c7X6AgX8mJMBcXv6X4I+XW042aps6zcs=; b=XgNVvzk9qJ213aDmEXCA7tjq54nfYPm+fSTxWw/TNDmie/+xymQDzJAIewo7PPK44u LYl2Pre3SByH812W9x1qOVSGY68BrPChkm/d14+rEXCm59NBegFrFY+YaTVop9WqOSQf DkFDaBDItaxCNB2gDNuWEUiy8wx86gj7mBm0knjS/PXJf+mWrA9a1gmfSEFu1zan34NP NlRd/4ZsFlS9Z4oS/zaxw6SUFfSN8Dj7TdmR6Ag31znukCR3JKIoZ4CaTMZEMx7LN9xf q8lloWpEmWkE9RvQNUOMUPAhadwGhSeACsjB0v8jsEAYpp1YFFvyo1RNCB5nbCCUVUqo egMg== X-Forwarded-Encrypted: i=1; AJvYcCVvoOILQnqs3YknfL/5dIkD0n+FoMvMC7wbH32tAMr8LjcyXh48FK3yJiohhV/78kGbDnGO9swiv4x2Zf8=@vger.kernel.org X-Gm-Message-State: AOJu0YyFEFwyHfSgKqmPu1IRU/asPxo9g5r7dQsbooDKzdcZFNOzfFGO 1EPWv1ezU/oNnyrIy8QM/Ai5qi6G8EEjiU3ffY7iInXON4gK8s0wGOh6EOke3Q== X-Gm-Gg: ASbGnct1/77D7Z5SfQ+viJmOsMwtAUivs5iUNR5aCSAeFmuhhuWKWw5j5J9XcBFyju4 z6CNyz1XG/hoQ3hGgPjWAIFzx17ZPVVMld5rp9Ytmgesqe9WScUW/8UufdAdZTTPaBekkQUR7kN u9dGuZxmamxny11IcCc9OVu5TykZobi25BzzICet8P0y1+KL3r8iLx9fq7bywJm8T4ufkTlP+bk Ahc2oJFx/vXzVaICR/vAGM8tQBUicB9bT3CNNZoPpcvQ694ZB7kZM/j1dP4lMQvJF5XwYGWYbBA QlOaPhB9yGKSR7O52VcVVK+rGCS/ql7Dwrtj X-Google-Smtp-Source: AGHT+IEPxC3OyMHAru8G3Gzds3v7OF/JkO9AvPzj8XxD1gntOl6n6mbYKW7VgLUWHJdUgNP6gB5oAA== X-Received: by 2002:a05:620a:4402:b0:7b6:d6dd:8826 with SMTP id af79cd13be357-7bcd97b8724mr2371667285a.55.1736589330581; Sat, 11 Jan 2025 01:55:30 -0800 (PST) Received: from denia.c.googlers.com (172.174.245.35.bc.googleusercontent.com. [35.245.174.172]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7bce327b8besm267096785a.59.2025.01.11.01.55.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jan 2025 01:55:29 -0800 (PST) From: Ricardo Ribalda Date: Sat, 11 Jan 2025 09:55:17 +0000 Subject: [PATCH v6 4/6] media: venus: Remove timeperframe from inst Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250111-fix-cocci-v6-4-1aa7842006cc@chromium.org> References: <20250111-fix-cocci-v6-0-1aa7842006cc@chromium.org> In-Reply-To: <20250111-fix-cocci-v6-0-1aa7842006cc@chromium.org> To: Mauro Carvalho Chehab , Stanimir Varbanov , Vikash Garodia , Bryan O'Donoghue , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Ricardo Ribalda X-Mailer: b4 0.13.0 The driver only cares about whole fps. We can infer the timeperframe from the fps field. Remove the redundant field. Signed-off-by: Ricardo Ribalda Reviewed-by: Vikash Garodia --- drivers/media/platform/qcom/venus/core.h | 2 -- drivers/media/platform/qcom/venus/vdec.c | 15 ++++++++------- drivers/media/platform/qcom/venus/venc.c | 16 ++++++++-------- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/drivers/media/platform/qcom/venus/core.h b/drivers/media/platf= orm/qcom/venus/core.h index afae2b9fdaf7..1d4fd5cc75d9 100644 --- a/drivers/media/platform/qcom/venus/core.h +++ b/drivers/media/platform/qcom/venus/core.h @@ -407,7 +407,6 @@ enum venus_inst_modes { * @tss: timestamp metadata * @payloads: cache plane payload to use it for clock/BW scaling * @fps: holds current FPS - * @timeperframe: holds current time per frame structure * @fmt_out: a reference to output format structure * @fmt_cap: a reference to capture format structure * @num_input_bufs: holds number of input buffers @@ -478,7 +477,6 @@ struct venus_inst { struct venus_ts_metadata tss[VIDEO_MAX_FRAME]; unsigned long payloads[VIDEO_MAX_FRAME]; u64 fps; - struct v4l2_fract timeperframe; const struct venus_format *fmt_out; const struct venus_format *fmt_cap; unsigned int num_input_bufs; diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platf= orm/qcom/venus/vdec.c index c1d5f94e16b4..e160a5508154 100644 --- a/drivers/media/platform/qcom/venus/vdec.c +++ b/drivers/media/platform/qcom/venus/vdec.c @@ -471,10 +471,12 @@ static int vdec_s_parm(struct file *file, void *fh, s= truct v4l2_streamparm *a) return -EINVAL; =20 memset(cap->reserved, 0, sizeof(cap->reserved)); - if (!timeperframe->denominator) - timeperframe->denominator =3D inst->timeperframe.denominator; - if (!timeperframe->numerator) - timeperframe->numerator =3D inst->timeperframe.numerator; + + if (!timeperframe->numerator || !timeperframe->denominator) { + timeperframe->numerator =3D 1; + timeperframe->denominator =3D inst->fps; + } + cap->readbuffers =3D 0; cap->extendedmode =3D 0; cap->capability =3D V4L2_CAP_TIMEPERFRAME; @@ -487,7 +489,8 @@ static int vdec_s_parm(struct file *file, void *fh, str= uct v4l2_streamparm *a) fps =3D min(VENUS_MAX_FPS, fps); =20 inst->fps =3D fps; - inst->timeperframe =3D *timeperframe; + timeperframe->numerator =3D 1; + timeperframe->denominator =3D inst->fps; =20 return 0; } @@ -1612,8 +1615,6 @@ static void vdec_inst_init(struct venus_inst *inst) inst->out_width =3D frame_width_min(inst); inst->out_height =3D frame_height_min(inst); inst->fps =3D 30; - inst->timeperframe.numerator =3D 1; - inst->timeperframe.denominator =3D 30; inst->opb_buftype =3D HFI_BUFFER_OUTPUT; } =20 diff --git a/drivers/media/platform/qcom/venus/venc.c b/drivers/media/platf= orm/qcom/venus/venc.c index 943d432b6568..17bec44c9825 100644 --- a/drivers/media/platform/qcom/venus/venc.c +++ b/drivers/media/platform/qcom/venus/venc.c @@ -401,10 +401,10 @@ static int venc_s_parm(struct file *file, void *fh, s= truct v4l2_streamparm *a) =20 memset(out->reserved, 0, sizeof(out->reserved)); =20 - if (!timeperframe->denominator) - timeperframe->denominator =3D inst->timeperframe.denominator; - if (!timeperframe->numerator) - timeperframe->numerator =3D inst->timeperframe.numerator; + if (!timeperframe->numerator || !timeperframe->denominator) { + timeperframe->numerator =3D 1; + timeperframe->denominator =3D inst->fps; + } =20 out->capability =3D V4L2_CAP_TIMEPERFRAME; =20 @@ -416,8 +416,9 @@ static int venc_s_parm(struct file *file, void *fh, str= uct v4l2_streamparm *a) do_div(fps, us_per_frame); fps =3D min(VENUS_MAX_FPS, fps); =20 - inst->timeperframe =3D *timeperframe; inst->fps =3D fps; + timeperframe->numerator =3D 1; + timeperframe->denominator =3D inst->fps; =20 return 0; } @@ -431,7 +432,8 @@ static int venc_g_parm(struct file *file, void *fh, str= uct v4l2_streamparm *a) return -EINVAL; =20 a->parm.output.capability |=3D V4L2_CAP_TIMEPERFRAME; - a->parm.output.timeperframe =3D inst->timeperframe; + a->parm.output.timeperframe.numerator =3D 1; + a->parm.output.timeperframe.denominator =3D inst->fps; =20 return 0; } @@ -1454,8 +1456,6 @@ static void venc_inst_init(struct venus_inst *inst) inst->out_width =3D 1280; inst->out_height =3D 720; inst->fps =3D 15; - inst->timeperframe.numerator =3D 1; - inst->timeperframe.denominator =3D 15; inst->hfi_codec =3D HFI_VIDEO_CODEC_H264; } =20 --=20 2.47.1.613.gc27f4b7a9f-goog From nobody Sun Feb 8 20:58:57 2026 Received: from mail-qk1-f170.google.com (mail-qk1-f170.google.com [209.85.222.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A2F21193070 for ; Sat, 11 Jan 2025 09:55:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736589335; cv=none; b=u1OKAUOMPbzOVXErpClHtpk0c7dbWDms1iTvTkFEeBgmNRUe9tXdQrtX9xSRthXkkbuFU6oxspkDOkCrgImcWdtcO73qBFY4SxbaFFNNprTueYOtyV0XWtJt+VQ1y2CSToYZcT7g0WIaCrlbkDCHmAWW76PC+egOOa3p9am9ios= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736589335; c=relaxed/simple; bh=jFMkE+aUW4A2Tjf06APpBG1sAvp2ejflRJ8B5s0jBLU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EvMylIobWCAbmJALgwYgx9hO65y7bFCdE8WSqM76rx6hs/wzGKEreoa2nLhjc9BkYVrMF7Yfgwxhc7RhCRCz6fzotun4c61ENoRsEb1JGwDaqWUsBCdzKjMb9ga28HAOUD4dqQwiJUSqHRE2ASgAkDAspbnURG99s5uW3Yp85zU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=mCcEB6AR; arc=none smtp.client-ip=209.85.222.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="mCcEB6AR" Received: by mail-qk1-f170.google.com with SMTP id af79cd13be357-7b6ea711805so351897185a.1 for ; Sat, 11 Jan 2025 01:55:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1736589332; x=1737194132; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=f3BoX2c5ZbHlzZ/xObQ8c1PFxHvs7MLN/22FFGinwVE=; b=mCcEB6ARKeodZcnA1Gx8oNr0n9S6uBgT4tEHYUrfrd7tMsEO7wYPvOQ0fK/n63Csj+ RFrq4t1x2v/PutZLK5hQlHThygxjHiv4blcS/bs0Rr2U0DB1D/kMEVRFW2msX4wL84rH ClMYhX4zc2NlCWB+x+wv4fq4N23H693Egy3O4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736589332; x=1737194132; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=f3BoX2c5ZbHlzZ/xObQ8c1PFxHvs7MLN/22FFGinwVE=; b=HJMEiw0LO/IAT6UU8yNV/93MaOTbDzethjxkmmTOP4m3cu16KrFp6xlsL2oSj1pGyH fGX5nJ/tTghnv44PTnYbjRD1bNDdTRA7oybwBZ7CKMDW+mot0RaNM5/xvxrV1uGWu8IW KnnaelCxl9B6nXM17si6y4JVKc2iEr1/zCKDc/HfLCBPzwr345bbxGKJWfwJ3OM6O7C6 CSBB6jUO15UylGCsnd59uF0td+RCW7i35ZLJ0tJKwe0ol+ReqrSu2cwVkkiN/W9Hwh3A gtOxRIL6dXMuoFPEU+bUjOmOKTPbmrsldEQPAKYiBTGVXhd+wOGhwveYMwoEnEKTWz9D snMA== X-Forwarded-Encrypted: i=1; AJvYcCX1HZ2opNKjGL1lsJwe5jZPzFm0ahE6Q+LOwQNrakDvzo4FYCszRCQByGpJSoUcTSJ0LBSRKo7a83lR/2g=@vger.kernel.org X-Gm-Message-State: AOJu0YypnnwNviiLCU/edoooqbQWheNo8BUdLF4jr2+huvVX9daYEOnS absLljUgsojInM9G5+7ZThWL87WywQrJ4CDyhzZNEVeBNaC/46Y9SQ2944L+LKpEtwAh7OOTZSE 7fQ== X-Gm-Gg: ASbGncsQ9Q5UelNpGe0+hRNMKoIglCWsp/Mdq2dmfagzqxtSArTzRx2PQOUGv/XQnbQ bUmX+m6JBpUP3vbI/SVLupIeWluN7EiNQxJtQ7T0v/Xn6xASMl9bjqiujd5530+6caGJvu6ub3a IZdFlhEee6yVd1HjJr/MH9DFcXwVmpIg/QmXyH1iA2FXTW0+tV/6eLPMZtdVnx4JgXi01ZNRmBH PcgdCvSYqFdeXUG5mVrms1CaoR6kK8S940LwFkvo0U+nwDDOxcvUemTPfeWsjJ9p+dgPAmFf1Rl rRgkMEPKJGlarY6LTef9VoE+TeXLg3TVRZi0 X-Google-Smtp-Source: AGHT+IHlflZapXB2U5EwdDsff9V9lka7ZWi7FvO7mOnx6N5gTF17d6mrdBuskWw0aArQ5dE890/KbQ== X-Received: by 2002:a05:620a:2481:b0:7b6:ece3:825d with SMTP id af79cd13be357-7bcd9726520mr1906864685a.12.1736589332721; Sat, 11 Jan 2025 01:55:32 -0800 (PST) Received: from denia.c.googlers.com (172.174.245.35.bc.googleusercontent.com. [35.245.174.172]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7bce327b8besm267096785a.59.2025.01.11.01.55.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jan 2025 01:55:31 -0800 (PST) From: Ricardo Ribalda Date: Sat, 11 Jan 2025 09:55:18 +0000 Subject: [PATCH v6 5/6] media: venus: venc: Make the range of us_per_frame explicit Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250111-fix-cocci-v6-5-1aa7842006cc@chromium.org> References: <20250111-fix-cocci-v6-0-1aa7842006cc@chromium.org> In-Reply-To: <20250111-fix-cocci-v6-0-1aa7842006cc@chromium.org> To: Mauro Carvalho Chehab , Stanimir Varbanov , Vikash Garodia , Bryan O'Donoghue , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Ricardo Ribalda X-Mailer: b4 0.13.0 Fps bigger than 0.000232829 fps, this fits in a 32 bit us_per_frame. There is no need to do a 64 bit division here. Also, the driver only works with whole fps. Found with cocci: drivers/media/platform/qcom/venus/venc.c:418:1-7: WARNING: do_div() does a = 64-by-32 division, please consider using div64_u64 instead. Reviewed-by: Bryan O'Donoghue Signed-off-by: Ricardo Ribalda Reviewed-by: Vikash Garodia --- drivers/media/platform/qcom/venus/venc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/media/platform/qcom/venus/venc.c b/drivers/media/platf= orm/qcom/venus/venc.c index 17bec44c9825..2c1836712362 100644 --- a/drivers/media/platform/qcom/venus/venc.c +++ b/drivers/media/platform/qcom/venus/venc.c @@ -412,8 +412,7 @@ static int venc_s_parm(struct file *file, void *fh, str= uct v4l2_streamparm *a) do_div(us_per_frame, timeperframe->denominator); =20 us_per_frame =3D max(USEC_PER_SEC, us_per_frame); - fps =3D (u64)USEC_PER_SEC; - do_div(fps, us_per_frame); + fps =3D USEC_PER_SEC / (u32)us_per_frame; fps =3D min(VENUS_MAX_FPS, fps); =20 inst->fps =3D fps; --=20 2.47.1.613.gc27f4b7a9f-goog From nobody Sun Feb 8 20:58:57 2026 Received: from mail-qv1-f54.google.com (mail-qv1-f54.google.com [209.85.219.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DD16C18E03A for ; Sat, 11 Jan 2025 09:55:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736589348; cv=none; b=ONE47j0OYGB66kyxu0p1h9BYvv/SABysAhMbFe5O4i0T8yp/LN5GFZ+Y8x6cCycIC5EjnXw5mOKFPQ1GO3uy3cdS/DVrOF8hKpzGlGPl76IrnBJFNGMffqZ7qMgjlwLYwyvNHP1WOwjuVls19ubRPsbSHNAxdhwKzm6RK90aYMU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1736589348; c=relaxed/simple; bh=hAlPOuL4YIiXg0HpbIYhah7+pVVbm4tj/0Q43k0VF20=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aR5w4jXs5JgZMkuDUeYmjDyItKuYiBsrAf7KFSY4LTUBLAbqEjpWt0pY7pRkBmMBIDppUm/wvU3sfzCtxee3SyhMK4lWIThjMkRKXyXbmt9KwAagc60nwDKKwAUlm1q6LPGpl9ik/5WELOUBnqMTMZWmd0PV0AAjWGRAlJ7nHZQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=Byikv/yQ; arc=none smtp.client-ip=209.85.219.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="Byikv/yQ" Received: by mail-qv1-f54.google.com with SMTP id 6a1803df08f44-6dcc42b5e30so32496216d6.1 for ; Sat, 11 Jan 2025 01:55:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1736589346; x=1737194146; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=x7AhuqiCmj982Ah3x3XQKiIUQdsA0iVwLzLzuPzwXZk=; b=Byikv/yQr2DTWWcm+BUahySsBIeRKuBMGDKQOVY7pMU+1soqiCwRdtLWjhImdqfeuD ux5mjLck0KxKvdA290y9Myumtzfgvjger28xu0Vga6dJlT3p1adboIh/4Bva4mBOqqwF SIyE0pjS/QrGOlG6OBEfI8ZDRfv4GEXPYnj74= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736589346; x=1737194146; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=x7AhuqiCmj982Ah3x3XQKiIUQdsA0iVwLzLzuPzwXZk=; b=qlY9qly9NL/AQOgY1dMFYV7FvZlFqZpkZpZlMo/Vu9kBZfNgI/p0Vx/gPlFRXoaHLK Bw0uCoGWiop9BnQR9I0FDfHiNsF93S9g3Njovx9+xK1WNuRKbZ4ng45cjt38RQ+7/46T h+sxFabgwWes8nqCa3Cp1bv+b6RyelLTN4g4YPVi2HS6+fa0oTRzd9cMGU6vErtG2AaP 5dZchIF85NwB5Hjj2bg7u3LcnM2TvszEVzrj/oF5DD+mot1vfaJHZvsErQJEf6B/TZFu B9ZaIRKl6vNGc40VG0ZYzRdPgCQEiDc0Q7c4QTB3D2LL62Z+bbR6yaidKVb4JSOwH3XN qvhA== X-Forwarded-Encrypted: i=1; AJvYcCUprN3XTShSxZdRBFo77aPwTo/4PVKUoVGP0J4HbWZbhJeqgy/7nwRE5+ZOun3x1VNTRYL8JrL5gLnreH0=@vger.kernel.org X-Gm-Message-State: AOJu0YyLvQZHg4c7I37LdWkfkS2nb6sEcKO2mHl+cVNUeogjQ3BtWJ2I LtZBv+bCZaDoe4iZ0zq51XabUlMZY9WLVYqeh1AHtv6AbDwqtSZZXRyFS4XoIRl8/Q2t4zEg0wD wRQ== X-Gm-Gg: ASbGnctDv8HnJvyIcW+gqAb9+o8dw/lyKNO55ckh3fDKqe975ybZ60oXTRe6gJcXVTr Her4ceiteba0rm0ztSRbhlc1NpPiimKkXj9ut7gEBS5CICtoq8r0Pzh1WBjiLpE/DtjhQ3KCt5d tmQP05WjNfZJTrq71zK9yQ0T8LPWSOnh8tIcDqmiPY8X9FRO+toah6cOmgVadyrgacgYaEsqJb0 RWU0E5zI+7itzmUq9hE4sff3KGCj8Pqr0okQ9HVce+H7KGeh62wx4q5pz2eVGZqXPGM8JyH4lWp gO0kIUr1EPkcv+hW3XAGYE9Iqrps0YETj3Yh X-Google-Smtp-Source: AGHT+IFPc65u5Xb9RCjGLJ3Jl3Vf9y0Du5AsKFgmKuWXejd7Aufwu6k8jsIz9OTvYdbOGhoPzK7nZw== X-Received: by 2002:a05:620a:462c:b0:7b6:d0bd:c7e6 with SMTP id af79cd13be357-7bcd9759db8mr2313763885a.32.1736589334727; Sat, 11 Jan 2025 01:55:34 -0800 (PST) Received: from denia.c.googlers.com (172.174.245.35.bc.googleusercontent.com. [35.245.174.172]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7bce327b8besm267096785a.59.2025.01.11.01.55.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jan 2025 01:55:33 -0800 (PST) From: Ricardo Ribalda Date: Sat, 11 Jan 2025 09:55:19 +0000 Subject: [PATCH v6 6/6] media: venus: vdec: Make the range of us_per_frame explicit Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250111-fix-cocci-v6-6-1aa7842006cc@chromium.org> References: <20250111-fix-cocci-v6-0-1aa7842006cc@chromium.org> In-Reply-To: <20250111-fix-cocci-v6-0-1aa7842006cc@chromium.org> To: Mauro Carvalho Chehab , Stanimir Varbanov , Vikash Garodia , Bryan O'Donoghue , Hans Verkuil Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, Ricardo Ribalda X-Mailer: b4 0.13.0 Fps bigger than 0.000232829 fps, this fits in a 32 bit us_per_frame. There is no need to do a 64 bit division here. Also, the driver only works with whole fps. Found by cocci: drivers/media/platform/qcom/venus/vdec.c:488:1-7: WARNING: do_div() does a = 64-by-32 division, please consider using div64_u64 instead. Reviewed-by: Bryan O'Donoghue Signed-off-by: Ricardo Ribalda Reviewed-by: Vikash Garodia Tested-by: Bryan O'Donoghue # qrb5615-rb5 --- drivers/media/platform/qcom/venus/vdec.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platf= orm/qcom/venus/vdec.c index e160a5508154..aa9ba38186b8 100644 --- a/drivers/media/platform/qcom/venus/vdec.c +++ b/drivers/media/platform/qcom/venus/vdec.c @@ -484,8 +484,7 @@ static int vdec_s_parm(struct file *file, void *fh, str= uct v4l2_streamparm *a) do_div(us_per_frame, timeperframe->denominator); =20 us_per_frame =3D max(USEC_PER_SEC, us_per_frame); - fps =3D (u64)USEC_PER_SEC; - do_div(fps, us_per_frame); + fps =3D USEC_PER_SEC / (u32)us_per_frame; fps =3D min(VENUS_MAX_FPS, fps); =20 inst->fps =3D fps; --=20 2.47.1.613.gc27f4b7a9f-goog