From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 EA8CF3FC0CB; Sat, 28 Feb 2026 17:43:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772300590; cv=none; b=lo6Rveeh8UEIJqoZnJU0ofkWMKqmp0BfjuAj/kS+kx0fn0r79DX9XKzDi2YSSlPQ093h889aMmsP3shDYZXSRgqp2GKq4GOL2R2SaPuLndK2zhiNUNDubpurGsPhJiNVHfc0vtWqexwZKqCAbWGp9QsV1ejE6reLYg9dRMOy604= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772300590; c=relaxed/simple; bh=TqMJ7BuT6pFshyQelZBd8BwjI1j+3aLsEL1tmzIGPgs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VRIO8Ae1qmzMNhOURiZV/d3p2vywqNu/VmyHKwlvJWkRXeug0R0YK6C+w1KyNFPKrNm7tFaxtzYBWl+gHDw52XL4a0b6jMi/Xf4bgZ9PSI9wiQmLbjcF42p0anYRM2XvcZLu3ECJ2uaqKBqOuosmIbUMMO60WKwhYm6JQIoK8Xo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=HErH5Utz; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="HErH5Utz" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0428DC116D0; Sat, 28 Feb 2026 17:43:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1772300589; bh=TqMJ7BuT6pFshyQelZBd8BwjI1j+3aLsEL1tmzIGPgs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HErH5UtzhiJ/TtJ7e+c2q49sQmf7FR8htKByF43/Upy/IWAL+b/6zN1YWUFIH2MBm r2hZVn1wSS6KMk3B9aqY6Vq9/2hzmY7PAKsrGG9uWZnvvV4LII7McXno2KsOBNrKvD z4zR06F8XML+4ZAQG+6SLqwcdpy/xhozSebqRlJqR/5SG8eDWffpQ6H0c17Sv2HnwD VCoK1TPLjwFoJtKQWEI4TAKqkJcC2kWBpCJ6o8J2Zr/blPAUpgW0IS+wTW1eWn8prr ki0juo8RXAP4UaaLZZ5xNpU+KeZhkKyIBjV5XC8uxFrzQV98m1hil3Mj/g/7H/i2ql KSeYEcJ40d70w== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Dikshita Agarwal , Mecid , Renjiang Han , Bryan O'Donoghue , Hans Verkuil , Sasha Levin Subject: [PATCH 6.19 631/844] media: venus: vdec: restrict EOS addr quirk to IRIS2 only Date: Sat, 28 Feb 2026 12:29:04 -0500 Message-ID: <20260228173244.1509663-632-sashal@kernel.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260228173244.1509663-1-sashal@kernel.org> References: <20260228173244.1509663-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit From: Dikshita Agarwal [ Upstream commit 63c072e2937e6c9995df1b6a28523ed2ae68d364 ] On SM8250 (IRIS2) with firmware older than 1.0.087, the firmware could not handle a dummy device address for EOS buffers, so a NULL device address is sent instead. The existing check used IS_V6() alongside a firmware version gate: if (IS_V6(core) && is_fw_rev_or_older(core, 1, 0, 87)) fdata.device_addr = 0; else fdata.device_addr = 0xdeadb000; However, SC7280 which is also V6, uses a firmware string of the form "1.0.", which the version parser translates to 1.0.0. This unintentionally satisfies the `is_fw_rev_or_older(..., 1, 0, 87)` condition on SC7280. Combined with IS_V6() matching there as well, the quirk is incorrectly applied to SC7280, causing VP9 decode failures. Constrain the check to IRIS2 (SM8250) only, which is the only platform that needed this quirk, by replacing IS_V6() with IS_IRIS2(). This restores correct behavior on SC7280 (no forced NULL EOS buffer address). Fixes: 47f867cb1b63 ("media: venus: fix EOS handling in decoder stop command") Cc: stable@vger.kernel.org Reported-by: Mecid Closes: https://github.com/qualcomm-linux/kernel-topics/issues/222 Co-developed-by: Renjiang Han Signed-off-by: Renjiang Han Signed-off-by: Dikshita Agarwal Tested-by: Renjiang Han Signed-off-by: Bryan O'Donoghue Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin --- drivers/media/platform/qcom/venus/vdec.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c index d0bd2d86a31f9..4cd69440e8753 100644 --- a/drivers/media/platform/qcom/venus/vdec.c +++ b/drivers/media/platform/qcom/venus/vdec.c @@ -565,7 +565,13 @@ vdec_decoder_cmd(struct file *file, void *fh, struct v4l2_decoder_cmd *cmd) fdata.buffer_type = HFI_BUFFER_INPUT; fdata.flags |= HFI_BUFFERFLAG_EOS; - if (IS_V6(inst->core) && is_fw_rev_or_older(inst->core, 1, 0, 87)) + + /* Send NULL EOS addr for only IRIS2 (SM8250),for firmware <= 1.0.87. + * SC7280 also reports "1.0." parsed as 1.0.0; restricting to IRIS2 + * avoids misapplying this quirk and breaking VP9 decode on SC7280. + */ + + if (IS_IRIS2(inst->core) && is_fw_rev_or_older(inst->core, 1, 0, 87)) fdata.device_addr = 0; else fdata.device_addr = 0xdeadb000; -- 2.51.0