From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) (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 A05BE3C8C46 for ; Tue, 2 Jun 2026 08:39:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.45 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780389570; cv=none; b=N1MbWRMTqVHf9OLJ8vlTIEHFX9XHRvHizmzm6+8kvlU10i/gOn6YBoAyLZmKwyCSuiqkCHS/R0xoW3t9MhOzi17Itl6Fcd64mZd4zZAUZMz6aZiwan/4Y6oUB2vtsOEbulq2XT/zim717VeRtBCBkho/XK1THChkK2aKaaegfoc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780389570; c=relaxed/simple; bh=AGNlMq/rmW+DgIPAyuJDu0dlqI4I/vZ6MLbj2JdQR9k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ObgNnZUwEi4XUUgelkH6smPHxmAqPNnSIR8BUAg6D9Ho3KifK/U8styC0G0n+WFxcUy5FcBs/b2nVB+T1cnog+K2l97by/8T9+RwCklZS+EUur4WDPMSxVM6n4vDM6moRw6+HkWqLswDU9G4NugD9g7oK2yUUXS5c8GtpoZT+b4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=AYCfQ+Df; arc=none smtp.client-ip=209.85.128.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="AYCfQ+Df" Received: by mail-wm1-f45.google.com with SMTP id 5b1f17b1804b1-490b09e4cccso5789925e9.0 for ; Tue, 02 Jun 2026 01:39:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1780389565; x=1780994365; 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=JbnfuFDSGtjOdRPNnS9h8MPvEx7+PQJBmmZ8fMbaRcE=; b=AYCfQ+DfQJ35nmJ1eXd4umqT+RlHwNX/rFTtd5XjJkmtn8jPKLHvvcmWFuIPvtLSt0 HmLSoL6AkVwCjw7EuUuWJnBeCLdPMR36pc8aDVCSPVaez17Ecj8ndvZvZSs0/uz/Jf7q r/hPnbq1u2BKIGB6quFtJoM7DCOr1DmHOXqbZbE6LHDEJpaCU70PIJjlbdg58vHxaIAg ed+P7V2LSHzYfZRRj/HWBtVZLfsG51tzyd5jvqqJqjdqbe6tabEUlFx7uWtkRQL1j4Ow dBxrpwsNJRz/1kKsH3V8cV6iYuzhkIRU0j7Q9shFRT4Ko2c6atJ1EkmmvnhRBcvMjvkc gDeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780389565; x=1780994365; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=JbnfuFDSGtjOdRPNnS9h8MPvEx7+PQJBmmZ8fMbaRcE=; b=UltcIvxtRyxDXTXF5HVfKw1XU7wHCvRBl4k5uqgOYhr2AAU4aNBVFvk4Lx2kzRGYx1 aVngg2yrSOZDCsZ+EY5aPv3qoouP1KfimXOnS0MVI3cId+YU9H5E6rkNFsSQFfj95PFV FuiC1AJQVjUwng3NNZBNpCnUprSWh9B2f61dCadLwubyJeBYlzgUxlZmEsAJOSYvnwJY 48iSLemWkZOIwEUPAKP40lGt+MyRT9V0fUWoFFkDE0nWnGAEnSvHBNZN8vP3e8nG+mOb TKtU9eYr3VkM9ojHBj2slfvNPvjMFetXVzjmYG3ssd+dv2du87QYzO+X+sA44k0xKioD /7ag== X-Forwarded-Encrypted: i=1; AFNElJ9XVeeAyK5dxmIeEobnJqxHJrSE9ulKsKrWYbStoNlZGaInbpPIPQb+7nKPGBM9SmaBQxoLyn4dXOQ9R0g=@vger.kernel.org X-Gm-Message-State: AOJu0Ywn0ywgsdauP/MGMErbD6c1ulNaqcBXFyqewIFpvtHac9uwb1R5 0Tn1c0axNwoBfzpuLBjNC8HVdFoU03I9IFQbjzjNzZwKzCcFEtYKLRbpLfdQLvbn/oQ= X-Gm-Gg: Acq92OGK4I4ViV1MR1qw6hHNrUZIbHfdgVc3Ob1jC6M/dc515tvyuDLtylaj+1QNcrW 4QYPlUM1Z85Is96eJODyg9867J4dXkXR7DXouw0Tbaa86gw1mThaSnX26BMyYY3i/H/2IsZ70+Y GXDYxPCAS5U+Nq70bktliVUb1+14SPoMUKWy0eqbKuMhOU3gJJs1y2OPw3J9dTCwGq5N8asCdeg ceuTzzZlU1p2Ue4L14s/I8A+kCHi8bjkODYUkd+DO7mciisQmShl8NwA0Of/pyV0xbMwMwweNAp yTXXlFXxokty4rQyaAHHzE0Inin59CT3N06RvGKaBQwMUGecyoPdBlOnY6O1gPTsPyiB2kb85uH VvKDBMjJFrmMyHfmUrEOTIxdCgx1zVTyBDk7xGNjWrvwuJBaC0mMyocUMZ165CIEjcQElxsKPym OYPXGo67wL3sw2raSfH5MPIBx0qzjj90URJleb5EkmDDB0sH9FYehiZ3c= X-Received: by 2002:a05:600c:3acb:b0:490:aef9:aa3b with SMTP id 5b1f17b1804b1-490aef9ab5cmr85735165e9.32.1780389564713; Tue, 02 Jun 2026 01:39:24 -0700 (PDT) Received: from arrakeen.starnux.net ([2a01:e0a:106d:1080:8261:5fff:fe11:bdda]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-490b0e26050sm43879425e9.9.2026.06.02.01.39.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jun 2026 01:39:24 -0700 (PDT) From: Neil Armstrong Date: Tue, 02 Jun 2026 10:39:20 +0200 Subject: [PATCH v5 5/6] media: qcom: iris: vdec: update find_format to handle 8bit and 10bit formats 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: 7bit Message-Id: <20260602-topic-sm8x50-iris-10bit-decoding-v5-5-c2b32474ed67@linaro.org> References: <20260602-topic-sm8x50-iris-10bit-decoding-v5-0-c2b32474ed67@linaro.org> In-Reply-To: <20260602-topic-sm8x50-iris-10bit-decoding-v5-0-c2b32474ed67@linaro.org> To: Vikash Garodia , Dikshita Agarwal , Abhinav Kumar , Bryan O'Donoghue , Mauro Carvalho Chehab Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Neil Armstrong , Dmitry Baryshkov , Bryan O'Donoghue , Wangao Wang X-Mailer: b4 0.15.1 X-Developer-Signature: v=1; a=openpgp-sha256; l=2243; i=neil.armstrong@linaro.org; h=from:subject:message-id; bh=AGNlMq/rmW+DgIPAyuJDu0dlqI4I/vZ6MLbj2JdQR9k=; b=owEBbQKS/ZANAwAKAXfc29rIyEnRAcsmYgBqHpa3YghYS42q+WEludXjGeKj4fmuAg53dU5d53wp MaJZN6GJAjMEAAEKAB0WIQQ9U8YmyFYF/h30LIt33NvayMhJ0QUCah6WtwAKCRB33NvayMhJ0WwaD/ 90phSUtZprGcg/QO2ak2gfR9cpgLPZI4RqhTRd4QxlnTCOpfPGCV5Zt4JNiLGAhA9Sb+Ghl2+BGj58 O91bjyUg+9N6yAwdQi98yRpmqF9Fc0EKxarPo3F5D6BPYL/IiZG+DhdCUvqT1dnqV6NkHddV2fuKnr +0FTDq/xh5YEtXp4jlUsbBcs/JtvMu5XOysq6xR89rJhp82XNxlfu5OsTl/eyHSFyvG9XImUMBD2N0 vhjXk8GsnnRI8vVFUrEPyneMRMStiGzAQvP22/SUD9D/Po3w/D4Ksi5p0IiDtTf3FJHgRUZjxlbo4/ Zv0xNlUJ0vGxxPRCKRFkM6xLSUEfiZUMielOQZW5JzijFwJ7O+isO3wAaic4AGTcfYgLiF/KGI/47t HyaTc5cUhbYeYMqoxcOeUWSovS30T89QVJE7ePA613oHTUy8oLKRuFuGj2jICJhQ3Vu/1rwUaXf4o3 W2/BNP65kaAfRKrojplV9eJGKzBWeO9hhkNoaWDj1Av2yMPHdXuXUVAWQ88Tpt48hY93wHNShIH5AC kgb1O+aixwzpIAMTfgTqdi3o0Ooyd+M0PMFVKznZWjgLe4yPXAr1ifhGvhTY6jEgLeZYPVG9bqz37J pRMf/ct2L29QmV0UZaGYWezHvr8Ay3L4KL8LKIU6/iHtO/uT91IM2YFEZsrA== X-Developer-Key: i=neil.armstrong@linaro.org; a=openpgp; fpr=89EC3D058446217450F22848169AB7B1A4CFF8AE The 10bit pixel format can be only used when the decoder identifies the stream as decoding into 10bit pixel format buffers, so update the find_format helper to filter the formats and only allow the proper formats when setting or trying a capture format. Reviewed-by: Dmitry Baryshkov Reviewed-by: Bryan O'Donoghue Tested-by: Wangao Wang Signed-off-by: Neil Armstrong --- drivers/media/platform/qcom/iris/iris_platform_common.h | 1 + drivers/media/platform/qcom/iris/iris_vdec.c | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/qcom/iris/iris_platform_common.h b/drivers/media/platform/qcom/iris/iris_platform_common.h index 6d69a1e3dcd3..c9256f2323dc 100644 --- a/drivers/media/platform/qcom/iris/iris_platform_common.h +++ b/drivers/media/platform/qcom/iris/iris_platform_common.h @@ -17,6 +17,7 @@ struct iris_inst; #define REGISTER_BIT_DEPTH(luma, chroma) ((luma) << 16 | (chroma)) #define BIT_DEPTH_8 REGISTER_BIT_DEPTH(8, 8) +#define BIT_DEPTH_10 REGISTER_BIT_DEPTH(10, 10) #define CODED_FRAMES_PROGRESSIVE 0x0 #define DEFAULT_MAX_HOST_BUF_COUNT 64 #define DEFAULT_MAX_HOST_BURST_BUF_COUNT 256 diff --git a/drivers/media/platform/qcom/iris/iris_vdec.c b/drivers/media/platform/qcom/iris/iris_vdec.c index 92e9201cd3a4..d55671340600 100644 --- a/drivers/media/platform/qcom/iris/iris_vdec.c +++ b/drivers/media/platform/qcom/iris/iris_vdec.c @@ -93,10 +93,23 @@ static bool check_format(struct iris_inst *inst, u32 pixfmt, u32 type) for (i = 0; i < size; i++) { if (fmt[i] == pixfmt) - return true; + break; + } + + if (i == size) + return false; + + if (type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) { + if (iris_fmt_is_8bit(pixfmt) && + inst->fw_caps[BIT_DEPTH].value == BIT_DEPTH_10) + return false; + + if (iris_fmt_is_10bit(pixfmt) && + inst->fw_caps[BIT_DEPTH].value != BIT_DEPTH_10) + return false; } - return false; + return true; } static u32 find_format_by_index(struct iris_inst *inst, u32 index, u32 type) -- 2.34.1