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 2D94630C371 for ; Mon, 15 Jun 2026 18:00:02 +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=1781546403; cv=none; b=rLDC9jWomQA8w0LQZMlqCCKLhnDFVHlarNVAtDQ5VObHhyFmKH20rH78ENsx6I2JerVmRW1wAANIbuRAs8BzTFd5naYJstjuCMdKinC4GGLTUQzDKwej6418Xb1wRLrAapwzXkJr2F0Cfv1J7tJzh6m+LD3xsqVLpjti/OBlxCw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781546403; c=relaxed/simple; bh=/T20fKjGztsJQ87ufRGpByOtPnHbRW+6wIDEKpP4RU8=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=Dy+JLQq9t3uir1vbMqBS9Dn4vskDg1Y65C3MmgmluPuqWublnEKaD/AC49C9rV6yyaYvdmr46asCi6bagKf6dBriEirdO+wDHc4/dYGtkCp+NvjzqBo62Ld71wYkM0Lgc3gTZpOVbWK6TUgVRzXCcD9zHEVx4JEyQ1k8KaLAhms= 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=PKhxQXz3; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=aoOMgDdN; 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="PKhxQXz3"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="aoOMgDdN" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65FFhJZC3139316 for ; Mon, 15 Jun 2026 18:00:01 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= kRsizAxY/r3NTCTR+W2kx0FDoYBEA1sH4F+4U3CB780=; b=PKhxQXz3nnsHUnf8 q4EEOAjkBUdG2RJvlEBef1Vq81k1UVHwT6tjIUAVALR8nLqoIWhGpjlhjB3ZNXNh jmurSJWBWAYZV+txDx6clR8Ou4eAHIPKt0oineyD8cMvOwzUw22K410uShdPGZWj uXjOUZkrmJrVQ3lwWC1Je+9Ec9ygSgVV691tE/x46Uh4HDQaRjfHA4aDNLJFPRbZ y03eETJ1b7WEwIzoeHXopdQFl6XVkX44yf6AoDpwo4TJvoheuA6FMh15CzJPXVc2 tpr7pcO64PwfBgbxVhuLePoMIhlHJXOhtR7a8Zoe6v0ekMue20eSX6/feJbev0eZ wdeDjA== 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 4ete982b9p-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 15 Jun 2026 18:00:01 +0000 (GMT) Received: by mail-pj1-f71.google.com with SMTP id 98e67ed59e1d1-36bc5e97950so4459044a91.1 for ; Mon, 15 Jun 2026 11:00:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781546400; x=1782151200; 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=kRsizAxY/r3NTCTR+W2kx0FDoYBEA1sH4F+4U3CB780=; b=aoOMgDdNqPF7fFmF6mueioUzH3EbuNk3KB7pIKJ6sg1qJwDgU5WcU4MnuEA94fc9ye z46Xa1j4JRl8IBHtBUCp8UAPUyAdurKwWpc8ydKnU4gCVZ7KrSxVVOH/FC3e9p8RK+Ln sSZBI1fP1mci3rjZoKaO/+IwvZBsfGb79QwKotX3u55JwfgpVE/bc8gAhyzEOkRxoxbr 6oy5jWJdl4592vPQr0bfreUqIoG1t6y3P1+ii52LEv71Y0oeJKzW+AuvJbYWAxjFTW6z iR4vj9Tu+qE3jSeDLXTkgwYv+/sG5sW2440kWa1GvMO9Ytgf3jmAaS7ccHPOSbRhLDgN khGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781546400; x=1782151200; 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=kRsizAxY/r3NTCTR+W2kx0FDoYBEA1sH4F+4U3CB780=; b=OJdLVE2lrWXTFoQvot7HyydJniP5gM4Djlye77iH+qzjuDET5Am+BzuppQMXQq9okJ 09Y8QG0yvvHVfuSlaHGzGPfQo0l1evp7uSnlw1gAY91qkvjbIVgskmEkdlhXkQ+ZNPhp Rh2m6F6L4rFm6QYklZGgrvHtRuv01ylJ8DNUfFAWTqioU10Apqjo2w1bk5YfrZLvcSN5 CYjwDg20o1YWdT7ggxAf83kSzeHnscWRsyoUec04soz5krlUaA/XJ9KKHw0bb5xeLlku hTi8z6rQSax0PW6fxkv+xvtDGiAEFYifh26AB0tD/6V+Ea0e4BlRVFqWbCBtQMxdwjVT aTvg== X-Forwarded-Encrypted: i=1; AFNElJ8xMtlsGY4qaZ3OfufHT3OsdXYz1fbuyjWgVKiT3ITvuFnOgSq7LJYKitK8I+YywZM1NPlxX2QB52B64zw=@vger.kernel.org X-Gm-Message-State: AOJu0Yx1IKQ7fY1fzeXUBv1DTq/uQTaM5yutTHJssL/UbZrlLKYMR21y 0mk8i+Vd9ZVNf7+O/52WHQVz/Vu5YP10sRLK8mt5yg1HBeZ+Tc5svC20wLCnclX98f/iNmdxK7l Scmj1bS+EG8YYJkzfNQXom06Zjmk3hXN7swqbwOIQG9w7cO2Xk0JfwY2JV2csf5w6uVQ= X-Gm-Gg: Acq92OFUODfgmE4CInsEM1TjRslyPfsQF8WoWIjSZDYJ0zR5I4YBUnut8GTmQ0sTd8N hZPNoW9d3XrGHl/qrZCNY8fcaBOE4sAP3GJ3YhA4+Vi5e2ytB/xOA5jG46zaOvG04xI7SEOa42x xEUzTgvO4nTmgfD2q+dPFtZJVmfK51vMhypWFwRUf5nk3/4lDNzX1KZxg4/Qcf8IjKmF/eJTYCI Bs/AwLfXuPoaKGgZlHbjVcrBsGLwOfPE5MeTNic93d37wao2OsFfP/y5Ff2iOqdJ/IvOaJb/bKq RoUEoXMaYazW/1gaOTQS5s9mjFb/VVxnTuLQMnEy07Yq97aX5+fFc5nWkCnenMLt8z3HJAU+/kZ oBmdYvn8YVQmeeid3YYSH29W7ZRXX6R8gdt8xzljAL+3/T1lUVs2o7oDQ X-Received: by 2002:a17:90b:4f88:b0:368:f0d0:1ce8 with SMTP id 98e67ed59e1d1-37c52840f17mr337795a91.9.1781546400531; Mon, 15 Jun 2026 11:00:00 -0700 (PDT) X-Received: by 2002:a17:90b:4f88:b0:368:f0d0:1ce8 with SMTP id 98e67ed59e1d1-37c52840f17mr337752a91.9.1781546399936; Mon, 15 Jun 2026 10:59:59 -0700 (PDT) Received: from [10.187.126.18] ([106.221.183.253]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-37c521aa047sm316268a91.3.2026.06.15.10.59.53 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 15 Jun 2026 10:59:59 -0700 (PDT) Message-ID: Date: Mon, 15 Jun 2026 23:29:51 +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.8.0 Subject: Re: [PATCH v4 06/16] media: iris: Add platform data field for watchdog interrupt mask Content-Language: en-US To: Dmitry Baryshkov , Vikash Garodia , Abhinav Kumar , Bryan O'Donoghue , Mauro Carvalho Chehab , Bjorn Andersson , Konrad Dybcio , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-media@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Dikshita Agarwal References: <20260612-iris-ar50lt-v4-0-0abfb74d5b3c@oss.qualcomm.com> <20260612-iris-ar50lt-v4-6-0abfb74d5b3c@oss.qualcomm.com> From: Vishnu Reddy In-Reply-To: <20260612-iris-ar50lt-v4-6-0abfb74d5b3c@oss.qualcomm.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Authority-Analysis: v=2.4 cv=V5tNF+ni c=1 sm=1 tr=0 ts=6a303da1 cx=c_pps a=UNFcQwm+pnOIJct1K4W+Mw==:117 a=ym48ABLkKUHSTpi9L/JoRg==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=dkSSNRsQlKXtGsl7zWAA:9 a=QEXdDO2ut3YA:10 a=uKXjsCUrEbL0IQVhDsJ9:22 X-Proofpoint-GUID: FhdROlkBDvnktcFGU1jHS-V1TKZbr2bU X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE1MDE5MCBTYWx0ZWRfX0mwXB/LQHDJv s1eQNp32a57tEoAtSOQ3Q2eOJFILn28/fibP4v+cNORCksond4QqbbE13kQm4lSF66jhY43wTio ylwJKKzKGEPUe33S6SZbPPN5Wt0ICb8= X-Proofpoint-ORIG-GUID: FhdROlkBDvnktcFGU1jHS-V1TKZbr2bU X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE1MDE5MCBTYWx0ZWRfXwGK+CQsM2A1/ CsH26iSvi0w0oZwxX2u9MoE5exiA3eoNUwlKOffdsC0HnkoWw0jYrHPbMJ5sG3eXU0iG/p+hZcZ Scjhcsky9+RacSOdGSqFjc3um2Kg9Dns3LWY/y2ttHg5FVjoet8SsRVl7svSJJGHiznv1ACS/7D fHAc8m6OmXo0hjCQMgbPBr6jgVcCE1Zmm5IM0hIeWd76YB1APG/P2Vb2b/ladrMpR2f/V8DC17a JGnfbDDRWMPg05dXZdnPAS4vl5cyKgEQntm8eoT61fcrGdtZkJC0rCl6dIU1DsnL2HoEkJP3/zE A/U+D4V3dCHO/CsI3ZyUPRKUz16Ek/01i/RAbYyZ/dHSbD860cF9BOgvCjKURmI+O9jEKA+Usa+ KV3s1Zm0hjimhjExDkajOJT6qTfuGfWabDR9vYYE8k8Ddf3xcraId+YI7dLWRKvwHTK6SkA0HND MUhhE31jlZU1jTQ736w== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-15_04,2026-06-15_04,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 impostorscore=0 phishscore=0 malwarescore=0 priorityscore=1501 adultscore=0 lowpriorityscore=0 clxscore=1015 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606150190 On 6/12/2026 2:55 PM, Dmitry Baryshkov wrote: > From: Dikshita Agarwal > > For AR50LT core, the value of WRAPPER_INTR_STATUS_A2HWD_BMASK differs > from the currently supported VPUs. In preparation for adding AR50LT > support in subsequent patches, introduce a platform data field, > wd_intr_mask, to capture the watchdog interrupt bitmask per platform. > > Signed-off-by: Dikshita Agarwal > Signed-off-by: Dmitry Baryshkov > --- > drivers/media/platform/qcom/iris/iris_platform_common.h | 1 + > drivers/media/platform/qcom/iris/iris_platform_vpu2.c | 4 ++++ > drivers/media/platform/qcom/iris/iris_platform_vpu3x.c | 6 ++++++ > drivers/media/platform/qcom/iris/iris_vpu_common.c | 8 +++++--- > drivers/media/platform/qcom/iris/iris_vpu_register_defines.h | 1 - > 5 files changed, 16 insertions(+), 4 deletions(-) > > diff --git a/drivers/media/platform/qcom/iris/iris_platform_common.h b/drivers/media/platform/qcom/iris/iris_platform_common.h > index 55a4fa356985..81fcb2854772 100644 > --- a/drivers/media/platform/qcom/iris/iris_platform_common.h > +++ b/drivers/media/platform/qcom/iris/iris_platform_common.h > @@ -315,6 +315,7 @@ struct iris_platform_data { > u32 tz_cp_config_data_size; > u32 num_vpp_pipe; > bool no_aon; > + u32 wd_intr_mask; > u32 max_session_count; > /* max number of macroblocks per frame supported */ > u32 max_core_mbpf; > diff --git a/drivers/media/platform/qcom/iris/iris_platform_vpu2.c b/drivers/media/platform/qcom/iris/iris_platform_vpu2.c > index 961dce2e6aa9..eeef453c583f 100644 > --- a/drivers/media/platform/qcom/iris/iris_platform_vpu2.c > +++ b/drivers/media/platform/qcom/iris/iris_platform_vpu2.c > @@ -16,6 +16,8 @@ > #include "iris_platform_sc7280.h" > #include "iris_platform_sm8250.h" > > +#define WRAPPER_INTR_STATUS_A2HWD_BMSK BIT(3) > + > static const struct iris_firmware_desc iris_vpu20_p1_gen1_desc = { > .firmware_data = &iris_hfi_gen1_data, > .get_vpu_buffer_size = iris_vpu_buf_size, > @@ -94,6 +96,7 @@ const struct iris_platform_data sc7280_data = { > .tz_cp_config_data_size = ARRAY_SIZE(tz_cp_config_vpu2), > .num_vpp_pipe = 1, > .no_aon = true, > + .wd_intr_mask = WRAPPER_INTR_STATUS_A2HWD_BMSK, > .max_session_count = 16, > .max_core_mbpf = 4096 * 2176 / 256 * 2 + 1920 * 1088 / 256, > /* max spec for SC7280 is 4096x2176@60fps */ > @@ -124,6 +127,7 @@ const struct iris_platform_data sm8250_data = { > .tz_cp_config_data = tz_cp_config_vpu2, > .tz_cp_config_data_size = ARRAY_SIZE(tz_cp_config_vpu2), > .num_vpp_pipe = 4, > + .wd_intr_mask = WRAPPER_INTR_STATUS_A2HWD_BMSK, > .max_session_count = 16, > .max_core_mbpf = NUM_MBS_8K, > .max_core_mbps = ((7680 * 4320) / 256) * 60, > diff --git a/drivers/media/platform/qcom/iris/iris_platform_vpu3x.c b/drivers/media/platform/qcom/iris/iris_platform_vpu3x.c > index 74626b35d9cb..261db38a013b 100644 > --- a/drivers/media/platform/qcom/iris/iris_platform_vpu3x.c > +++ b/drivers/media/platform/qcom/iris/iris_platform_vpu3x.c > @@ -18,6 +18,8 @@ > #include "iris_platform_sm8750.h" > #include "iris_platform_x1p42100.h" > > +#define WRAPPER_INTR_STATUS_A2HWD_BMSK BIT(3) > + > static const struct iris_firmware_desc iris_vpu30_p4_s6_gen2_desc = { > .firmware_data = &iris_hfi_gen2_data, > .get_vpu_buffer_size = iris_vpu_buf_size, > @@ -113,6 +115,7 @@ const struct iris_platform_data qcs8300_data = { > .tz_cp_config_data = tz_cp_config_vpu3, > .tz_cp_config_data_size = ARRAY_SIZE(tz_cp_config_vpu3), > .num_vpp_pipe = 2, > + .wd_intr_mask = WRAPPER_INTR_STATUS_A2HWD_BMSK, > .max_session_count = 16, > .max_core_mbpf = ((4096 * 2176) / 256) * 4, > .max_core_mbps = (((3840 * 2176) / 256) * 120), > @@ -142,6 +145,7 @@ const struct iris_platform_data sm8550_data = { > .tz_cp_config_data = tz_cp_config_vpu3, > .tz_cp_config_data_size = ARRAY_SIZE(tz_cp_config_vpu3), > .num_vpp_pipe = 4, > + .wd_intr_mask = WRAPPER_INTR_STATUS_A2HWD_BMSK, > .max_session_count = 16, > .max_core_mbpf = NUM_MBS_8K * 2, > .max_core_mbps = ((7680 * 4320) / 256) * 60, > @@ -179,6 +183,7 @@ const struct iris_platform_data sm8650_data = { > .tz_cp_config_data = tz_cp_config_vpu3, > .tz_cp_config_data_size = ARRAY_SIZE(tz_cp_config_vpu3), > .num_vpp_pipe = 4, > + .wd_intr_mask = WRAPPER_INTR_STATUS_A2HWD_BMSK, > .max_session_count = 16, > .max_core_mbpf = NUM_MBS_8K * 2, > .max_core_mbps = ((7680 * 4320) / 256) * 60, > @@ -208,6 +213,7 @@ const struct iris_platform_data sm8750_data = { > .tz_cp_config_data = tz_cp_config_vpu3, > .tz_cp_config_data_size = ARRAY_SIZE(tz_cp_config_vpu3), > .num_vpp_pipe = 4, > + .wd_intr_mask = WRAPPER_INTR_STATUS_A2HWD_BMSK, > .max_session_count = 16, > .max_core_mbpf = NUM_MBS_8K * 2, > .max_core_mbps = ((7680 * 4320) / 256) * 60, > diff --git a/drivers/media/platform/qcom/iris/iris_vpu_common.c b/drivers/media/platform/qcom/iris/iris_vpu_common.c > index 375bcd923476..41498f94480e 100644 > --- a/drivers/media/platform/qcom/iris/iris_vpu_common.c > +++ b/drivers/media/platform/qcom/iris/iris_vpu_common.c > @@ -109,11 +109,11 @@ void iris_vpu_raise_interrupt(struct iris_core *core) > > void iris_vpu_clear_interrupt(struct iris_core *core) > { > + u32 wd_intr_mask = core->iris_platform_data->wd_intr_mask; > u32 intr_status, mask; > > intr_status = readl(core->reg_base + WRAPPER_INTR_STATUS); > - mask = (WRAPPER_INTR_STATUS_A2H_BMSK | > - WRAPPER_INTR_STATUS_A2HWD_BMSK | > + mask = (WRAPPER_INTR_STATUS_A2H_BMSK | wd_intr_mask | > CTRL_INIT_IDLE_MSG_BMSK); > > if (intr_status & mask) > @@ -124,7 +124,9 @@ void iris_vpu_clear_interrupt(struct iris_core *core) > > int iris_vpu_watchdog(struct iris_core *core, u32 intr_status) > { > - if (intr_status & WRAPPER_INTR_STATUS_A2HWD_BMSK) { > + u32 wd_intr_mask = core->iris_platform_data->wd_intr_mask; > + > + if (intr_status & wd_intr_mask) { > dev_err(core->dev, "received watchdog interrupt\n"); > return -ETIME; > } > diff --git a/drivers/media/platform/qcom/iris/iris_vpu_register_defines.h b/drivers/media/platform/qcom/iris/iris_vpu_register_defines.h > index 72168b9ffa73..4fffa094c52f 100644 > --- a/drivers/media/platform/qcom/iris/iris_vpu_register_defines.h > +++ b/drivers/media/platform/qcom/iris/iris_vpu_register_defines.h > @@ -41,7 +41,6 @@ > #define MSK_CORE_POWER_ON BIT(1) > > #define WRAPPER_INTR_STATUS (WRAPPER_BASE_OFFS + 0x0C) > -#define WRAPPER_INTR_STATUS_A2HWD_BMSK BIT(3) > #define WRAPPER_INTR_STATUS_A2H_BMSK BIT(2) > > #define WRAPPER_INTR_MASK (WRAPPER_BASE_OFFS + 0x10) Reviewed-by: Vishnu Reddy