From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) (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 5625C370D55 for ; Sun, 12 Jul 2026 07:27:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783841262; cv=none; b=JbPP4Fe9+ZIp09LTdp2Kuym6Ks8yAsnzBxy/zxmFIVZO3q7h5uhDseva6kwy/IkpE4rG1t+V80YsJapwHXGCVTWR0PHcrqMGZE3K11TcJLr+TlDBB1qxfL9/9bZ1qcgdAquJrTYY9K75VY7VFUXWljy0BtlXrI7dA232VQmSx+Y= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783841262; c=relaxed/simple; bh=KZ325htG7D3du2KvYDZqQU+T4fC8IBmIXkRpfE0DI38=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=P4FNrWlL5mWnBOxa/m6i9GKQUysIDYR7+0di//GkAqEahYVyU+VhtFRNBjTzNrL9j5ZFMWIvBfTxxivGoOt5Gqs4FdQkqQWN+SD/9G1vSHYvvYbbyHWcV+ANZLaoK0DR3CdubuMSehlRLewWrwO7N3shvItDslieWS3UgX7HYF4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=WsoKncjq; arc=none smtp.client-ip=209.85.210.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="WsoKncjq" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-8486ac3f347so2521859b3a.1 for ; Sun, 12 Jul 2026 00:27:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783841261; x=1784446061; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=xhgW2AIxRAsyir1bZV0tkAOlDMwlxqZpeTuaF9TQERo=; b=WsoKncjqLY28G1jxH0+C8N8TGEpisfPIp2CaK/TeJysMCDHKyrWsW6GFvJIOlfQKmi Fr9Qk0y9/YxFOfOd3jqIDUppzknwo+oGkPt/XXD+/STLwxNWknptkp3lU2BfX/yraOXc vVmYi3C4bKrBANdP0AHtoERoQIm0lqQTh68zYU7v8ds7N8lek5iHv9vsXOW7VURg5cdt gmQBe0tsLT8KSpFVW572ARESqRVyMpFAm4m6GZ5cExo1bLk7693e2uwXsLHfvlLQEJay cx2wZ/Lp9Pvx4Nd2klSr1ORPH9n24rwQgZUerZVGJzlTcRD2BbcdpDy3g95BfURv6Sel ISUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783841261; x=1784446061; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=xhgW2AIxRAsyir1bZV0tkAOlDMwlxqZpeTuaF9TQERo=; b=ijD3sj83ZdiDOmiDH9Oar41IYPXWx/p9xfe7O4YNVCvJguk1sI/Nmxy2z3ZClj1cM2 n1ST13gKtU1cSwenfW4BHDN7aglxYbCMIBv1rntf8/ubIFqpzzCZHpdNPsEXTV65UIsV TEKFKiT3aBOoNn4lS1n3uwN6O3cpim+xhIi1oAAP2o8xyWsu4du/E88upbwmqGrqQXws Bw7rkxFs3uQSC8DTQanPdjQwk98T0aByWq+ZGTQvmfCCmjX0D5UUYg9LbLI8IiRD6xQj QZDg49mxrkMn/xrylKeUy47kPAdZRiAiOKTV/KQJ2bncx/L5mKaOS+Hm//9PXBq1zl5M 28ig== X-Forwarded-Encrypted: i=1; AHgh+Rqf8LtqBlGf08CyLdF44PNa66OckMoCMiDMp5BgjneCjYVRIhi39iwIG6kFlgR3821iaM5cZZlhPav859U=@vger.kernel.org X-Gm-Message-State: AOJu0Yy8gqW6TutKXi8P3n2bhtuMZy0D8Vpj7PAMhy01I9Ld0aaUeiBw cV1YnI5VhaF1Wpts+ENw4JHTtVFros1Rln/Zl0nSfP5EOxZOVQIJ7VIJ X-Gm-Gg: AfdE7clEsOHTJhvO9tBrjo5788cuGanlvPs1L0f2HFiPqWDcS6eshV5CmcjV+2bYoTc irbcFm70qRbWtMjgpnjeJMRdyca41vYXH4ZOfvNPqP+Pquude9WCpxS+Gxa5VWss+mYI1gDp06z srGqgv5XKXctbeaCeK3qux0M4u9PpoklUE7lGtN9aFScuD/Qv4mNFJ5jtEvtTDQ1vPA2ctsc7DA uUpPc15jE9dkrrVTa65/rfTWuVD5MHFGP6utwcfP5cTvYTP+zbOuVvpUHPWEdFxUAtI4FUIMiRn nNoi1ED9XSxTfFlISFnkytZqmyFM1bGs7aN3wcY8Si5+1rNoLgavqiVMUAm8iis4zbFmDatww76 Ecw26Et5LhB0O/JJqbTz5A3GbGjZDjmO+c/1X3RubY9KNXqc65Q0Eny4JYh+EWK4Jc8Di+BMRnU pBgxwrdQS4kgGrTWhEe1CTrQBAEqyooMKP1ITz7A== X-Received: by 2002:a05:6a00:1d09:b0:848:2f58:e1ec with SMTP id d2e1a72fcca58-84870798902mr7166904b3a.39.1783841260602; Sun, 12 Jul 2026 00:27:40 -0700 (PDT) Received: from kurosuda.i.sslab.ics.keio.ac.jp ([131.113.100.7]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-ca5b3162d3csm6904706a12.18.2026.07.12.00.27.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Jul 2026 00:27:39 -0700 (PDT) From: Hiroki Nakajima <3na7nanana@gmail.com> To: detlev.casanova@collabora.com, ezequiel@vanguardiasur.com.ar Cc: mchehab@kernel.org, heiko@sntech.de, linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Hiroki Nakajima <3na7nanana@gmail.com> Subject: [PATCH] media: rkvdec: use DIV_ROUND_UP() for CTB counts Date: Sun, 12 Jul 2026 16:26:52 +0900 Message-Id: <20260712072652.2881919-1-3na7nanana@gmail.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Use DIV_ROUND_UP() when computing HEVC coding tree block counts instead of open-coding the same rounding expression. This keeps the rounding intent explicit without changing behavior. Found using a Coccinelle rule generated from the DIV_ROUND_UP() macro definition. Signed-off-by: Hiroki Nakajima <3na7nanana@gmail.com> --- drivers/media/platform/rockchip/rkvdec/rkvdec-hevc.c | 4 ++-- .../media/platform/rockchip/rkvdec/rkvdec-vdpu381-hevc.c | 8 ++++---- .../media/platform/rockchip/rkvdec/rkvdec-vdpu383-hevc.c | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/drivers/media/platform/rockchip/rkvdec/rkvdec-hevc.c b/drivers/media/platform/rockchip/rkvdec/rkvdec-hevc.c index 87abf93dfd5e..ff3942f91c5d 100644 --- a/drivers/media/platform/rockchip/rkvdec/rkvdec-hevc.c +++ b/drivers/media/platform/rockchip/rkvdec/rkvdec-hevc.c @@ -258,9 +258,9 @@ static void assemble_hw_pps(struct rkvdec_ctx *ctx, for (i = 0; i <= pps->num_tile_rows_minus1; i++) WRITE_PPS(pps->row_height_minus1[i], ROW_HEIGHT(i)); } else { - WRITE_PPS(((sps->pic_width_in_luma_samples + ctb_size_y - 1) / ctb_size_y) - 1, + WRITE_PPS(DIV_ROUND_UP(sps->pic_width_in_luma_samples, ctb_size_y) - 1, COLUMN_WIDTH(0)); - WRITE_PPS(((sps->pic_height_in_luma_samples + ctb_size_y - 1) / ctb_size_y) - 1, + WRITE_PPS(DIV_ROUND_UP(sps->pic_height_in_luma_samples, ctb_size_y) - 1, ROW_HEIGHT(0)); } diff --git a/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu381-hevc.c b/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu381-hevc.c index fe6414a17551..d07c74679552 100644 --- a/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu381-hevc.c +++ b/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu381-hevc.c @@ -261,8 +261,8 @@ static void assemble_hw_pps(struct rkvdec_ctx *ctx, memset(row_height, 0, sizeof(row_height)); max_cu_width = 1 << (sps->log2_diff_max_min_luma_coding_block_size + log2_min_cb_size); - pic_in_cts_width = (width + max_cu_width - 1) / max_cu_width; - pic_in_cts_height = (height + max_cu_width - 1) / max_cu_width; + pic_in_cts_width = DIV_ROUND_UP(width, max_cu_width); + pic_in_cts_height = DIV_ROUND_UP(height, max_cu_width); if (pps->flags & V4L2_HEVC_PPS_FLAG_TILES_ENABLED) { if (pps->flags & V4L2_HEVC_PPS_FLAG_UNIFORM_SPACING) { @@ -275,8 +275,8 @@ static void assemble_hw_pps(struct rkvdec_ctx *ctx, column_width, row_height); } } else { - column_width[0] = (width + max_cu_width - 1) / max_cu_width; - row_height[0] = (height + max_cu_width - 1) / max_cu_width; + column_width[0] = DIV_ROUND_UP(width, max_cu_width); + row_height[0] = DIV_ROUND_UP(height, max_cu_width); } for (i = 0; i < 20; i++) { diff --git a/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu383-hevc.c b/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu383-hevc.c index 3575338a531a..3462d995d4cf 100644 --- a/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu383-hevc.c +++ b/drivers/media/platform/rockchip/rkvdec/rkvdec-vdpu383-hevc.c @@ -287,8 +287,8 @@ static void assemble_hw_pps(struct rkvdec_ctx *ctx, memset(row_height, 0, sizeof(row_height)); max_cu_width = 1 << (sps->log2_diff_max_min_luma_coding_block_size + log2_min_cb_size); - pic_in_cts_width = (width + max_cu_width - 1) / max_cu_width; - pic_in_cts_height = (height + max_cu_width - 1) / max_cu_width; + pic_in_cts_width = DIV_ROUND_UP(width, max_cu_width); + pic_in_cts_height = DIV_ROUND_UP(height, max_cu_width); if (tiles_enabled) { if (pps->flags & V4L2_HEVC_PPS_FLAG_UNIFORM_SPACING) { @@ -301,8 +301,8 @@ static void assemble_hw_pps(struct rkvdec_ctx *ctx, column_width, row_height); } } else { - column_width[0] = (width + max_cu_width - 1) / max_cu_width; - row_height[0] = (height + max_cu_width - 1) / max_cu_width; + column_width[0] = DIV_ROUND_UP(width, max_cu_width); + row_height[0] = DIV_ROUND_UP(height, max_cu_width); } for (i = 0; i < 20; i++) -- 2.34.1