From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 4CA203C1404 for ; Wed, 22 Apr 2026 09:13:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776849223; cv=none; b=LLGlu4YWIB1MUAbbI4LI1HRn3KW8XuGJExz6hrBeWnY2f5P82vWicvjuNK7DkTFmdexhpcDRDgOwKuIgIBcPxy37v79SOIGYQdAFFljDiLl8BtYTLZzYLpgM+IhHAb6VJrfBXtBHFHp2HUd9tlKFX52/9Ux8BuN9qUHeXzks+Vo= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776849223; c=relaxed/simple; bh=D+5UgMgWMIDxvfMIXAumusVZuoLTVm/qXDr92m0TzTM=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=YoC3ZeL1pIEQNaIj9bLOMsPd4r9tBVwbX1rb8dDW8LTh1Jcl9qrX3AjgdKJVQGmbHtWU+6Xea/lVfq6Y5EfBSrtEoTRlVn3LwIVhPycpsUokchXu3ij1NDZxR950KjkpNs+l/kzz6rWJFLzGPHDpP+D2fXWI7Bzkbe/I1nYFxCE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=WmUC8Ag7; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=CmK6bnLy; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="WmUC8Ag7"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="CmK6bnLy" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 63M595xq4051050 for ; Wed, 22 Apr 2026 09:13:41 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= rU/aIrnL5E4EEtWlfuu817RS3wEfk8XZfHo7ZxYzUhY=; b=WmUC8Ag7cg4P/r0A j6Quh4st8wCiWU1sZ5eHhs3n4SpmexAYphydoYIKgyNtrdNB22aQWHJYG+zQW+f9 hnAECXkkXy0Tj4ryaKeERe28qkXuMh+OH8zo4do44ov/VwPzD2jIQ85puPlHtW7j XTKiE4TXvwUvToFF1GQOusR0qSc0yW8z3mWMWHr9221HvxO/0jQjLwhvE91XVQ5M Ve4fgi/UKbdHogWIOaVQCKfX2/fIyHUyIhN0tIogfqa4OpbfXbsgt6bO5TtX74WC BMQZICDbDalops2zbVlmnoD9oglx1P21HhksjFKDjsn9Qd8HetaWgXq2lh5MhjbG zIw4Jg== Received: from mail-pj1-f71.google.com (mail-pj1-f71.google.com [209.85.216.71]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4dpenfjr8y-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 22 Apr 2026 09:13:41 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-35fb6cd0879so5052544a91.2 for ; Wed, 22 Apr 2026 02:13:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1776849221; x=1777454021; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=rU/aIrnL5E4EEtWlfuu817RS3wEfk8XZfHo7ZxYzUhY=; b=CmK6bnLyiQp3COcR7UY/e+xjbNU4yRsht4FP++HqzPLi6YVvzQ3Y2nD19k9+fIsNCC QYk8eaDP/NfeEt+PbWG2D3TDVbFW7m7utg6mg98W9Eba+6VfmL4geM86I915cvLJznxc bcpeLpXJ7ON70nEu958sBVT2i/l+PcnWXwxx+zxSoHRlFd1KwyEBXImLX5lbu4No/Wpb W17E1A3LoS8SoILJDchcIeED9Wjq5WBc4nRUdQ7z7dDUf/Xu2WWmraEuC0gvpfsybQPV b1abea/RxENw50GIuLLBMEkcIR5RoyG2+Hm6uuOddVNjAdtY3PiUbeU3GUT4SfEW88Pg fguQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776849221; x=1777454021; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=rU/aIrnL5E4EEtWlfuu817RS3wEfk8XZfHo7ZxYzUhY=; b=LD5wkIbeu1nK5O0vJyvjsdnuB/tl0HAWzNGM82WGA0acdoGA355QBorZ5z9a8jIzRq ybp+VezBFoovrzFRaJUfTJAluPhvqB7OY0vuZhnKhFlnZ51TUvG6sSKPJ534YPu0wawm MbqlNyc1m2+UCGXreIz43DTojDsirIDWFefdYDSwUo+WGi5TUgcsKHsiQpvlsIIFqZJs PJbWWOE1JLRr+ftFTHl8w1CDXM1ZrGnKUQgvZ/pm/F6mTS4pcwIqI0t8ujGBDNd0r/uY H2svrwi/3v5xXS+m7y1lVpYiaTHSnZdPhb6CcRa34hlZWmWw1lDpKFAN0TyKlG1JomnB hfww== X-Forwarded-Encrypted: i=1; AFNElJ9dP3tvcvGc8eVzedEtskPdZm4R1Ke+RbOUAyGp6TMjacYUDs9LDGv8DsSlxHGr9/pxKwfm0sceE0A4V00=@vger.kernel.org X-Gm-Message-State: AOJu0YwZElJYPwKphS7fdV/8o+hgQ7nOc1NzUugphco35e2aWgybOY9O qQiJ9JAwwZXrUe/gnYKfX0UdE/1ls5nOGEiXBAbzARvoXevcHDjsNgk1ePXEfQKRSNMiObC0jJM ELkisq6yFW9pL3Cu7IIEkRdjLOnp0GW0WDYyNH7WW8TfevIi72NyB6WeLuVOg03zKwnU= X-Gm-Gg: AeBDies94sXgKOQgB9T8iT0Nw7uZZh8DvlLvi5dIlwQo0UesgMreTJkst9zxPO0umr9 we2SiptlnjFvaWoxO2q0rlHD98qreaZw9k3ifHbLCveu6NJnEK3vdfT3qeTgs7LUt6EpfHF0BMb JpmpTppAPNzd+xAkZYVktQc3cJahhAmzru7UskcKsvGV2iTQOKQEyg4lrwjm8P+PG8PiPgvNh66 UW9lmkrhF1lughDcmR/gKfFss8t4ld3Qq4oTk2kTlSLj9NPyG8pAed0dgOhfsY1sm3YsuXqtGm8 XA5m4zA7rUQIG85RXHSUJBBl/p01+Mo47Te53PsfRW2kxwt3YOn6Vb4hfYIkJg0k21yNXzoKTlD QDGyi/BjxL8d2ypKcqDgd1idpHUAXVZ96fPAMW39Y4vqcc8jE9SS1bCsIRP4GHxuF X-Received: by 2002:a17:902:bf41:b0:2ae:4a4e:1e25 with SMTP id d9443c01a7336-2b5f9f5c1c5mr163765085ad.25.1776849220860; Wed, 22 Apr 2026 02:13:40 -0700 (PDT) X-Received: by 2002:a17:902:bf41:b0:2ae:4a4e:1e25 with SMTP id d9443c01a7336-2b5f9f5c1c5mr163764495ad.25.1776849219564; Wed, 22 Apr 2026 02:13:39 -0700 (PDT) Received: from [10.0.0.4] ([106.222.228.209]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b5faa507cbsm164034525ad.37.2026.04.22.02.13.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 22 Apr 2026 02:13:39 -0700 (PDT) Message-ID: <568c51fd-a229-0cd9-815d-7461606beb60@oss.qualcomm.com> Date: Wed, 22 Apr 2026 14:43:35 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.15.1 Subject: Re: [PATCH v2 3/6] media: qcom: iris: gen2: add support for 10bit decoding Content-Language: en-US To: Neil Armstrong , Vikash Garodia , 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 References: <20260417-topic-sm8x50-iris-10bit-decoding-v2-0-c987b65a31d5@linaro.org> <20260417-topic-sm8x50-iris-10bit-decoding-v2-3-c987b65a31d5@linaro.org> From: Dikshita Agarwal In-Reply-To: <20260417-topic-sm8x50-iris-10bit-decoding-v2-3-c987b65a31d5@linaro.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNDIyMDA4MyBTYWx0ZWRfX7gugByyz+Ox+ eQ3mAKrQw6saj5G+0+606sc+gHvYSm6JoL1Eav5QOFhhbbW0UUGgYYK9iH7G8HNqcRewOBd/J0o zRLpow01r6OZ/ZXTZPiJSDTX2NDqWxaJUBbAeOVODts5lz5no7HCsAHwYbvWmU//fomMRmEOH8T eQ6bf+bl1vFXSKwcjjxLK9Yg3bxvSNyQnoMuzO1f2/P55hdORXomOQqXPicfjzraBuhQwLLMZLR tHhDYLr3CSLPyFO7rK9w4szg5p0dxVOXONxCT7LbM7QO91IFAxWEXwgqLRb64viACHqadBWudva hgNT1WV7yzhiATxBFdiPJRY770peYm0yy6HnK8s5jCm4X10zCyd1JGvnrkkiA/XYMd1rCvNepGL m2a9KM2B5w/u9Bs5NCyYhfqqWGLvI8SxK2bXAJUa3QGGEsMJhQaNulm4ttWL41iSrm2mBdez+0C 0qQudQeDVn+PHn660qg== X-Authority-Analysis: v=2.4 cv=VMrtWdPX c=1 sm=1 tr=0 ts=69e89145 cx=c_pps a=UNFcQwm+pnOIJct1K4W+Mw==:117 a=rP2ZPG2H70Gfrv7XvIldxw==:17 a=IkcTkHD0fZMA:10 a=A5OVakUREuEA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=KKAkSRfTAAAA:8 a=hsJvx-B6qgcxRBDfHDcA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=uKXjsCUrEbL0IQVhDsJ9:22 a=cvBusfyB2V15izCimMoJ:22 X-Proofpoint-GUID: Jle8Jj2TJX00rWwSe_YoeU-g8hDEEtol X-Proofpoint-ORIG-GUID: Jle8Jj2TJX00rWwSe_YoeU-g8hDEEtol X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-04-21_03,2026-04-21_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 bulkscore=0 malwarescore=0 spamscore=0 phishscore=0 priorityscore=1501 suspectscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604220083 On 4/17/2026 3:07 PM, Neil Armstrong wrote: > Add the necessary plumbing into the HFi Gen2 to signal the decoder > the right 10bit pixel format and stride when in compressed mode. > > Signed-off-by: Neil Armstrong > --- > .../platform/qcom/iris/iris_hfi_gen2_command.c | 71 +++++++++++++++++++++- > .../platform/qcom/iris/iris_hfi_gen2_defines.h | 1 + > drivers/media/platform/qcom/iris/iris_utils.c | 4 +- > 3 files changed, 72 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c b/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c > index 30bfd90d423b..d664e606e886 100644 > --- a/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c > +++ b/drivers/media/platform/qcom/iris/iris_hfi_gen2_command.c > @@ -481,8 +481,20 @@ static int iris_hfi_gen2_set_colorformat(struct iris_inst *inst, u32 plane) > > if (inst->domain == DECODER) { > pixelformat = inst->fmt_dst->fmt.pix_mp.pixelformat; > - hfi_colorformat = pixelformat == V4L2_PIX_FMT_NV12 ? > - HFI_COLOR_FMT_NV12 : HFI_COLOR_FMT_NV12_UBWC; > + switch (pixelformat) { > + case V4L2_PIX_FMT_NV12: > + hfi_colorformat = HFI_COLOR_FMT_NV12; > + break; > + case V4L2_PIX_FMT_QC08C: > + hfi_colorformat = HFI_COLOR_FMT_NV12_UBWC; > + break; > + case V4L2_PIX_FMT_P010: > + hfi_colorformat = HFI_COLOR_FMT_P010; > + break; > + case V4L2_PIX_FMT_QC10C: > + hfi_colorformat = HFI_COLOR_FMT_TP10_UBWC; > + break; > + }; > } else { > pixelformat = inst->fmt_src->fmt.pix_mp.pixelformat; > hfi_colorformat = pixelformat == V4L2_PIX_FMT_NV12 ? > @@ -517,7 +529,8 @@ static int iris_hfi_gen2_set_linear_stride_scanline(struct iris_inst *inst, u32 > stride_uv = stride_y; > scanline_uv = scanline_y / 2; > > - if (pixelformat != V4L2_PIX_FMT_NV12) > + if (pixelformat != V4L2_PIX_FMT_NV12 && > + pixelformat != V4L2_PIX_FMT_P010) > return 0; > > payload[0] = stride_y << 16 | scanline_y; > @@ -532,6 +545,57 @@ static int iris_hfi_gen2_set_linear_stride_scanline(struct iris_inst *inst, u32 > sizeof(u64)); > } > > +static int iris_hfi_gen2_set_ubwc_stride_scanline(struct iris_inst *inst, u32 plane) > +{ > + u32 meta_stride_y, meta_scanline_y, meta_stride_uv, meta_scanline_uv; > + u32 stride_y, scanline_y, stride_uv, scanline_uv; > + u32 port = iris_hfi_gen2_get_port(inst, plane); > + u32 pixelformat, width, height; > + u32 payload[4]; > + > + pixelformat = inst->fmt_dst->fmt.pix_mp.pixelformat; > + width = inst->fmt_dst->fmt.pix_mp.width; > + height = inst->fmt_dst->fmt.pix_mp.height; > + > + switch (pixelformat) { > + case V4L2_PIX_FMT_QC08C: > + stride_y = ALIGN(width, 128); > + scanline_y = ALIGN(height, 32); > + stride_uv = ALIGN(width, 128); > + scanline_uv = ALIGN((height + 1) >> 1, 32); > + meta_stride_y = ALIGN(DIV_ROUND_UP(width, 32), 64); > + meta_scanline_y = ALIGN(DIV_ROUND_UP(height, 8), 16); > + meta_stride_uv = ALIGN(DIV_ROUND_UP((width + 1) >> 1, 16), 64); > + meta_scanline_uv = ALIGN(DIV_ROUND_UP((height + 1) >> 1, 8), 16); > + break; > + case V4L2_PIX_FMT_QC10C: > + stride_y = ALIGN(width * 4 / 3, 256); > + scanline_y = ALIGN(height, 16); > + stride_uv = ALIGN(width * 4 / 3, 256); > + scanline_uv = ALIGN((height + 1) >> 1, 16); > + meta_stride_y = ALIGN(DIV_ROUND_UP(width, 48), 64); > + meta_scanline_y = ALIGN(DIV_ROUND_UP(height, 4), 16); > + meta_stride_uv = ALIGN(DIV_ROUND_UP((width + 1) >> 1, 24), 64); > + meta_scanline_uv = ALIGN(DIV_ROUND_UP((height + 1) >> 1, 4), 16); > + break; > + default: > + return 0; > + } > + > + payload[0] = stride_y << 16 | scanline_y; > + payload[1] = stride_uv << 16 | scanline_uv; > + payload[2] = meta_stride_y << 16 | meta_scanline_y; > + payload[3] = meta_stride_uv << 16 | meta_scanline_uv; > + > + return iris_hfi_gen2_session_set_property(inst, > + HFI_PROP_UBWC_STRIDE_SCANLINE, > + HFI_HOST_FLAGS_NONE, > + port, > + HFI_PAYLOAD_U32_ARRAY, > + &payload[0], > + sizeof(u32) * 4); > +} I’m still not convinced this change is needed for non‑AV1 codecs. I’m concerned this may be masking an underlying alignment issue, since this property is not intended to be used for non‑AV1 codecs. Even FW team doesn't recommend setting this property for other codecs as it can lead to wasted memory due to over‑allocation and padding. Thanks, Dikshita