From nobody Sun Feb 8 10:04:38 2026 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 4A94A22157B for ; Tue, 30 Dec 2025 17:03:16 +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=1767114197; cv=none; b=lo1sFWKRKv5Bx6cQCXbg8yVS2ssnAHDE11JZQ0ca/wuDqlZqO/PCIWQ4iTY0QP6DDllMHzKqy8eJCUxlsJvRGg4qhb9K/0bioFcAlTjAqnrjtdUk8G8JTbxQE6FZQQBVwmYJlsSGlsnX52TPMHV3nivhexWPMVQMIrA00pzmW9w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767114197; c=relaxed/simple; bh=QUXpcxV1k5QMZf+QaO2uJlP0NmXwPLJrLAyJVowOkB0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OdXrNpPUvdYS90Fp7yzjDMbk18J59ne5UtzyNpTPzwr/fhuKOxLAeGDvi/q55RsrX9iHa6zx4zwNGDZGG5c+nLo8VKVDZ+7g2bt7aOX9+ZiS74/+zByC2AUWjsCMR/r5xBuBUGpw6bW8swt5AyOVO3z3AciKFEZiJTiair41nE4= 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=XREN7K9s; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=UIB5sCgo; 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="XREN7K9s"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UIB5sCgo" 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 5BUEcOFK3539627 for ; Tue, 30 Dec 2025 17:03:15 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= PxeWmtW8IdrQ7Qfko3faPMcvx1IgxirxWZVDR5z3bR0=; b=XREN7K9s2o1Sdb+7 fnI5wPIIgG8GJN/nC83G2ulqn5YX6Nf268Vk7QCZSK9v6rhbUv1GasoLvGhavWQz OfsJxOpDK4tX7nfbTAVXeNrTPMDTry9FmKeuIedYOJELX/XoL23U9pQ271GTCBes DO2hIBiFqPhOvhc8Rf/g5jqcTDKKenJN89Yc6aixmMdloxDyEclj/0T4DUXTLjdP MRF8lFZwVU02diIYth7Ctlp67Vf5omoVqC41/y0UDEulaVS/x0MKv4A+XjieIWcP JP6To4sPPym7U7hu3ty3xZY/kpCBnzxJgF89VStMvhgaHl9TczsNuLCH+IVN47nd aZ2+dQ== Received: from mail-yw1-f199.google.com (mail-yw1-f199.google.com [209.85.128.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bc88yhn90-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 30 Dec 2025 17:03:15 +0000 (GMT) Received: by mail-yw1-f199.google.com with SMTP id 00721157ae682-78fc789257dso86195327b3.2 for ; Tue, 30 Dec 2025 09:03:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767114194; x=1767718994; 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=PxeWmtW8IdrQ7Qfko3faPMcvx1IgxirxWZVDR5z3bR0=; b=UIB5sCgountip94YyqwdYcDbqsUNCsAqzs6VFQnbDBYgecKUr3oA/RMS3JugK8nwG/ 44J8yr7+Qfe7TP/O1cVcPPqP5q9hRoysdeX3nGe6rCGxT3Dz9TKyiky0E1iRDwwB6eAD YedYepcDEGwZJrwqbJDDpRKCvZi3iH2AjRapSPdAkTm6SLhr/OzvyporgCG/DL6KVLQc KyBSF60InbQmNkU0gIe+ApKKlblYlMhF3h5Fqt1qwUCGYO9Rhjl6qJuiwwooxxXx0rgc yjNBNh6f3Kv2dNPXuwtBzbceAwOnD5y0T78rLUWnAN7ku/d61QmNRIfCSDcBG/2LXFPj UPCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767114194; x=1767718994; 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=PxeWmtW8IdrQ7Qfko3faPMcvx1IgxirxWZVDR5z3bR0=; b=psxWRfnxsb2BUky1QyqX8EmnCn0/bupo25X/2HeZ+OjBuXOhJVu45oc23WM9jy6/By 3hkGLMZOUJGGYquNKdrSfMr03Dj0LTHapafZXDsAIPzcEHNVeyX8NRt4km7VhkM3xBta aTBzVrYHdTgrw2qMO8ta68D2D3Zu3Jbeb6S4Th59FIjeq9j/hUUO6V3P5XiE1ihYJ/yy YUhARyaEQowJqeWJLxnNtDAKruebZ6oACDsNFpiM52h27BKjvMFE1A2a2nRKdpyUAn4D Az9b+0v9PtIHnqs166jPxI9CXKPbARqKw+2n8qRsO4GX6WsvjiKhVsuUxj+mGhyHHIBn dfGQ== X-Forwarded-Encrypted: i=1; AJvYcCVrA3ZsEcbY86gL27iFM00mmvOkBz1geA+lxRS3JrxlLljRWxz2FiQySlIMrHulcPvJzZyUqerbdXizNYE=@vger.kernel.org X-Gm-Message-State: AOJu0YzTW/H1yP4hsec66eLwesUvG61bHh8SqbFBqtVt9jP2EC1yNUG4 fWs87odzc7NU1GNguoPYIhiQjKlV8I5QiTtAV6cqgoQJgi0yLr4+89kNRlaDtDXPCOt6KFWQblt ole9H7X67V8PUZniqRJ1kRyJtsLxU/NkSPxsH+rL3gHRecTvO8jBJguw35KgRQCZy0FA= X-Gm-Gg: AY/fxX6JCwOEBPPhBS55vUKNMk15VGf2dtP9fV+D0byO9b1DrHT3nY2D+MHz5ddWeQ6 rN/ewV3QsVBVQsj1+Rf/eNWeNG1QbTEzXc75Uo0Q7wL5F+v3jBYsUuhRohVF9b7U/4+NyOwOH57 +IA0X2NQJUDUNDkEXErZY2eEoICQVElN+36cDFQ6YgZtvKo+rOzyPFcFHYZPwuusw0GzrujRA0K vk56nAXm8OD3dzVjPfM9tAx3kySYLM6wDUb3mRjKmwcX3i67rQgY6gxeIVVwSx0iDP3P+5K4RxW 1d7ROWzpjOrI2vfeMCdFebUhKRiJM1h3ebREDLwlmn0+B0/YVTQ2oypweiIZHurYUX0CViKFCE4 9diuX94Jbl5FBOoqe+2+BaxsM59WHDnwbBd/tPgiWAtOjqeQlk+HprtXRIddSbezOn1rbVZyGcl 7oqNf7FAMd63+XxbtS90goFBm+YsmopF1Wu3rV5pwE X-Received: by 2002:a05:690c:490a:b0:78f:8f4c:884e with SMTP id 00721157ae682-78fb3f26fdcmr308336797b3.21.1767114194471; Tue, 30 Dec 2025 09:03:14 -0800 (PST) X-Google-Smtp-Source: AGHT+IFJOLGR/FcqbE3k8GQnJpV5BepiEsz7+t1cMmeduT+rWr5bvJmYR8yxj4fKD6Nm9yTcQsjuvQ== X-Received: by 2002:a05:690c:490a:b0:78f:8f4c:884e with SMTP id 00721157ae682-78fb3f26fdcmr308336437b3.21.1767114193976; Tue, 30 Dec 2025 09:03:13 -0800 (PST) Received: from shalem.localdomain (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8037a5bdb9sm3776086266b.7.2025.12.30.09.03.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Dec 2025 09:03:13 -0800 (PST) From: Hans de Goede Date: Tue, 30 Dec 2025 18:02:58 +0100 Subject: [PATCH v5 01/14] media: aptina-pll: Debug log p1 min and max values 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: quoted-printable Message-Id: <20251230-mt9m114-atomisp-v5-1-763539e76094@oss.qualcomm.com> References: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> In-Reply-To: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Sakari Ailus Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Laurent Pinchart , Hans de Goede X-Mailer: b4 0.14.2 X-Authority-Analysis: v=2.4 cv=POcCOPqC c=1 sm=1 tr=0 ts=695405d3 cx=c_pps a=72HoHk1woDtn7btP4rdmlg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=P1BnusSwAAAA:8 a=EUspDBNiAAAA:8 a=ZdSappWxmhQcxru2t40A:9 a=QEXdDO2ut3YA:10 a=kA6IBgd4cpdPkAWqgNAz:22 a=D0XLA9XvdZm18NrgonBM:22 X-Proofpoint-ORIG-GUID: fsTQpx4UFYyJwEXK5cgxAjFTsXEJ4pUA X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjMwMDE1MyBTYWx0ZWRfX/o6puMSL35tP fRroNxuD+AFWhGankFLgw54y0VoTHmJgN9ORk8e6yU6xV07kJWhsrvy/NhTbyncUFGLQ5OiH8Vi S9dqC+EtUzpu6UkJ63JRljdOcfS59qEnHYIaj0BcwnszqinCKWuuJVoy8/rsgwvToKReFcDpmxf vEqGE3NFT/DoITL2qmuhuHRut5+Konbjn2hvKRPXSesHkNMXMed411H1zUWzQil3FYvLz+bojDr G6ZVomkH1H4xKxCWqkII/P/fC4p3iuFa6KbSQ7/R4stQcgL/6/BBa0l0cRebjkZmqTCbdFOAQ9e Nazj2eo4WSxd3eCIBVTZcorGFWcOydVnrPINU8SexQvDLbquy+jGNfqbZ3RooesBEfHlWoy+sXL 8WTXtgjmhFahXVCwsywx8E8X7rmEUeyqVKkfAfkO47rJCQfwzjYQ1Oidz85zMY0TO9cTkOPb998 yHugJMw1vCBH96Ddj4w== X-Proofpoint-GUID: fsTQpx4UFYyJwEXK5cgxAjFTsXEJ4pUA X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-30_02,2025-12-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 lowpriorityscore=0 malwarescore=0 adultscore=0 bulkscore=0 phishscore=0 clxscore=1015 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512300153 Make aptina_pll_calculate() debug log the calculated p1 min and max values, this makes it easier to see how the m, n and p1 values were chosen. Reviewed-by: Laurent Pinchart Signed-off-by: Hans de Goede --- drivers/media/i2c/aptina-pll.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/media/i2c/aptina-pll.c b/drivers/media/i2c/aptina-pll.c index b1f89bbf9d473f6ef00ebb8250405018d07e668b..cd2ed4583c97ec87e516acfd249= fdccf2f9efbb8 100644 --- a/drivers/media/i2c/aptina-pll.c +++ b/drivers/media/i2c/aptina-pll.c @@ -129,6 +129,8 @@ int aptina_pll_calculate(struct device *dev, p1_max =3D min(limits->p1_max, limits->out_clock_max * div / (pll->ext_clock * pll->m)); =20 + dev_dbg(dev, "pll: p1 min %u max %u\n", p1_min, p1_max); + for (p1 =3D p1_max & ~1; p1 >=3D p1_min; p1 -=3D 2) { unsigned int mf_inc =3D p1 / gcd(div, p1); unsigned int mf_high; --=20 2.52.0 From nobody Sun Feb 8 10:04:38 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 0404A319610 for ; Tue, 30 Dec 2025 17:03:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767114199; cv=none; b=AGyBMIfvh6I+U6ZLuzb6exJjnY52ZERQDXo0MhLbP8yZ+IC9pjD2c5Gu+BQWgpTHdmB6XQxpgyguFWrEpt1cabNN7v2qTiAg+0QXrlB0ZlR5CAJ3MlZkXvjH4Sh+E3v6zmWC0Vpp+Sf6Y8cK2+CEeM2jBBr9wsRWgjrE6Rd8jPE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767114199; c=relaxed/simple; bh=jaDkHSkUQxL80bqG14RfcCWrPmG9RfF+KXEZvYh1jl0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=W6a2o47Mre1HHfO9lfltfS/ph7dxQt7ltWV7Z9/EtcUaXbtMw2iCYjhS3ZLRkqWka+TDgJ48H4+21ePxwjeVeJ6fpeY2Vim2gxZalXBaALSaWSvFvXvQOJmXpb0HD3mzmu21Zpnh2UJOm8zqwJo33vT0wL8myUYFdqZPrNH0EF0= 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=Z6HbKjvK; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=B31PgZB0; arc=none smtp.client-ip=205.220.180.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="Z6HbKjvK"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="B31PgZB0" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BUCtdN7715181 for ; Tue, 30 Dec 2025 17:03:16 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= 37HuhnHaWDX91Lk3MPchwjS6G0pjrdeth4tGucAOCho=; b=Z6HbKjvKOM4a4omp MdtLWidssaxfCmAkaKJejXZgnePgxpUTUIBs8kxvxCUXKogSMRdmfbc7CluEXAuH jGMnjYe7n2mxcDxmHF3tLyqRi9RM7t4EwDbtxgYVq8oGRLnrN/Y2JzetN1vy5i8J OITEnFrpUTQiXNKlzPq4rXR7lFTxLggXiq0715G3bZZg9vupPVkm8N5fbGLXhd/W ghbV7+W+vWJZZIo6VfiF3EZtsMCahCDsrswZxYumJWaMROQFyX4XfYNqEj241xp2 b2BjGdmj0PJ9uG5n/wcbmXaAv9Xm8bQjfFFeKywCUlPEiAQc20mE/y4wrNs6cFZb ep4cHw== Received: from mail-yw1-f199.google.com (mail-yw1-f199.google.com [209.85.128.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bcf5yrjra-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 30 Dec 2025 17:03:16 +0000 (GMT) Received: by mail-yw1-f199.google.com with SMTP id 00721157ae682-78e728e39f5so103130727b3.2 for ; Tue, 30 Dec 2025 09:03:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767114196; x=1767718996; 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=37HuhnHaWDX91Lk3MPchwjS6G0pjrdeth4tGucAOCho=; b=B31PgZB0pcl9SOMr2T1k4XkRc6TiGaKrHBJs5XKE8mtdNgJHnaY0hdUHoYHzxVAu6z XOnoBjwzVytlDwrATtBOuLps79LjmGqzdOTjRT3FjcCBikp7SvPGSxwNdUk8e2mE/W3c P5ESBRatNOEbAAjfCs9vDyoXBfsOKzJFwawKxtXQdeMAP1cBfR3w3ZN/sZErqIzIdPtt VaTlgljcBLgZ2Rc1YWnREh36WgJ3+0La1o8EJ1SdFCCR7Vxosbzwbau6E6A+SDFCADke 1zrXaw0/7/OXAyYzQMdLy+pwdEWRFWpD6F9ZH9g/qAwZAkGMEWFGToyyXNwcUmnraHkP 89Bg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767114196; x=1767718996; 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=37HuhnHaWDX91Lk3MPchwjS6G0pjrdeth4tGucAOCho=; b=KmocBcqa+98XI8TVKjnhYeuPEGs6PafQAke1Zdc2uA/YAN/Xt47DuJaQsn5vjXrULS R11eRLvqCXp9er1k45zloyfG/QJd6eh8j2Kp00vdDAyIUeZnUrpCr/AWYUPUhT/INEKO zXgB90fMKo9H/LHpW2SUAVBhWvlSXyR6UFFuXZush/ZS/X3MwFHuDzX+OpCsSvnHAea4 s56U00K5q/soMyC5mrs9kmcBZ7GNBl3Nq0EWfUuFI3+Vq9nj5xaAyXBdrPgDCcEWvxQa 5BFUqBoE6lZYgza7Iv3gbA5UDv004GVgbqsJjGvBi0RybEWJHHuRFQrXAUF1kODeGauc 00+Q== X-Forwarded-Encrypted: i=1; AJvYcCVADGo05ZfGLEmt45S5T9gwKRf5hKqwpAdaiyZXq/SmEBONe24HQt9YNHZBFLwaAN+AqTi6Sju2RKzqij4=@vger.kernel.org X-Gm-Message-State: AOJu0Yw7PouO/XqIP0ewSHlV0YChoFVZWJr3FyQUNXDLGANfQ6kcnu7N 14jISuM1x7kIkB1qKhI7YFokdje8IAjUB8LTv0pAHmwrOujP2MlPPridMzLDWvToxiBoO2rXEYd +mJsuW94hsfWwGVXfh6XhV3QPdKVtlGTWXqvRISGucfb+cBqU7hOVoZspxqJFD4YiruQ= X-Gm-Gg: AY/fxX6xFHhIafD8qpgZMona2bHgAlMJAVFW94PgKPDCIktlQRhNjYOdSElovuZXJ20 idRAkgCOgp0FNL11KRnA+IOg/uJyhMtIwffzZRt20/52Za8dBwCuk6BJDJyDAilPakrNE57td5Z ULz3I8ddGwXT2UnSIi57wuMr8q39lWXuguoog1A8A37BeVpnulNhBxjsJ49vLJjCVQPGnnJsrpo GqEiFJodMOzxHV2oeUrkTRP9SNhM90a2h85GMSP/teWdJdt03rSIH0kEBFY4zs9SRxKfAG8P4c6 ADt2l6ruM8iTawy8y2SKNU1PWIny8UAIqW4084YcAbyOZUxzN2vRHSolP16xODak4OtGYjMLHpo JZjGenyTm84cZo4dJ4WgA6L4GSC7tOBDTdR9p9oQNCwt5R5Fw59KGW388IyK1EEMzDsg2bM5JcK nKC7GL4YORoj4kGdQ8+eFic69pC8E0AEifDel4pmv7 X-Received: by 2002:a05:690c:380e:b0:788:b84:d509 with SMTP id 00721157ae682-78fb41326b2mr293022107b3.34.1767114195724; Tue, 30 Dec 2025 09:03:15 -0800 (PST) X-Google-Smtp-Source: AGHT+IGEPkHy0ktU6NWM/oJBhUrwvLIRK/Jl2Sx/DDMxuZ5ShoRMFnestcegWRxq6GYxFY1nsKGaOQ== X-Received: by 2002:a05:690c:380e:b0:788:b84:d509 with SMTP id 00721157ae682-78fb41326b2mr293021667b3.34.1767114194987; Tue, 30 Dec 2025 09:03:14 -0800 (PST) Received: from shalem.localdomain (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8037a5bdb9sm3776086266b.7.2025.12.30.09.03.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Dec 2025 09:03:14 -0800 (PST) From: Hans de Goede Date: Tue, 30 Dec 2025 18:02:59 +0100 Subject: [PATCH v5 02/14] media: mt9m114: Use aptina-PLL helper to get PLL values 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: quoted-printable Message-Id: <20251230-mt9m114-atomisp-v5-2-763539e76094@oss.qualcomm.com> References: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> In-Reply-To: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Sakari Ailus Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Laurent Pinchart , Hans de Goede X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjMwMDE1MyBTYWx0ZWRfXyJQDozIROFf5 FIEJ8ieq4i+4pk81UdPNaMSaFDFHBD+fJduc1elWZdeHX99C7ZfQQE3LEjvtoV9lpCgYquKLwqQ LOZc2+eTpfQBYrA4bMTlrrBI5xMfbsGM7yIQC6uQUD7lFB9ma6EtUElNGVbT0YQJ+epczeTvHy7 8/1pKJMB6rko8UUSTxN6T0ahiaehcjeXKZvBtKJ8+x0J/AUdspGBcUpRDmH/b7cCgjKr1Jb7NVh 8oXXX9vYwSq2s5xeWFllaaKHzWIeRALP1lSOU5ouGpbS7b7lgYoGCJgXum4mn0p/KGzz8G2/sZw a69i0+FSKs7UXtYCg2vcL9X7S8llDJSJcbbrntirzMBl44TKmZj4Xg/200oePkdFe5bRl77s2UJ DSiXu7QUSLZY796zFXazJLs+kY+8wJZu0pRSPt7QEV97pe0vsPE7rbz3VcBpw5WYzA75NNuPMTZ Oe1ndmAILFfDaOhVgVQ== X-Proofpoint-ORIG-GUID: y1d7QXixneK7VPco6MZtrZp93wYH9avS X-Authority-Analysis: v=2.4 cv=KvNAGGWN c=1 sm=1 tr=0 ts=695405d4 cx=c_pps a=72HoHk1woDtn7btP4rdmlg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=P1BnusSwAAAA:8 a=EUspDBNiAAAA:8 a=tvTusLfNoRRP9VFxzj0A:9 a=QEXdDO2ut3YA:10 a=kA6IBgd4cpdPkAWqgNAz:22 a=D0XLA9XvdZm18NrgonBM:22 X-Proofpoint-GUID: y1d7QXixneK7VPco6MZtrZp93wYH9avS X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-30_02,2025-12-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0 adultscore=0 priorityscore=1501 suspectscore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512300153 Before this change the driver used hardcoded PLL m, n and p values to achieve a 48MHz pixclock when used with an external clock with a frequency of 24 MHz. Use aptina_pll_calculate() to allow the driver to work with different external clock frequencies. The m, n, and p values will be unchanged with a 24 MHz extclk and this has also been tested with a 19.2 MHz clock where m gets increased from 32 to 40. Suggested-by: Laurent Pinchart Reviewed-by: Laurent Pinchart Signed-off-by: Hans de Goede --- Changes in v5: - Add a code-comment documenting the PLL chain, this is a verbatim copy of Laurent's ASCII-art PLL chain from the mailinglist. - Use sensor->pll.ext_clock instead of calling clk_get_rate() Changes in v4: - After re-reading the docs out_clock_max should be 384MHz and P1 should always be 8, adjust the pll-limits accordingly and drop the comment about the out_clock_max from the documentation not working Changes in v3: - Document that using 768Mhz for out_clock_max does not work Changes in v2: - Add select VIDEO_APTINA_PLL to Kconfig - Use correct aptina_pll_limits --- drivers/media/i2c/Kconfig | 1 + drivers/media/i2c/mt9m114.c | 64 +++++++++++++++++++++++++++++++++--------= ---- 2 files changed, 49 insertions(+), 16 deletions(-) diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig index 4b4db8c4f49657e19018535927eb41f7ad2a4f80..befea5952191184536ad7d7e5c8= 1f567826d8aa7 100644 --- a/drivers/media/i2c/Kconfig +++ b/drivers/media/i2c/Kconfig @@ -305,6 +305,7 @@ config VIDEO_MT9M111 config VIDEO_MT9M114 tristate "onsemi MT9M114 sensor support" select V4L2_CCI_I2C + select VIDEO_APTINA_PLL help This is a Video4Linux2 sensor-level driver for the onsemi MT9M114 camera. diff --git a/drivers/media/i2c/mt9m114.c b/drivers/media/i2c/mt9m114.c index 51ebbe7ae996950a58f8fee30029e0a060feaf3f..bbac5fd9b2ad85a1ab56a7e36de= 16659bc38a369 100644 --- a/drivers/media/i2c/mt9m114.c +++ b/drivers/media/i2c/mt9m114.c @@ -32,6 +32,8 @@ #include #include =20 +#include "aptina-pll.h" + /* Sysctl registers */ #define MT9M114_CHIP_ID CCI_REG16(0x0000) #define MT9M114_COMMAND_REGISTER CCI_REG16(0x0080) @@ -267,9 +269,9 @@ #define MT9M114_CAM_SYSCTL_PLL_ENABLE_VALUE BIT(0) #define MT9M114_CAM_SYSCTL_PLL_DISABLE_VALUE 0x00 #define MT9M114_CAM_SYSCTL_PLL_DIVIDER_M_N CCI_REG16(0xc980) -#define MT9M114_CAM_SYSCTL_PLL_DIVIDER_VALUE(m, n) (((n) << 8) | (m)) +#define MT9M114_CAM_SYSCTL_PLL_DIVIDER_VALUE(m, n) ((((n) - 1) << 8) | (m= )) #define MT9M114_CAM_SYSCTL_PLL_DIVIDER_P CCI_REG16(0xc982) -#define MT9M114_CAM_SYSCTL_PLL_DIVIDER_P_VALUE(p) ((p) << 8) +#define MT9M114_CAM_SYSCTL_PLL_DIVIDER_P_VALUE(p) (((p) - 1) << 8) #define MT9M114_CAM_PORT_OUTPUT_CONTROL CCI_REG16(0xc984) #define MT9M114_CAM_PORT_PORT_SELECT_PARALLEL (0 << 0) #define MT9M114_CAM_PORT_PORT_SELECT_MIPI (1 << 0) @@ -330,7 +332,7 @@ * minimum values that have been seen in register lists are 303 and 38, use * them. * - * Set the default to achieve 1280x960 at 30fps. + * Set the default to achieve 1280x960 at 30fps with a 48 MHz pixclock. */ #define MT9M114_MIN_HBLANK 303 #define MT9M114_MIN_VBLANK 38 @@ -340,6 +342,8 @@ #define MT9M114_DEF_FRAME_RATE 30 #define MT9M114_MAX_FRAME_RATE 120 =20 +#define MT9M114_DEF_PIXCLOCK 48000000 + #define MT9M114_PIXEL_ARRAY_WIDTH 1296U #define MT9M114_PIXEL_ARRAY_HEIGHT 976U =20 @@ -384,11 +388,7 @@ struct mt9m114 { struct v4l2_fwnode_endpoint bus_cfg; bool bypass_pll; =20 - struct { - unsigned int m; - unsigned int n; - unsigned int p; - } pll; + struct aptina_pll pll; =20 unsigned int pixrate; bool streaming; @@ -758,7 +758,7 @@ static int mt9m114_initialize(struct mt9m114 *sensor) sensor->pll.n), &ret); cci_write(sensor->regmap, MT9M114_CAM_SYSCTL_PLL_DIVIDER_P, - MT9M114_CAM_SYSCTL_PLL_DIVIDER_P_VALUE(sensor->pll.p), + MT9M114_CAM_SYSCTL_PLL_DIVIDER_P_VALUE(sensor->pll.p1), &ret); } =20 @@ -2281,14 +2281,39 @@ static int mt9m114_verify_link_frequency(struct mt9= m114 *sensor, return 0; } =20 +/* + * Based on the docs the PLL is believed to have the following setup: + * + * +-----+ +-----+ +-----+ +-----+ +-----+ + * Fin --> | / N | --> | x M | --> | x 2 | --> | / P | --> | / 2 | --> + * +-----+ +-----+ +-----+ +-----+ +-----+ + * fBit fWord fSensor + * ext_clock int_clock out_clock pix_clock + * + * The MT9M114 docs give a max fBit rate of 768 Mhz which translates to + * an out_clock_max of 384 Mhz. + */ static int mt9m114_clk_init(struct mt9m114 *sensor) { + static const struct aptina_pll_limits limits =3D { + .ext_clock_min =3D 6000000, + .ext_clock_max =3D 54000000, + /* int_clock_* limits are not documented taken from mt9p031.c */ + .int_clock_min =3D 2000000, + .int_clock_max =3D 13500000, + /* out_clock_min is not documented, taken from mt9p031.c */ + .out_clock_min =3D 180000000, + .out_clock_max =3D 384000000, + .pix_clock_max =3D 48000000, + .n_min =3D 1, + .n_max =3D 64, + .m_min =3D 16, + .m_max =3D 192, + .p1_min =3D 8, + .p1_max =3D 8, + }; unsigned int pixrate; - - /* Hardcode the PLL multiplier and dividers to default settings. */ - sensor->pll.m =3D 32; - sensor->pll.n =3D 1; - sensor->pll.p =3D 7; + int ret; =20 /* * Calculate the pixel rate and link frequency. The CSI-2 bus is clocked @@ -2308,8 +2333,15 @@ static int mt9m114_clk_init(struct mt9m114 *sensor) } =20 /* Check if the PLL configuration fits the configured link frequency. */ - pixrate =3D clk_get_rate(sensor->clk) * sensor->pll.m - / ((sensor->pll.n + 1) * (sensor->pll.p + 1)); + sensor->pll.ext_clock =3D clk_get_rate(sensor->clk); + sensor->pll.pix_clock =3D MT9M114_DEF_PIXCLOCK; + + ret =3D aptina_pll_calculate(&sensor->client->dev, &limits, &sensor->pll); + if (ret) + return ret; + + pixrate =3D sensor->pll.ext_clock * sensor->pll.m + / (sensor->pll.n * sensor->pll.p1); if (mt9m114_verify_link_frequency(sensor, pixrate) =3D=3D 0) { sensor->pixrate =3D pixrate; sensor->bypass_pll =3D false; --=20 2.52.0 From nobody Sun Feb 8 10:04:38 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 4919486331 for ; Tue, 30 Dec 2025 17:03:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767114199; cv=none; b=CPOrK5Hi8646O33zfm0qTzt/eJdwvLNv4tJlWk09bUhKistB1Tra3mocq5ZXIX8Ziplfuw2DsC20lIfT0/knrUNdN2Q86D3pUgoYzLE5n73nK7gGzHkQYbtoAUTQj23zzmb5F7CiZP2gjWen7OOga7gxs1+sBAi5pRUVmS1803I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767114199; c=relaxed/simple; bh=E8zM/jnsYTbL0D05aH1pJVbbk3xxTXhkSSmDae0DFzg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sJ+nOJ+wYZdntKvaJLYmZee9/tcMtUa44c+zCxnw6n0J8yks/Cl3ygLVr7bfixrAHih0tXX30OeLPYDVg5GPmbTMvbZ+7Yu861qPbH0XsI6nuO+uuWbgZQiDI4UMzkctwkzf2Au5wMmWozAY0hv0K296Wb8/V0IR8lNzaVCP1Js= 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=jyU9HE/4; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=KNVehGVa; arc=none smtp.client-ip=205.220.180.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="jyU9HE/4"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="KNVehGVa" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BUDG1Fi3556583 for ; Tue, 30 Dec 2025 17:03:17 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= OojpLCac3m1kHWGN11vnnJIfJ2G4KAMmQwlM0wKfo38=; b=jyU9HE/4fIXP7q1s BVa3LNrG5jFnyx2ZWgXvShSNmsnPvEiNaJ3UOJzaa0aOvp2gaUd1i5iEF2vKdbH1 9fIkDxj8xceJG/hhYU0/b7pShOjwHUH2/yQv673/JvlAE30Mpxy0Ll9njWAF6B0b XKjGdadWeSGhK7HSRIUxrpppZnGpWBg4Q6uW9hOyWCrVnvwNXXuhyu197wnoBo5t vEvzqYzAh82I7tOwpdaCIxBWOlJ40aR0FV361TFUlop5BHYrcFsEFM2dPkSD+d0x D29R1G6ihAVRVgCuC2hPlS/AYXaLAj5CyDHIxpmHZMGSkeIlg2Gvw7bOdVFkPVU6 soDQDA== Received: from mail-yw1-f197.google.com (mail-yw1-f197.google.com [209.85.128.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bc7461s34-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 30 Dec 2025 17:03:17 +0000 (GMT) Received: by mail-yw1-f197.google.com with SMTP id 00721157ae682-78fa4ffdf74so127781607b3.1 for ; Tue, 30 Dec 2025 09:03:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767114196; x=1767718996; 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=OojpLCac3m1kHWGN11vnnJIfJ2G4KAMmQwlM0wKfo38=; b=KNVehGVa5VakR4zeGI6I5qbACvpTJ/L9+AxusnzD1Q9eAtgYuxa89OF+osGscEX4C5 B65S9VWotKqD/ZSABOvgr1W4yX6u9Uo9msTSi2TJxDiYzWPbw1Nik8HovlZrVI7jS22L 4ImE5tzwx33D5NNHe/ngQ3EVaoTg2ptUlLFdeZ6jd0CNE+3BMUuEfXO2jNWW3aofnMrN Jf89r9Tgp+6B4bXcD8GTtVMZMgZNLFOvBK6TPDYUlHIARnAPa41PlP3+QlSmqd1vrq9t m3LYAAgDGCvk420jwXuRokhEGZQL+gSraiu1591B8ZCdKO/mi5wnJN0L7QQZlaaPm0o5 mVPQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767114196; x=1767718996; 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=OojpLCac3m1kHWGN11vnnJIfJ2G4KAMmQwlM0wKfo38=; b=SO3kCv+By0rddOFor671GLJs3W06KfPsgN4MpCQbp2bqV8nt8mIIb1qbi9CkpQ1fti sdiaRrwO9NRhruIgbUJjindwt7nCd4fz4gIHgzcNSMReujiaP3iOJJfBWu/7aN8Joine qqZS+InpWqtlPcv7NqUlnB3hD2oXG/Z89EVRDbZbTHwNjsccWVrPi7hHQjtM3R9qS7jU H7XY1KqL0kngBAwMEVd/RA4fxNoeXtpz7Z4lN/SG87/Gin0qYY7eZF+2B3M4PSC2MIcd LGsyBPu+sPT9hIDfDJMVgDv1JHy8TOSFxboeebXfnE+j23PKobFz9cDfnhcgyyLe9FvL dswg== X-Forwarded-Encrypted: i=1; AJvYcCXs42Si7+/Z3kmf7TcCiBJTW3p3/fdFSWtR7+W0T6TzP/jXtg8YwCZ2bSLLa33ZX6VsvWz6sRXEx0RS2pc=@vger.kernel.org X-Gm-Message-State: AOJu0Yx1/VEBr9y8bhBqzgzdCuhEfZk8FRoT5rCRvqf921/ocYrv7OL8 MpD8GVnMRqdBuf6EXObs13+gdoIE+rBgKfVBKOWv9lN309qDdC8FRp44gDApegiU414Ajpec+T8 WfDVyA/yb+MmlDjJAUQDiNNogedWoQ9TmXYW9WSOaMOEiuuKEAzzM0JjhmLk6Y0BrjZo= X-Gm-Gg: AY/fxX7I+113elniHkKZh7FSkXh2jGDiAtWR8qNbJAoNY31RMGztrzZBWLDGqGj7Y54 6TS+jBF4W1inyl8HM2zX06iuYNy2gxKSB37fixEizlpDBVzNUp2jWSOtqzgye/d2ms2Scy3ZlDZ tdhnVnz+/0nOURn4HTIRI5i1/SGvSxSBCX27B4/h4msTrCM+Dd8xNjAUda1iRZyr+wZ0B9y5Xxv KXRfpyH4RYRPGR3sqmMVBGlETwF6U4vU0VcbokJS//Qaha8+Jlh1TAFGgvHeK/1w0Ua9SRWJBc4 ifBYJcSPFXbqm7ua+Kk3HavM7PA/YZE68FKMGm6k+FUnfJKGe7F+hqco+mO+0vzJbJExu4ZIkWH ez97VH4Fs4MUsOc31OHH8wjvoqESAf6aDFXI44Nz0xVKJcttToQgaKJ2GCfojjZO7Fg0sRWKU2g PXlPWgFOaQXMqJXrco5o/Ytz6KOEdpjscQH1tdpq2O X-Received: by 2002:a05:690c:680c:b0:78f:a7e5:cf3d with SMTP id 00721157ae682-78fb4068a25mr294330487b3.57.1767114196394; Tue, 30 Dec 2025 09:03:16 -0800 (PST) X-Google-Smtp-Source: AGHT+IF/6BQw07ygyzSZpETeo4xPAUaLGeseTCsCZ5I/D6YZe1FWfh+Hvt22ZiumxhwIzrO7yvoLlg== X-Received: by 2002:a05:690c:680c:b0:78f:a7e5:cf3d with SMTP id 00721157ae682-78fb4068a25mr294330227b3.57.1767114195983; Tue, 30 Dec 2025 09:03:15 -0800 (PST) Received: from shalem.localdomain (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8037a5bdb9sm3776086266b.7.2025.12.30.09.03.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Dec 2025 09:03:15 -0800 (PST) From: Hans de Goede Date: Tue, 30 Dec 2025 18:03:00 +0100 Subject: [PATCH v5 03/14] media: mt9m114: Lower minimum vblank value 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: quoted-printable Message-Id: <20251230-mt9m114-atomisp-v5-3-763539e76094@oss.qualcomm.com> References: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> In-Reply-To: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Sakari Ailus Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Laurent Pinchart , Hans de Goede X-Mailer: b4 0.14.2 X-Authority-Analysis: v=2.4 cv=Do9bOW/+ c=1 sm=1 tr=0 ts=695405d5 cx=c_pps a=0mLRTIufkjop4KoA/9S1MA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=P1BnusSwAAAA:8 a=EUspDBNiAAAA:8 a=qoDHQqv3VgfKNNLz41EA:9 a=QEXdDO2ut3YA:10 a=WgItmB6HBUc_1uVUp3mg:22 a=D0XLA9XvdZm18NrgonBM:22 X-Proofpoint-GUID: m2F4WxDcQ4mgev8sDqrmf_X7vyjYQGQb X-Proofpoint-ORIG-GUID: m2F4WxDcQ4mgev8sDqrmf_X7vyjYQGQb X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjMwMDE1MyBTYWx0ZWRfX0eNtXy4r1bY7 iArRBSMpucUBgZARLTjssoZFWqFwTGe26XiihRsNjc43AVmm75Yu4T1w9gIby0Yb7xCGQEThOV+ L3WjJ5m1L0Uc8miTCBIh503eKSKeH426J8PY53spNz4nrpHG86UA5mDbetJmYKRq+RHyWWKC29/ hqqW5qg7k/amTNvnQgWaARW4Gwg4PIjJ3YTMcEgqDYD88sJt2g+1JHwTEkQqZAh4XGuV1jMmlbT 5RrDoN32bQVM7Xv7kgmvQAsnR3gELl/OaG3uIymYuLkpXTNB3al4eweOSZRO/guYgGpWL4Sp4W/ auB9RSiTbRiq0k95SPk8yP6/SjtldSy+BaGPQeyaBHdD7/HUd/QdnvDIVpXirQfe36XBImSLMC5 Qao6oV0Q5fdXEvEJjVAKzSPnfPkAMO5t5gYEDetv6uebtNH/bPnrRB3Y/BkNGuq7NQ7fURNSxrq SBW+KOa5pGDqMNiC0iw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-30_02,2025-12-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 clxscore=1015 bulkscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0 spamscore=0 malwarescore=0 phishscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512300153 As the comment above the defines says, the minimum values are undocumented so the lowest values seen in register lists are used. The version of the mt9m114 driver shipped together with the atomisp code uses 21 for vblank in its register lists, lower MT9M114_MIN_VBLANK accordingly. Reviewed-by: Laurent Pinchart Signed-off-by: Hans de Goede --- drivers/media/i2c/mt9m114.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/media/i2c/mt9m114.c b/drivers/media/i2c/mt9m114.c index bbac5fd9b2ad85a1ab56a7e36de16659bc38a369..d9cc260a13bd9f7dc76b69696ce= 18b953f43e3d0 100644 --- a/drivers/media/i2c/mt9m114.c +++ b/drivers/media/i2c/mt9m114.c @@ -329,13 +329,13 @@ =20 /* * The minimum amount of horizontal and vertical blanking is undocumented.= The - * minimum values that have been seen in register lists are 303 and 38, use + * minimum values that have been seen in register lists are 303 and 21, use * them. * * Set the default to achieve 1280x960 at 30fps with a 48 MHz pixclock. */ #define MT9M114_MIN_HBLANK 303 -#define MT9M114_MIN_VBLANK 38 +#define MT9M114_MIN_VBLANK 21 #define MT9M114_DEF_HBLANK 323 #define MT9M114_DEF_VBLANK 39 =20 --=20 2.52.0 From nobody Sun Feb 8 10:04:38 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 B6D8A32B9A4 for ; Tue, 30 Dec 2025 17:03:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767114201; cv=none; b=ueuMKRhzdpr3j9cPBUMzzIh+lv/eQ9mexdi/CcSpJcNmoghte3JsrpOZI0ngY5yYst9VcHlZxTRdnSkt682gmIN/4DZ79f5lzXAz8Bp4Ugp1IMCysq2ZGlJq9ylwRccFRNR6hBNopFeNh7tVVWoNM3o+NRsuxhW76g06zcuwPq0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767114201; c=relaxed/simple; bh=Cwha3Px1m/zPBd8AbVvEtXLPMzCeLMJgNeMAIHr21dk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=d8ATLdCGiCC/22DcIRpQH0VKB+BQ1fzxEHS33trZIq+9PpSZZ9nk7a7nfMsANVBXizdjgqXU0rBgBwnADGzFBUX75mKneI9B5Gk3xTO8e90mIDITjtFVCRdHJicu2DMcflDvpYZWF50PJB0qsnHW/tWJbLAU7g61AOAVD6diue0= 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=po2c2+3S; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=BZEC5U3L; arc=none smtp.client-ip=205.220.180.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="po2c2+3S"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="BZEC5U3L" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BU9ARfg1752576 for ; Tue, 30 Dec 2025 17:03:18 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= sPfzMnbmbFisVAYJJDxs6C4Pzdhg/FOKBAdmstLRHeY=; b=po2c2+3ScYvoPY+/ ktOj/Joq+aDAi+OHC3w6AFcB6J9rjo8PuQ7F7/nfFLrgsfrrxQEmvAhFFpIuhIJ8 7l5BrcW55zkq9VEBY2PJU5DPnNp/qwYJ5/lCSGk5/HxETY5WfMpnu8Gt4oANeWVe NyEmIN6VmgyRqumn1tAy99peZw3ZMz+ZaLTIcedzc1VZKSer28kmPZDv7EhmTlVT iypwNBranIKF3UuKrcUEp0j3QnqddBrNgfYfTOgYfPpFPL5FlLXk6egFFayvzD8Y PC0VaRzh99DNO3sVtYZBPpwzHAs8T7v3afRNbXUWzBSfZ0hOZ7WpHFUYQGIBnMeO +eScog== Received: from mail-yw1-f198.google.com (mail-yw1-f198.google.com [209.85.128.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bc0sgtfeu-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 30 Dec 2025 17:03:18 +0000 (GMT) Received: by mail-yw1-f198.google.com with SMTP id 00721157ae682-78fc63a4637so90032557b3.3 for ; Tue, 30 Dec 2025 09:03:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767114198; x=1767718998; 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=sPfzMnbmbFisVAYJJDxs6C4Pzdhg/FOKBAdmstLRHeY=; b=BZEC5U3LYZUydUlcaWbqNDZjIljsQ4Q4yckHxH22jy62jjLRtPLOjHbMnABDqB3CXb MDlRkVgQkLJsOtce/H5XnLZvZXjNmxAtJ5heq5yLtjloCM5FA0j3wOhqNv8HXHizU/zp meOWL8hhX0cZ/Jr81zoIVcrKETo8Zcoiaq+3+QG418Y8gpMPBQyEi8vEichbt85CWXzw S7wiOwy1mJgAgMWWLB/uKnG//trIbiWTnidrIVWXxJ7Pdd9YasDLDH3VAlRtRylJ5wmy B4SBk9b+fWjeU8i4zv6zJxfoJYFoYrCtuXyDlpCO79eEeCfWyFNoul3JQOEOjixKFv/3 muxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767114198; x=1767718998; 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=sPfzMnbmbFisVAYJJDxs6C4Pzdhg/FOKBAdmstLRHeY=; b=w6q3H/fsbX4Y0sakHcCpGq+DG22fjHsfykcJiUF25FLWEot9eI/nHTBsQPV0fYCaYe 3TYRIeUQxwnkIcwUzu6wS7MbTW9Vqj3sCkdkPXq8MDWii4pPDw1gPeF+sPXSzvFiokeO Bbada/Hnnv5cFgnHKXhE2sBbHzg2Tuvp6P+N5o3w41K7yGrw0UYMZhD8wvNJ1wWtR8BZ +/klMt2ev9ZlKaTyuTFwXjVObJe6RLCGNz3C0Qul9tbr0Y4Iy08BBb6qVS2ZqW6lfeWI QD85WTcMjLA6zGXxKqoc/JiRomCSkhzmHsgfX/tSLljQCG8YwO4sCfinZMrpXyJjegLY DOow== X-Forwarded-Encrypted: i=1; AJvYcCVeSYkWmcSvTECoFDG4vrPrWMLmSg76q4nJjIw8geSaLElKvs996EwLpjN759OyD0ycxDZJPsBkynVQWIo=@vger.kernel.org X-Gm-Message-State: AOJu0YzHkNsAjAGKrB9hgt/H9yShC+wi0UFq3iE/6KQI5xUN1gpU+GOd Frr2pe2xQUm0Fcm73TNWMmAqjy6aaDHm4OYGHKqHBaIa4z+q4ThuvFovjtgxZLeNexRsUiMmta5 G+vAS0KyXtCPKbPcfazKU24jl/3g2g8l0KuLpps6HQPsIYwCqu7840K2kA2BxYUGS+xA= X-Gm-Gg: AY/fxX5GK62AF06xZsP2mZFz8CKWiVLfUXleROdpbv4+esKK9jR+eihtdMeJUAeCVcR n5BzATVJ8jFEf3qZsh4h8GG51mUA0Z9BLRnYKkZZpnbHKTTwl71qCDNXb3E3s+iQS0S5jjl2UJm 3DHZ3fy6OTOMrPV+dvi8RMRgfhs7h/CFD+A+X3fiUxyUoK7ddPbsbtOlR7TUnGAGt8QYtztJAEh xhIzpETOYfEbuygmW0/KJHt6Zt9qg2meAI3/erUbELML27TDJb2y2HIirXjOLFYiJLp7CkaICYy KEFPEILESfqjON7l7k+lTFkbrKNW1tzceIPMi4DIkORFdMv8p3+Skz34H5ThUmY3kpiWzNUW+TA 1G41HqsZ2aKMNipgVDYaaaMzEcuV/F2OqewcyX2lFxw2MiRMsu4qw7RYTHiprLqpXeWm0Z2u7pw b1aHhTNMSgYTOmKjn2VhaTtaELux54rwpENR+9qYyE X-Received: by 2002:a05:690c:968d:b0:78d:f5f9:aa9 with SMTP id 00721157ae682-78fb3f31facmr276677377b3.18.1767114198201; Tue, 30 Dec 2025 09:03:18 -0800 (PST) X-Google-Smtp-Source: AGHT+IG0xZu/T+oVGXM7NhvV2wNbK/Tfal6Kx3w6wvnh34Pjj9UpcxZY4/TKNhPqmnQUYbj+4hVtjA== X-Received: by 2002:a05:690c:968d:b0:78d:f5f9:aa9 with SMTP id 00721157ae682-78fb3f31facmr276677127b3.18.1767114197807; Tue, 30 Dec 2025 09:03:17 -0800 (PST) Received: from shalem.localdomain (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8037a5bdb9sm3776086266b.7.2025.12.30.09.03.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Dec 2025 09:03:16 -0800 (PST) From: Hans de Goede Date: Tue, 30 Dec 2025 18:03:01 +0100 Subject: [PATCH v5 04/14] media: mt9m114: Fix default hblank and vblank values 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: quoted-printable Message-Id: <20251230-mt9m114-atomisp-v5-4-763539e76094@oss.qualcomm.com> References: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> In-Reply-To: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Sakari Ailus Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Laurent Pinchart , Hans de Goede X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjMwMDE1MyBTYWx0ZWRfXy8b4hwHpMPjX WCVigOxmcuzE8fXMXVVpp6mSYIzbo/d50mAAW4CCUqhQnFdayrO4e3zs7WT9V4kLTZlGQHR+8XP 5Wq2pWk0f4eLNfGIeNoTc9w35K4SoueHMNtcFA+OOx7bblW/cyCx+4FJ0+Gg73amnlS5uZAWN/e osScu/K4zi2643IWha3P3FnqcPGRFCPVuZC/sThWfaWLJeZF4Fur50ICCa9tvZln/8UFhUd7XvJ bvy8z3565AG8cN6ySr5VbuSNYcP9/NNqbyLmucRUS1FPsZJlkm7dKN9dTfstJ2o8x/u27OoQ62y kpymRrKhfYykHxKfF4Z4fawz3Tn/zSOCx7MD+oPvM+L7fYUoEDGsEOqGLZFpV962AvKV52BmLWt ZHs6dBMPAitR/rSp4dhPfmBsGLpDypcQn2jIFoarIifkxg6ExMw8FSX4/rkmzHqYf27xe8ADT2m 4HjSEucqKTszIaIGjBQ== X-Proofpoint-GUID: QYoXISdD41UFdeiUSFGsIcbhgI7yMTkq X-Proofpoint-ORIG-GUID: QYoXISdD41UFdeiUSFGsIcbhgI7yMTkq X-Authority-Analysis: v=2.4 cv=foHRpV4f c=1 sm=1 tr=0 ts=695405d6 cx=c_pps a=g1v0Z557R90hA0UpD/5Yag==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=P1BnusSwAAAA:8 a=EUspDBNiAAAA:8 a=5Pw3dBPW34w_b6RJA_EA:9 a=QEXdDO2ut3YA:10 a=MFSWADHSvvjO3QEy5MdX:22 a=D0XLA9XvdZm18NrgonBM:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-30_02,2025-12-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 clxscore=1015 malwarescore=0 suspectscore=0 phishscore=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512300153 The current default hblank and vblank values are based on reaching 30 fps with the pixel-array outputting 1280x960, but the default format for the pixel-array source pad and the isp sink pad is 1296x976, correct the default hblank and vblank values to take this into account. Reviewed-by: Laurent Pinchart Signed-off-by: Hans de Goede --- Changes in v2: - Update comment about resolution / pixrate / FPS to: * Set the default to achieve full resolution (1296x976 analog crop * rectangle, 1280x960 output size) at 30fps with a 48 MHz pixclock. --- drivers/media/i2c/mt9m114.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/media/i2c/mt9m114.c b/drivers/media/i2c/mt9m114.c index d9cc260a13bd9f7dc76b69696ce18b953f43e3d0..3cb00e69623fa422bdecbe3eb36= f911d92405341 100644 --- a/drivers/media/i2c/mt9m114.c +++ b/drivers/media/i2c/mt9m114.c @@ -332,12 +332,13 @@ * minimum values that have been seen in register lists are 303 and 21, use * them. * - * Set the default to achieve 1280x960 at 30fps with a 48 MHz pixclock. + * Set the default to achieve full resolution (1296x976 analog crop + * rectangle, 1280x960 output size) at 30fps with a 48 MHz pixclock. */ #define MT9M114_MIN_HBLANK 303 #define MT9M114_MIN_VBLANK 21 -#define MT9M114_DEF_HBLANK 323 -#define MT9M114_DEF_VBLANK 39 +#define MT9M114_DEF_HBLANK 307 +#define MT9M114_DEF_VBLANK 23 =20 #define MT9M114_DEF_FRAME_RATE 30 #define MT9M114_MAX_FRAME_RATE 120 --=20 2.52.0 From nobody Sun Feb 8 10:04:38 2026 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 E939832C337 for ; Tue, 30 Dec 2025 17:03:20 +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=1767114202; cv=none; b=EfpQTJm2qfHsqdz5hbSOf+npoqJDaCCFYyiqxkKEZcXChKH++6z+KPI8H9j313zqlIDEsDm/leXT1biDF5dxgzCtXpLxnmYttqlOXlfGFDP0p2R8ynSO3LlrhNRGb4sILJRF54ZWJja6jDRNqKL3PRppOjglayhFKKxBFodXeiE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767114202; c=relaxed/simple; bh=EnGSujrAJxYkO5JDgQzjCCliMvSIPNrsoeTlC5o4gds=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=eCYqmrSb7o6SUslSy04NO1Y5MT3T5o2RSjeYbg/PakKIb0h0cykNbtWhAB0Zd7bEwiavDgo+du6gW2xB72T49wvkp1CvJR80nDar3GN4K3Vr7c+ayfSXORCv/Hft1hnS0iyWwufGtjoXV3dZrIWu4wT2ukEWCH9iMwMMY+AZB9Q= 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=mlEW03cK; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=FUKrQen8; 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="mlEW03cK"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="FUKrQen8" 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 5BU9pDRf2618396 for ; Tue, 30 Dec 2025 17:03:20 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= bmg1hpZJFZoXhQYGf7VucBoksdu2L9ui/4nDmGyH53A=; b=mlEW03cKLU0m9mbb sCDcImcpy7nG4wjKm1uvS7yrVCO1RRpb0AC6Fep5AZJMiL79wdCJotfu8abvCpwB nL2KnTWwH+gKRoxkwXHKC1Ovz6SlB+4SmqHL3qcm5fYm8PWrwOy1NPm24BYKTPy+ o6FXYx/INO0GtmLGSYg9Gs5ycuyLCTFsLWlkMyzR1KYCT7fWGvPVvL0o7j91CMtp 4JSusLCCvaLl8momN/5ADCrU3w93U+z+loySEjGQse23qpxRU7Fm3FGECaU+OP3b COt3NSXDdixm2Ja+p3mJotUdVCPCz1eFVz3P6zacoAea0Mli0YaZhXygeyzSDwS6 kiXapQ== Received: from mail-yw1-f198.google.com (mail-yw1-f198.google.com [209.85.128.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bc06gtjkv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 30 Dec 2025 17:03:20 +0000 (GMT) Received: by mail-yw1-f198.google.com with SMTP id 00721157ae682-79043e14dfdso15237537b3.0 for ; Tue, 30 Dec 2025 09:03:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767114199; x=1767718999; 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=bmg1hpZJFZoXhQYGf7VucBoksdu2L9ui/4nDmGyH53A=; b=FUKrQen8ocyLycWohLpmRa01VyNPZbeX6ae1ClhmlX/5kVEUXY131yuypRI5qYoEwL ydibCCYJ5fqXbu2jZVBMkKdId+bgmON3/QoTrqi7aEef3VWvR1yFMd8CHckvnsNukI9f knZ4Pb77oOZd0/8mOiJBszOniiD7f9/waLccy0Ka7QDfJXmgBD2zinwb6Crh8Sh6amnt 4Vvj0++BFgy5zgjPbytL/dwBgxLNc5n/gDk78dYugCJhkYDAY2MQgpOuY0gEm2Q7emaB QRK0APE+Awi9yaaJuqw9mFRaC1DOLO9y5vt33IUouz+5S4m1QB+URQJxjJj6uhfOAspP h0hw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767114199; x=1767718999; 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=bmg1hpZJFZoXhQYGf7VucBoksdu2L9ui/4nDmGyH53A=; b=D6QKlm2JZvh7hxt2aOKC9SHUUJU5D0iibHzsPSp7ngNTiDQTbO9HjEwK+L2xO51dg6 CrVQ0duJkgGbCt/gTHFgE425GiaUpA4d3jAbMHVecAG9Z8fyeMRFjYV0ONx/Ob0gdGR6 zvHOZkEax5ldcb2LHCKXPsJT61bTizFGM0JKfuB0eQQXGVpkC37hpz5E3QVuzi4KNXUz SWAxIyShsPVqGFr5dftbhElI2NjOZh22TjyUR5QOS0A783Ab4nKzkYLCne16+raMiJJ5 B55IXFanKn7cu1nlNc1glPjTkOl9mmZpiIrHDZLZl2072ZOl0bHs59LXtihUrOS5S4Dv CHpA== X-Forwarded-Encrypted: i=1; AJvYcCUwXoLRvpA1BqpLB8R6Hn1FfX4hcJO9V54QuDmFSX6hZ4yOEQ0oiZmMIi4bFULhXUbfdUXiUEhyBdDhAYc=@vger.kernel.org X-Gm-Message-State: AOJu0Ywv2d5uqyXSrxnKkIbbGbEwawojUgUDRNCPYmnqqaTUhkzCdRqL qVgcTE6k1IBOkZdmIkaCGNLoWxK2V8M+Nfjo7XX1dKUIm8WJSCEZ92hUKu02BmCGVV/TTruh6zL az96EbFGw7llZZ1OKMcoV+8YvcBlldZOzSKY6sBcrlz1/L8K30TVoaQQ/nMhBGRR6u3Q= X-Gm-Gg: AY/fxX5ka/WMImXn120Q3cgpF0cOfj3mJH49rTxUaqd5EoErXUpCh19I+8K2nQ3Q6ig xkb5G/dD5g7wQi7PTuVf5hAHFXG6OeTTl+diRS/IGw1D3EDJomrgtB6mQcWazfeKq4FkdRmomoI yHF+icBSuZ/qBWk/CsDjy9wRv/4AdUVPKVpIDP5uobo7YdCLwajK9p21mxRTehALYzNgju/GVqx TJnAIWxjx39k3sB3nuY/AzN1Ygz5+7x4tl5ThcdLpE/LQmg09QSO7GmNbOWG3r+T5ZmM0qagjXl 0/ZjPVWyMjNvtcmhULWcTHnMHIuXhmmUTK0+hL0a8K2KHTkFd9QZWASj+ysjhU0t+9FMn8/VZUV OuJeW48zXO41zTb9jJIQP9FnpeD56/VdEITB7+wj5/ZTSTu1QO8dtdFMXM6AmLxF8TrTmrRmKFq Wnz/S+Mo23emXb5E+zl9nj0migXYyTd5E2yWshoJNy X-Received: by 2002:a05:690c:c94:b0:787:d0bc:e82c with SMTP id 00721157ae682-78fb4067c74mr306167437b3.59.1767114199167; Tue, 30 Dec 2025 09:03:19 -0800 (PST) X-Google-Smtp-Source: AGHT+IFNX1KqxaiFngcWtl2rE9smbHpsMlP3ol6V/sVoK/jXVUI2cxVnHcU3w4KavxAo5XeP7fKP/A== X-Received: by 2002:a05:690c:c94:b0:787:d0bc:e82c with SMTP id 00721157ae682-78fb4067c74mr306167237b3.59.1767114198798; Tue, 30 Dec 2025 09:03:18 -0800 (PST) Received: from shalem.localdomain (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8037a5bdb9sm3776086266b.7.2025.12.30.09.03.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Dec 2025 09:03:18 -0800 (PST) From: Hans de Goede Date: Tue, 30 Dec 2025 18:03:02 +0100 Subject: [PATCH v5 05/14] media: mt9m114: Tweak default hblank and vblank for more accurate fps 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: quoted-printable Message-Id: <20251230-mt9m114-atomisp-v5-5-763539e76094@oss.qualcomm.com> References: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> In-Reply-To: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Sakari Ailus Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Laurent Pinchart , Hans de Goede X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: akdDYvLs8PvNfxg71fpzzakQGmrUgZ0Q X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjMwMDE1MyBTYWx0ZWRfXxZqwpmdfOKjW E0DoE6zcyQyT6ym4qZzULpUhInVHoFr+pZR0N8SnLSRykTmbxDwNNKXwjUJ8FcxtcUQT/7zrKqV fAlxJ4enWcmaOF3V1VU2VDK2Dgr++NfXC4oUo0pTk8dsjkf0p/vMAKojztxXajCfJOTkc25dv/a NI5KKFKDjgbbVyVXs3DvSMvTBFMCABA4t79aseTiGV1ycWnzmocxzkHM5Pks1XPgcjy3nHhtG1c ig2a7iKNb8maBSCH0tQQiFgsAUtnkAoycUbSPDldyQUOiGK2FESQnxEoaOPfEcXgt26FfxORrRi zM2fpuWnU92ikEE8OGsqx9BTbT/0BtX+GQV2V/1tV4Ah21yytOcJ1EPgYfzZMTLFRBb6Wta54Eg YGwPlh97eF4M6/yhX3bhFtFlMF0nQDxHEbJcsiS9Rk0D5Vn1mRx82VJMlHJDzcqeHXxeTx7bLGR Vsme+PYShH7myCjChog== X-Authority-Analysis: v=2.4 cv=A45h/qWG c=1 sm=1 tr=0 ts=695405d8 cx=c_pps a=g1v0Z557R90hA0UpD/5Yag==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=P1BnusSwAAAA:8 a=EUspDBNiAAAA:8 a=ukL-QT8NHvV3VPxu6cQA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=MFSWADHSvvjO3QEy5MdX:22 a=D0XLA9XvdZm18NrgonBM:22 X-Proofpoint-GUID: akdDYvLs8PvNfxg71fpzzakQGmrUgZ0Q X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-30_02,2025-12-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 priorityscore=1501 clxscore=1015 suspectscore=0 bulkscore=0 phishscore=0 impostorscore=0 spamscore=0 malwarescore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512300153 The PLL gets programmed to achieve a 48 MHz pixelclock, with the current vblank + hblank defaults this results in a fps of: 48000000 / ((1296 + 307) * (976 + 23) =3D 29.974 fps Tweak the defaults to get closer to 30 fps: 48000000 / ((1296 + 308) * (976 + 21) =3D 30.015 fps This improves things from being 0.026 fps too low to=C2=A00.015 fps too hig= h. Reviewed-by: Laurent Pinchart Signed-off-by: Hans de Goede --- drivers/media/i2c/mt9m114.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/media/i2c/mt9m114.c b/drivers/media/i2c/mt9m114.c index 3cb00e69623fa422bdecbe3eb36f911d92405341..b588b9d013ca8b41f9827cd12c0= fcf56bb34bc38 100644 --- a/drivers/media/i2c/mt9m114.c +++ b/drivers/media/i2c/mt9m114.c @@ -337,8 +337,8 @@ */ #define MT9M114_MIN_HBLANK 303 #define MT9M114_MIN_VBLANK 21 -#define MT9M114_DEF_HBLANK 307 -#define MT9M114_DEF_VBLANK 23 +#define MT9M114_DEF_HBLANK 308 +#define MT9M114_DEF_VBLANK 21 =20 #define MT9M114_DEF_FRAME_RATE 30 #define MT9M114_MAX_FRAME_RATE 120 --=20 2.52.0 From nobody Sun Feb 8 10:04:38 2026 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 07A5B322B9D for ; Tue, 30 Dec 2025 17:03:21 +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=1767114203; cv=none; b=l0J1l5EQGG04l9lSngImduHY89aWXbkgkPRZ09d+vDc8fsjcs411pkZFtw4roGGnphCiy/vZTY5/RDy+9ai/3yRzzxUo5BK3YX31p3vCMPZS0ytKugUgZl/KskzsoFqOIoi6YsXAcK8VqIheSNKcnrY7fI99pc746fRr+A9R03o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767114203; c=relaxed/simple; bh=UCis1fko66KzZ+L6ClmuRfXXvUzWLabDwbCJizpiy08=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RDl+xgtDIQvLXcP0GIdLhXSawndsBDLENompkC65kP6oSJ32ahATtAqs39WDYvmYoCtzQT/8kF3w3SaMzkbteUhT3LFSDjylKGTTeFF9fxwhED2H3APf2TyaxbDwhP0yAIVww0NbWz4UbuyngfzFC6l/qjM7H636TOqFlCHUerQ= 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=giGSEiNU; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=SMM7xsrM; 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="giGSEiNU"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="SMM7xsrM" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BUEplWu898837 for ; Tue, 30 Dec 2025 17:03:21 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= HbwNW9LRtglxUm2Bf6AsaFVw+CZYAV4zcyYuRhRwcqE=; b=giGSEiNUXN0JMYFc Ns9879oE2yqNSLegG+qvWPad7zrwM2yn2V/6wHX2f/1RINQIi0Zpl6OBH1pgKgd+ Xu+gJbkWhpvJ8UdRph7lUDus0a6bC48O61EIaanAejWihuiQ71nwzC9jBiX+ekvW xG2bl67NOoKfMVs12LQSWfZtArF/j5b4U2VEyOSqUSv2NeIvkqYuAVXxJos7tNWK 9KqNaIPBbcsiV42xCd9+EOdgt809+GevlC4eywlNLMzyz2V0AE+JYAg+0LT4+N8x +D1FePyIU5jaUsWwqglss3Xbey9rzsuS3mfODtE8AxXWdGAoHVJUzd6SK4308erw y+sxoQ== Received: from mail-yw1-f197.google.com (mail-yw1-f197.google.com [209.85.128.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bc8ky1jrx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 30 Dec 2025 17:03:21 +0000 (GMT) Received: by mail-yw1-f197.google.com with SMTP id 00721157ae682-78fc63a4637so90033147b3.3 for ; Tue, 30 Dec 2025 09:03:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767114200; x=1767719000; 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=HbwNW9LRtglxUm2Bf6AsaFVw+CZYAV4zcyYuRhRwcqE=; b=SMM7xsrMNx6l0O25amzYRiJUuHG7BDPpqEgaLT/Klfu11NTWK04xCf/rrXd3gmJ5D4 UbwqQG4fteNIy7ZyIv4X+R4ljndWqVy+4oAMJ7njKoBcxMhZip6Sj7PMrktYpskj9dKS 1kPch3NqUaQudlCJLHzj3jF0K0Xx4h77OA6WKlbDkCkoIv65Gvdkyp581gkXx9G7vGm2 KZPhBs0ATNllGb8/agnu2Ac8i7fWr772NrLN2Qu45FArdPawsQJVGsYWb46oM5aKf9k1 f5jiXCOlm/Ryqdt/WO5PtuKdm+bUSCnJa9vDOPDqSweTjOXXSHEbbiNdEqox/Jr4qMmA RudA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767114200; x=1767719000; 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=HbwNW9LRtglxUm2Bf6AsaFVw+CZYAV4zcyYuRhRwcqE=; b=XBh3c3Ck/cJyQOmDTod9vymSXCLUJFDGthvXRP5sN7AAKtycM3oxB6/JpT8P/JM9J+ 2r1CRp1Ku0+aPzLsz3JTzRuEJkZZ8vVbF9RtSO2Df+CzE3cBKgtkOyVlyRz0maqDexMD SCYOZ1pD7iCS6McxzQlvyOBQgNh3GYK7E9GXDkpdtL1oP9QYhd/yHJ4oaYM4/VFpVoXj auZJbE/8rut/LiO/QR89DqlAw3H63omGCNKAHOtaFEg49wrgKX+qIdEZV0VVadHk/3Eu XWjhPWSHHdR8np9FmpVNUueu5RjKCRpiqj4DTo7I8sXcHgOI9Eu/oc5RdcENGrva36nq gKGg== X-Forwarded-Encrypted: i=1; AJvYcCUO8VVU7+xoOaj9YRg8/cZsqSmgQ49P7snyRJD6XbYKt3nlrmFn2VaXFGNhY6Enh7Ekn0N0xjAyl2FT0fw=@vger.kernel.org X-Gm-Message-State: AOJu0Yx/2PSp5yDQGqH/kmZZsiUNdjWd+ieKgo/hFPuanv3G3XFjf8dR UKrryYER9FGwD2ImmASxGl+cKYZyvqkaQsppe2bxX4jB6TcASKJSddGssfsLquM3rKXfE+ZuuaL TgVjvdD8KJw7pqC1T/ybldeVM+GUNVwpqnNjXbVPKmwpj/gub6pXO0fTMH4GCjLQZDqs= X-Gm-Gg: AY/fxX6qyQWlKcu93hKF5nB5vsBbIh+uO04RV3DtkPXqirPT/qHz009TZBuv0kLn/4B p076PiC1Mz/F0r84igS7+RDZuWAFBIf4r6v6tgjnFC1QfmcffUIx0KNjZOYLfjEoNi7TcHGbEj8 cwRRF3TeBKYVfPtMMbvIJeRy358YZN8KrRpPgxuRj3BOrvJOLkz3Eet04L7WPmNFzmW5tJ89WU+ V8k796SPiv6L/28+OavJ1a4f71iJJdQwSg+U8WaVFUd2Iw2pnbQdIL/TEffDS40T450NAhO3Rl8 rVjenaexDOh+Bj6Mg9VzS47sdeQi1GES4ZteLsK61IsBw9B+xrtY+wfkBfgHlnpqlFS6wVwXqDq HdXPR12n9RhWmeXudGad2+DfpRmtIEjKd7ezGFdudDTd6GaP0HmcLC6onEqq76ZH3NV0f5ruRcu E2XM1p+wT0uPm8mrImieCzTuGLp6VbYd1NMfshEhlU X-Received: by 2002:a05:690c:9c0a:b0:78f:a872:fabc with SMTP id 00721157ae682-78fb3efa10amr317708627b3.11.1767114200250; Tue, 30 Dec 2025 09:03:20 -0800 (PST) X-Google-Smtp-Source: AGHT+IEl4lQHYh7DWs+x05wWfdtOKSLXV4LCN7QQWlMMcMXElXg0Bn0inderbFtuyFE61LHfQXIL9g== X-Received: by 2002:a05:690c:9c0a:b0:78f:a872:fabc with SMTP id 00721157ae682-78fb3efa10amr317708227b3.11.1767114199801; Tue, 30 Dec 2025 09:03:19 -0800 (PST) Received: from shalem.localdomain (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8037a5bdb9sm3776086266b.7.2025.12.30.09.03.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Dec 2025 09:03:19 -0800 (PST) From: Hans de Goede Date: Tue, 30 Dec 2025 18:03:03 +0100 Subject: [PATCH v5 06/14] media: mt9m114: Avoid a reset low spike during probe() 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: quoted-printable Message-Id: <20251230-mt9m114-atomisp-v5-6-763539e76094@oss.qualcomm.com> References: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> In-Reply-To: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Sakari Ailus Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Laurent Pinchart , Hans de Goede X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjMwMDE1MyBTYWx0ZWRfX5aW9JUKqs6xg eCu4gpE1aeETSEe4fATVpxLmMBcsUmJDzqSLYq9m3Ica0Jb+bqX0Tno+z7GfE3pV7mbIW1YeXQ5 KkIKqPiSffUxd5e99JWeexxqO//LWCdO2WkNKrwJBHiM3oTdG31mIl8T0LMHnsJYuVyk+kY/gsn c7KjEjgu5DZAa+9JqOmlxmznWsJTVVLLzWabSugHT8JR1Cky4xuZT2d9XzpoFYp9fRO4eNPVIKp RmY9x7VCnTb++mMRkyZWASrqXZKvMk1su93LYdxgTY4doSIPuayn7JjPasf/zh1lDjm+MabJvsV ehld0SjXUgv/WIfdlApeK5IyRZAaAydXslXdrDk4+ioMJhepHHVl9ox+Pp9Z2oMoLensm13ER3H 0JbLNvJ0l7/EhYLNQdspFvIyrSfaRUx0sJuvw7gqB460dzBZhYIFEPY3EFGt2VxOHLXEflspGP1 4PsWMiR0zQ4BanRU4xQ== X-Proofpoint-ORIG-GUID: 3mTomVlTf4GwUcQs2T0AStg42ZxJgnD4 X-Authority-Analysis: v=2.4 cv=BuuQAIX5 c=1 sm=1 tr=0 ts=695405d9 cx=c_pps a=0mLRTIufkjop4KoA/9S1MA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=P1BnusSwAAAA:8 a=EUspDBNiAAAA:8 a=RFAlwJ6oiccnoQ4oFZsA:9 a=QEXdDO2ut3YA:10 a=WgItmB6HBUc_1uVUp3mg:22 a=D0XLA9XvdZm18NrgonBM:22 X-Proofpoint-GUID: 3mTomVlTf4GwUcQs2T0AStg42ZxJgnD4 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-30_02,2025-12-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 priorityscore=1501 malwarescore=0 lowpriorityscore=0 spamscore=0 adultscore=0 bulkscore=0 suspectscore=0 clxscore=1015 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512300153 mt9m114_probe() requests the reset GPIO in output low state: sensor->reset =3D devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW); and then almost immediately afterwards calls mt9m114_power_on() which does: gpiod_set_value(sensor->reset, 1); fsleep(duration); gpiod_set_value(sensor->reset, 0); which means that if the reset pin was high before this code runs that it will very briefly be driven low because of passing GPIOD_OUT_LOW when requesting the GPIO only to be driven high again possibly directly after that. Such a very brief driving low of the reset pin may put the chip in a confused state. Request the GPIO in high (reset the chip) state instead to avoid this, turning the initial gpiod_set_value() in mt9m114_power_on() into a no-op. and the fsleep() ensures that it will stay high long enough to properly reset the chip. Reviewed-by: Laurent Pinchart Signed-off-by: Hans de Goede --- drivers/media/i2c/mt9m114.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/i2c/mt9m114.c b/drivers/media/i2c/mt9m114.c index b588b9d013ca8b41f9827cd12c0fcf56bb34bc38..8cabe04a1a64619c97edbaba09e= 6286b1a514604 100644 --- a/drivers/media/i2c/mt9m114.c +++ b/drivers/media/i2c/mt9m114.c @@ -2467,7 +2467,7 @@ static int mt9m114_probe(struct i2c_client *client) goto error_ep_free; } =20 - sensor->reset =3D devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_LOW); + sensor->reset =3D devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH); if (IS_ERR(sensor->reset)) { ret =3D PTR_ERR(sensor->reset); dev_err_probe(dev, ret, "Failed to get reset GPIO\n"); --=20 2.52.0 From nobody Sun Feb 8 10:04:38 2026 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 E60DD32E12D for ; Tue, 30 Dec 2025 17:03:23 +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=1767114205; cv=none; b=ERY09UbR2nMbKDPreMNO7fXV6hoGBxLhm4iIRCFCkBJ2cDF6r0B7ELgOmdREigrqgcbot1AU55mDjjSM2OeLM5tJa8w0XrlNmYXnw+7oBorVJKvU5JjEo/BRZOTGh5HnGsdyXHTZOdPY0lq0h1Vgyp3B2/HcsfBlci8lhZjciWE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767114205; c=relaxed/simple; bh=oRoX+ocgY2ZJk0eMZLmvNe0H9UR7k+ajAbrbWiFx7jQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GVy6rxutML8l5Z0PxVjSigQCfjfibiPsXZaAMWPRsJ9LpaT/kMnyGnaj+cdOVJkw7KfxiVEQBE1cxs+TJ5cc2PLTYiHGVp7CSn4y7g7jlyeAUetYSg76SybFKaI0tlqtyvTqkh+2aeBC8nubrdd2ANdwBaD93O3BRYDyMqjVSng= 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=ocJFSuld; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=XVMWAFAX; 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="ocJFSuld"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="XVMWAFAX" 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 5BUEUHrp3540266 for ; Tue, 30 Dec 2025 17:03:23 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= wk025GDXXAr/o7mPieZPCl9bZ1YZurn1P9JWynn93R4=; b=ocJFSuldNg80yyh+ I1q1nyPSSUkztyKeX1khtoJJ5ndSMnDQwxuqkt1BkXihd83i0b6Q7b7cmzKv+3iv eurr065wP7vojgepnoJhbah+vvj3Dl8xmerVzonAJ7lvs0O1FLFPTbrvs/+a+g0W YzqDKWO9sOuIf5jW9jMk91XMyBKpYFyR/85bNUmhd36VpbvGenUQWFMoAx/RRkCb NXiu4WzL6zQNbD+itwTGymTHr+HA8BxMPaZznxO/BsDGMc+Yf/wS2Z17fKPuZpVk asej53zdEya+goXoH2PqKusfesZ0nkot9+nAWjgtCH5mCIhZP9aOOiCc/LCJ3WpG Y+70Cw== Received: from mail-yx1-f70.google.com (mail-yx1-f70.google.com [74.125.224.70]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bc88yhn9j-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 30 Dec 2025 17:03:23 +0000 (GMT) Received: by mail-yx1-f70.google.com with SMTP id 956f58d0204a3-6465127b47dso11821289d50.0 for ; Tue, 30 Dec 2025 09:03:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767114201; x=1767719001; 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=wk025GDXXAr/o7mPieZPCl9bZ1YZurn1P9JWynn93R4=; b=XVMWAFAXxYIYVG8AiV43AnMBm1QMq7tsaLs1XZHV+x+hh+z3lM94oU5d9T+G8bASZh MpnUIrUQcQoM3XDZtJ0t/Acg94/WF3XznfwS69IYJ1gVyP/ahPVsOVWv/TcvT3ht/dLg ruk9AjOSYjZg2U7uguyKR/8oxLy1ivX3NmXbcB5RtaKWAJekXtDzPrq2bnGBlMWOC8HS 7nbq2lEOD6jw+yedBNIh72e7Sji3xJdW9uakM41286URftd6yi2YreXXoaS3+tfAx1q2 Z7Iz+VAYrY/LDqP8WX3fm5Ov1fG5Av7LPPXjGGNEUnkqh3wCiR5MxzDcWJzVpvKviHgj WCig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767114201; x=1767719001; 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=wk025GDXXAr/o7mPieZPCl9bZ1YZurn1P9JWynn93R4=; b=HQhFC1mo/mKlqq0IkiveFl8ILBOqePT0TEhz5r/7Fr1KYLxoumUy6XIGUsxKIl0ldu ds0XLld+5zk58bA9bavTM2TYg6+ohO6we5LjnXjC0HtgQO+xavEQqLg+8NxoF5mRBKne +e5/fDcQ6x42cRsUsBDYMMsZW00w0EnRU5UW8Awo63l8C2h0p+TnOPUaF0h1CW2wzWPD 8ZK+3Ah96D5rdKmhfEGR7L60NxuQkBJXpxAKLIhEkxaoY2scEZjbisqNklT8Qzixryuc SagmR4Gy2sgLp1q7JIWDFRmMhx3Nk+hNVw5Nt+iDugacCe3Rl8/Yy2iRQjwrF3FShvUg fmvg== X-Forwarded-Encrypted: i=1; AJvYcCXCKR0DUCxGmHyzlXS5CBbGBKYbCUggMZIIjr7/ik03aeV+v0hCmHr55ms+dJ7+AjJ63TScTmTwJnFt7mE=@vger.kernel.org X-Gm-Message-State: AOJu0YwUrwJakZ5URevH+MbZ8lUsEj6oRQpPH/+Hp4bXbABB5++dLMwD PTxqHLt3oHW5I7jT48NbMybJkrJ6xO83nOVZB/Lr82D/LSdHHyyK/G7KX9Hr0uQnsrhWGLOfWpH h1alU95UOAwF1czsEqr/Po9i+1qxtqhc6nSEjfwZoSclJifg6lNq4GCdD18u6YNWgGHNwZovUSq E= X-Gm-Gg: AY/fxX7WECaiWL3cAzefA6Gu7jgdPvERw6B+zs24JfNgQQbSmyrRYvqvtQ+Z2OSiQG9 QsI2l02lSmjysnKoX/UjhSkdvrOhLbSo2cvGKtvn5fk8B/Au2DYu86vmCuNZOIZFhmIO7V98BBT M5NQRyEMjBA9uB6dD2G9kXlxGOK3fyYbP+xQVeI2H2j6fRq5TFppolnRd6+NhP7S3RKdQCs86Aj C7/QKCrHUgU8MlfH64aKXPZhxznt7mhzknUKLw3rgngZTDPgAZ6Qs9m88WOYcVsT3zYQXPEqhOr 2h+LaxPG28Ax6I1wQx7w/VoOFZbIqYTn300C3VDG+GgXzaBlX+jFHRWWAa8XHvt70fC06InTHJ/ 2Qla8WlFJ/RSOJj95Y0KyjO3RQZ7t9kJrppaZe3cP1vt1OWoTLe3NDy8iYmD3dbkkdRHfOYBvQ6 lBCfYVHVGLnmjlz7RFDFjf/0cF/Bfaz08cLpkBBWhw X-Received: by 2002:a05:690e:1882:b0:646:7ae4:11e7 with SMTP id 956f58d0204a3-6467ae4196dmr19976125d50.14.1767114201354; Tue, 30 Dec 2025 09:03:21 -0800 (PST) X-Google-Smtp-Source: AGHT+IFYj0u9YMO26hwabawdbKgl+y19XUwwFtwBt46iDjvzgtgKIEshmJu/7s8jPc1ZsXfG5TMdzg== X-Received: by 2002:a05:690e:1882:b0:646:7ae4:11e7 with SMTP id 956f58d0204a3-6467ae4196dmr19976093d50.14.1767114200846; Tue, 30 Dec 2025 09:03:20 -0800 (PST) Received: from shalem.localdomain (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8037a5bdb9sm3776086266b.7.2025.12.30.09.03.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Dec 2025 09:03:20 -0800 (PST) From: Hans de Goede Date: Tue, 30 Dec 2025 18:03:04 +0100 Subject: [PATCH v5 07/14] media: mt9m114: Put sensor in reset on power down 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: quoted-printable Message-Id: <20251230-mt9m114-atomisp-v5-7-763539e76094@oss.qualcomm.com> References: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> In-Reply-To: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Sakari Ailus Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Laurent Pinchart , Hans de Goede X-Mailer: b4 0.14.2 X-Authority-Analysis: v=2.4 cv=POcCOPqC c=1 sm=1 tr=0 ts=695405db cx=c_pps a=S/uc88zpIJVNbziUnJ6G4Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=P1BnusSwAAAA:8 a=EUspDBNiAAAA:8 a=8zVg_k_I0LZdQ-rHxRQA:9 a=QEXdDO2ut3YA:10 a=nd2WpGr1bMy9NW-iytEl:22 a=D0XLA9XvdZm18NrgonBM:22 X-Proofpoint-ORIG-GUID: jyYcT9S-UBHp34RfPnNdJHWv9tnlzIW5 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjMwMDE1MyBTYWx0ZWRfX7l9j8iSE3jQB MwzIm+akpx1G/3dLlFI8Wbv8BBe7ETkvmGpD1LQDxOuln03eSdspQ9iEuBqu2RvI/jUfydZdh/A v2ECoPXJf7Sq7aO81lxiVFG+ASgcnBykx9VJputqC0z1omcDnyRbqcu6+S6blahqetsE6O5+xA/ xkkfs8tK0oHbcT6LALVaX+/XOZlyduHyybvnTaqOKZPFSZqTd9VVTKZHE3Ag14QnobDeMV3N1Ci OPyfY/W2p7wQFyObpvhUiTK/yFJ1Ts/vQIxWL7Hbfw+q/ZHchEbuVayOx4OOABQcNFnt9TYOqTP litXiX0SDPs5HjHTV0jzIYMpYUE4hGqUY1sJoyTKsyolJaE9oaceZL5pVoSCoxinJsT3nfwdbHO pN0ezQ5OamrgXRDchXnAGN11ZZU5hlYup5vlra3MigHrMxLJaILba0vvWrCN89o71WHW05VkgdN w2e3/xemEi31dPDNH4g== X-Proofpoint-GUID: jyYcT9S-UBHp34RfPnNdJHWv9tnlzIW5 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-30_02,2025-12-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 lowpriorityscore=0 malwarescore=0 adultscore=0 bulkscore=0 phishscore=0 clxscore=1015 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512300153 Put the sensor back in reset on power down. Putting the sensor in reset reduces power-consumption by putting all the data / ctrl pins in High-Z mode. This helps save power on designs where the regulators may need to stay on while the sensor is powered down. This also ensures that the sensor is properly reset on power up, since now the sensor will see a reset high to low transition after the regulators have been turned on. Reviewed-by: Laurent Pinchart Signed-off-by: Hans de Goede --- Changes in v3: - Improve commit message Changes in v2 - After setting reset high wait 20 clk cycles before disabling the clk and regulators --- drivers/media/i2c/mt9m114.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/media/i2c/mt9m114.c b/drivers/media/i2c/mt9m114.c index 8cabe04a1a64619c97edbaba09e6286b1a514604..948074e976bb124470d6a8677a2= 4e096c3033f71 100644 --- a/drivers/media/i2c/mt9m114.c +++ b/drivers/media/i2c/mt9m114.c @@ -2228,6 +2228,13 @@ static int mt9m114_power_on(struct mt9m114 *sensor) =20 static void mt9m114_power_off(struct mt9m114 *sensor) { + unsigned int duration; + + gpiod_set_value(sensor->reset, 1); + /* Power off takes 10 clock cycles. Double it to be safe. */ + duration =3D DIV_ROUND_UP(2 * 10 * 1000000, clk_get_rate(sensor->clk)); + fsleep(duration); + clk_disable_unprepare(sensor->clk); regulator_bulk_disable(ARRAY_SIZE(sensor->supplies), sensor->supplies); } --=20 2.52.0 From nobody Sun Feb 8 10:04:38 2026 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 9101F32D7FB for ; Tue, 30 Dec 2025 17:03:25 +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=1767114207; cv=none; b=ExAWlXUyCzqZC5t8NdQ5Syh/1Ev/p322qws6WjBWBe9PnrZZ0gJNU62VGvDEkUTXyFNi23BDfoTR1uajZIZ0cMFvjBDqIIKDYowM2uUc7Z3vi+cUU5QAKLjoCQN4S3+x4VgAP5q4Y7TJ/HYTg/iDthiDAl91xPt1TlOMFKdQAdA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767114207; c=relaxed/simple; bh=pUcV1dbBTQOxDk0ARdiNFmxLQfbTJhPxGeN+tE1pFF8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZAQNkFG529fFMZMroTk4iOmG962KE5OubDGLwN3SmUvPZ9PNNLmuKPw290rc3eQOdjuZu3snnd6sbmJdXOvBohvzM3RUkQqrEraW3ji/m0G7ba1HpnnJFy7W4Hqgi563mRP2hE+81o83KPNElWGTbPvgwgeBhJj8ESZUNTvxz+c= 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=oDyPXCKl; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=a2K5/tG/; 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="oDyPXCKl"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="a2K5/tG/" 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 5BUEkBXs3539777 for ; Tue, 30 Dec 2025 17:03:24 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= U/WEOACPXuz2v8eCCxwXJfIP8bRHqqSF490HJaExyDI=; b=oDyPXCKl+D8PLMpb QDz+bzO7J1np1ugrveEAllXfS7IL32+eTuJZM26g6C9lLkmhmLMhCQk2abO3LJqR xV2PLYaF3wmYdMmPhk2WoM0t26IWQXS8olwrQYnpGFaesJcGw718sEqywwaV2ixQ cmCaKxd2fuljLZIbl6eBWNCuMi/fvxqA40wGdGOoy+UHQcpUrfYe9e10a5ZiYkI3 6EC9spOoEg16IJF2GShiQRpOA6tnnBfIBs4pyc17Za5B8JIi06eArZ/kxABqg+mO JmHfkTVvlY0Cwti+xduGYNV4xrEVfEtz32cJzw9jHfr27um071qiKXTm1yR5fsUn WfSqbw== Received: from mail-yx1-f69.google.com (mail-yx1-f69.google.com [74.125.224.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bc88yhn9p-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 30 Dec 2025 17:03:23 +0000 (GMT) Received: by mail-yx1-f69.google.com with SMTP id 956f58d0204a3-64473bfcb4eso14424954d50.2 for ; Tue, 30 Dec 2025 09:03:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767114202; x=1767719002; 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=U/WEOACPXuz2v8eCCxwXJfIP8bRHqqSF490HJaExyDI=; b=a2K5/tG/3Oqd8ZM64pyiQ9SLT1HbiuZkPF/hTIQTUcDt9zils4ZNKBcoCkIPg1VYUG pb31WYfqxuW+HIi+ikySFU9GJWO51GmIF9UCcPd1ixiGDZ770f0VrMP+Fe7mbWTHuh/M S/EQhCXc2ezj8vlKzGnVXv08/exPZvpSvbcLlZVXjZ/oG3plfhPaE4UBeb5xcKZjlLVX gCVLLsYv8TL/crRpzG7/Rhd997LaFkuMOVbjz44tPI6Uff50Ec8fQVYw47Gsbep4OcFZ 7HJ9/rIZBstvB/RRiuX9n66YHnBLWsa5jW0RWfePBSLTqG9VOj4J5BRSCjmXM7q1+JQ1 8oFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767114202; x=1767719002; 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=U/WEOACPXuz2v8eCCxwXJfIP8bRHqqSF490HJaExyDI=; b=IHdQRPfIJospwQTsSCHrJn+eK5wMQ2Sje55sX5rOnett6GOI9NEclwq46ftL5q8Vev Bw/XaLF81zcTA65o+fnzIhUtIY7RS+eSHpJG2YftSOJD+kh1iW9YbX0kauNIov5V70pE JZ0m9AfyamR4jkWE2P+W0VBEYVxe00wEPa4jMFE4NQq3vPzpC74GQtfQTzSErkFGncOs 5sF1BT+sn6ndWMpeIjKyJyIuBrUxZ5qOex9Bh/rEK7TLN4fxK6aRmgk88jE0gZhyf7vd y5ZdmtCSPo62avHp/BfnRzMV9EJFe3tKjRL2Y77l1/d6axNZKpljePlNo673ej6xRiE6 ZjrQ== X-Forwarded-Encrypted: i=1; AJvYcCW5g4NUWjSr0QA/o+jlJ82WCGv0MMqGPe1x1+5BejsRVKHnwyxhzYc6syO9huRWw/8D4xWEJISdnLphRXQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxxV5MiOjf7HtELDmsBsJERiDBRLjyjTFrNOzt0n5+4Vz8rQfOr DeTfZDtGBNazFRxIGWVCk0vbqOceTOJKaQ2FCmKnj6u6lnsJs7rBzjMfvVsRu6dxRG9Bj0cY0uS K+iXHwI6dAu+ouk9780Tycwiah9uDC7zOeanipjegTNBQkcgwSvUs40lUk0LF4PlEmTkckHe71E 4= X-Gm-Gg: AY/fxX6q15PFYq9oQb2uHGluyHgTt5JbX/8ZmC8ki7iUBg++VREyHTO/5TcFAr8QNJ7 wDMeP8CKv7WeQSVa14NNyLXKOs+uAuoJqsO8OZGikfikTYzC+3rVNv+Zbpd6SB2ObSoFU5QBPBu tj+TLEJb63fFhDF8hIZ1jcYACmE7XuZDeJNANzxsd0FyF2FNqSrNeKq5QLmypIKyCsken6ggJib LH1H7ekkxWymxPdPfG97vRvAg8tLqpTALOawDYYMCFKVynysgrn3JK/RYMA5YbAuQ0hTex28hQ2 4u2ZE2FanvROziZpMapFTAdmG6kEYhssz0hJRu3hL0Ha8o3YYw7sAf1N1LLFKL8hcpMRMSZ88zx Arcqhv6tobsjCtrEt3RC2Qb3SiCMX+rxr9QtckJpXjDX+6Ab2ia3Ejseqna3tC0c9bLcGghQbot UR4ABYVFC+Cg4IgzyfyVTjqZ8p3R/3otgx8hfcTi0B X-Received: by 2002:a53:e18c:0:b0:644:4625:8853 with SMTP id 956f58d0204a3-6466a847258mr20117769d50.34.1767114202317; Tue, 30 Dec 2025 09:03:22 -0800 (PST) X-Google-Smtp-Source: AGHT+IHy7BfSa3UN/TFpEWlcJ/RfJR8aNQfRjlb1bnTg8p5j/l85AX6oqRJWvGcHnoWq+bCokGLRzw== X-Received: by 2002:a53:e18c:0:b0:644:4625:8853 with SMTP id 956f58d0204a3-6466a847258mr20117746d50.34.1767114201901; Tue, 30 Dec 2025 09:03:21 -0800 (PST) Received: from shalem.localdomain (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8037a5bdb9sm3776086266b.7.2025.12.30.09.03.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Dec 2025 09:03:21 -0800 (PST) From: Hans de Goede Date: Tue, 30 Dec 2025 18:03:05 +0100 Subject: [PATCH v5 08/14] media: mt9m114: Add and use mt9m114_ifp_get_border() helper function 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: quoted-printable Message-Id: <20251230-mt9m114-atomisp-v5-8-763539e76094@oss.qualcomm.com> References: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> In-Reply-To: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Sakari Ailus Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Laurent Pinchart , Hans de Goede X-Mailer: b4 0.14.2 X-Authority-Analysis: v=2.4 cv=POcCOPqC c=1 sm=1 tr=0 ts=695405dc cx=c_pps a=J+5FMm3BkXb42VdG8aMU9w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=P1BnusSwAAAA:8 a=EUspDBNiAAAA:8 a=i4UVPg6hQqdO0Jw5UB8A:9 a=QEXdDO2ut3YA:10 a=Epx66wHExT0cjJnnR-oj:22 a=D0XLA9XvdZm18NrgonBM:22 X-Proofpoint-ORIG-GUID: 9ywmAIuYHAT4D9JoT8IBlugGJnU4PZyL X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjMwMDE1MyBTYWx0ZWRfX0/0TRXk52RyJ 6xhjTlmP+CmYArL/VcdQy0W7gvR7GUZgUL2ReAK10BCzBicBl9Q4xuwsUvinGnpCd3zIhmvLQc3 upxdmq5em/nraTw+42nl0TF/RtvG+aL4wBxpXaNqcFAIkrawc6Spv6fegyTBvU/gmQTr7C2Wqm9 Gh5hnGQ8iTYCuZf9wychxueLFWbpnkT2ESW0KoC+NJuIkqdI7BQTv/3wG0aYHsH5Zz1sk81wXDX pmAT7T+jWEJ3eB8TWJTV/cThIwePZCDtYXnV+we7eDAR2CZRH9nhPXviDv8fCi/Zg5psQU5//xv h8U1638tW0hgKqBSEKOPAdTSVCT9ABCw5Stb5dB3Ooe4vO93ps6SkDZZIvoMpZMbUyI9eaOPLRt W5bxVgZQ8qmdzldryWcFW+1GnkzzVZhfI5LEFu3uhq0z/UJzzaWyBeKqScn5PmHYmH7MITuqQ7r BYhHma7FSfnwOJm6BIw== X-Proofpoint-GUID: 9ywmAIuYHAT4D9JoT8IBlugGJnU4PZyL X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-30_02,2025-12-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 lowpriorityscore=0 malwarescore=0 adultscore=0 bulkscore=0 phishscore=0 clxscore=1015 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512300153 Normally the IFP removes a 4 pixel border all around its sink format size for demosaicing. But in RAW10 mode it does not do this. Add a new mt9m114_ifp_get_border() helper function to get the border size (4 or 0) and use this where applicable instead of hardcoding a border of 4 pixels everywhere. Reviewed-by: Laurent Pinchart Signed-off-by: Hans de Goede --- Changes in v4: - Address comments from Laurent about commit message and comment wording Changes in v3: - New patch in v3 of this patch-set --- drivers/media/i2c/mt9m114.c | 62 ++++++++++++++++++++++++++++++-----------= ---- 1 file changed, 42 insertions(+), 20 deletions(-) diff --git a/drivers/media/i2c/mt9m114.c b/drivers/media/i2c/mt9m114.c index 948074e976bb124470d6a8677a24e096c3033f71..4529320ab920145dd7055eec87a= 9bcb52e91a54b 100644 --- a/drivers/media/i2c/mt9m114.c +++ b/drivers/media/i2c/mt9m114.c @@ -851,6 +851,18 @@ static int mt9m114_configure_pa(struct mt9m114 *sensor, return ret; } =20 +/* + * For source pad formats other then RAW10 the IFP removes a 4 pixel borde= r from + * its sink pad format size for demosaicing. + */ +static int mt9m114_ifp_get_border(struct v4l2_subdev_state *state) +{ + const struct v4l2_mbus_framefmt *format =3D + v4l2_subdev_state_get_format(state, 1); + + return format->code =3D=3D MEDIA_BUS_FMT_SGRBG10_1X10 ? 0 : 4; +} + static int mt9m114_configure_ifp(struct mt9m114 *sensor, struct v4l2_subdev_state *state) { @@ -858,6 +870,7 @@ static int mt9m114_configure_ifp(struct mt9m114 *sensor, const struct v4l2_mbus_framefmt *format; const struct v4l2_rect *crop; const struct v4l2_rect *compose; + unsigned int border; u64 output_format; int ret =3D 0; =20 @@ -872,15 +885,18 @@ static int mt9m114_configure_ifp(struct mt9m114 *sens= or, return ret; =20 /* - * Color pipeline (IFP) cropping and scaling. Subtract 4 from the left - * and top coordinates to compensate for the lines and columns removed - * by demosaicing that are taken into account in the crop rectangle but - * not in the hardware. + * Color pipeline (IFP) cropping and scaling. The crop window registers + * apply cropping after demosaicing, which itself consumes 4 pixels on + * each side of the image. The crop rectangle exposed to userspace + * includes that demosaicing border, subtract it from the left and top + * coordinates to configure the crop window. */ + border =3D mt9m114_ifp_get_border(state); + cci_write(sensor->regmap, MT9M114_CAM_CROP_WINDOW_XOFFSET, - crop->left - 4, &ret); + crop->left - border, &ret); cci_write(sensor->regmap, MT9M114_CAM_CROP_WINDOW_YOFFSET, - crop->top - 4, &ret); + crop->top - border, &ret); cci_write(sensor->regmap, MT9M114_CAM_CROP_WINDOW_WIDTH, crop->width, &ret); cci_write(sensor->regmap, MT9M114_CAM_CROP_WINDOW_HEIGHT, @@ -1865,6 +1881,7 @@ static int mt9m114_ifp_get_selection(struct v4l2_subd= ev *sd, { const struct v4l2_mbus_framefmt *format; const struct v4l2_rect *crop; + unsigned int border; int ret =3D 0; =20 /* Crop and compose are only supported on the sink pad. */ @@ -1879,15 +1896,17 @@ static int mt9m114_ifp_get_selection(struct v4l2_su= bdev *sd, case V4L2_SEL_TGT_CROP_DEFAULT: case V4L2_SEL_TGT_CROP_BOUNDS: /* - * The crop default and bounds are equal to the sink - * format size minus 4 pixels on each side for demosaicing. + * Crop defaults and bounds are equal to the sink format size. + * For source pad formats other then RAW10 this gets reduced + * by 4 pixels on each side for demosaicing. */ format =3D v4l2_subdev_state_get_format(state, 0); + border =3D mt9m114_ifp_get_border(state); =20 - sel->r.left =3D 4; - sel->r.top =3D 4; - sel->r.width =3D format->width - 8; - sel->r.height =3D format->height - 8; + sel->r.left =3D border; + sel->r.top =3D border; + sel->r.width =3D format->width - 2 * border; + sel->r.height =3D format->height - 2 * border; break; =20 case V4L2_SEL_TGT_COMPOSE: @@ -1922,6 +1941,7 @@ static int mt9m114_ifp_set_selection(struct v4l2_subd= ev *sd, struct v4l2_mbus_framefmt *format; struct v4l2_rect *crop; struct v4l2_rect *compose; + unsigned int border; =20 if (sel->target !=3D V4L2_SEL_TGT_CROP && sel->target !=3D V4L2_SEL_TGT_COMPOSE) @@ -1937,21 +1957,23 @@ static int mt9m114_ifp_set_selection(struct v4l2_su= bdev *sd, =20 if (sel->target =3D=3D V4L2_SEL_TGT_CROP) { /* - * Clamp the crop rectangle. Demosaicing removes 4 pixels on - * each side of the image. + * Clamp the crop rectangle. For source pad formats other then + * RAW10 demosaicing removes 4 pixels on each side of the image. */ - crop->left =3D clamp_t(unsigned int, ALIGN(sel->r.left, 2), 4, - format->width - 4 - + border =3D mt9m114_ifp_get_border(state); + + crop->left =3D clamp_t(unsigned int, ALIGN(sel->r.left, 2), border, + format->width - border - MT9M114_SCALER_CROPPED_INPUT_WIDTH); - crop->top =3D clamp_t(unsigned int, ALIGN(sel->r.top, 2), 4, - format->height - 4 - + crop->top =3D clamp_t(unsigned int, ALIGN(sel->r.top, 2), border, + format->height - border - MT9M114_SCALER_CROPPED_INPUT_HEIGHT); crop->width =3D clamp_t(unsigned int, ALIGN(sel->r.width, 2), MT9M114_SCALER_CROPPED_INPUT_WIDTH, - format->width - 4 - crop->left); + format->width - border - crop->left); crop->height =3D clamp_t(unsigned int, ALIGN(sel->r.height, 2), MT9M114_SCALER_CROPPED_INPUT_HEIGHT, - format->height - 4 - crop->top); + format->height - border - crop->top); =20 sel->r =3D *crop; =20 --=20 2.52.0 From nobody Sun Feb 8 10:04:38 2026 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 02BAF32E6AA for ; Tue, 30 Dec 2025 17:03:24 +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=1767114207; cv=none; b=ulM1pYHWIF+LuY2lWTCdVpU/6hlbdge8PgkLZdRAZnJJ5s8SYUWcTHEE8i/4eRBUTUMqaKjGHzkWSTp5KAnBAHyyh3u3XqDd240oZxMj5z8WRuX641yWoTk4tiDo+HdP4OBzrbuJECvMHJyeE9U5fVQI2lsnY8lQN8EDQqxZ3Js= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767114207; c=relaxed/simple; bh=4Sk0YA2nfPgLIrimXTzL601q8qRPpVzg6oy0cFocKVo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AIdcDSScC+oR2gKWlce7DHJ6yRz+bobbaWiFQoZwjJ26iBl1lwI7EGFyKM7EKVqzLq9vBdWRNIjUG6BfhcC/ipFBmibwzTBDAoKelty19UdOYa5WJVG0bOSe+ERKP5MIBVahhTRxKgrGfLtoLKoHcvEPbxtpDPCeNzhDf5y2Bjw= 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=TI3ZuPCw; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=IZLm8W0h; 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="TI3ZuPCw"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="IZLm8W0h" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BUDIc1r2546972 for ; Tue, 30 Dec 2025 17:03:24 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= qswEzpCbCYktLniio5qv0qVeG2mcCHZa5ramsj5FOCg=; b=TI3ZuPCwsA9BmkEy xky4tIH0OZj9zfsagan6PsmOErs3pwktyWaOwcRVpXFWF0bau2363wMIP4kXij9V H/GnNMrPxtu26rLrioRxyfCO/BlOXHIDNVIysuk62mpJa2FLoCM1R9JoYnwV/oLC 1gO8zoceItUGKo8C6jFecZQs6FDs7wnyO7FEcC32k2qDwXeXOPzo16H/nVJ/vJVg DW4BaRzhM3gQkPd5oQ7Tyb0oFh+Hm55jItYUftR3tPgCSP5cKmr6p2HVjkK9ar1a Zdl+mvLAZDSB1RXlJwARf7mgQSE6cMZiqBfXLk5YphFOHbrl0wOf7WgnhiU0IxHk iYP34w== Received: from mail-yw1-f197.google.com (mail-yw1-f197.google.com [209.85.128.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bc7399sap-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 30 Dec 2025 17:03:24 +0000 (GMT) Received: by mail-yw1-f197.google.com with SMTP id 00721157ae682-78e7ba9fda9so133436477b3.1 for ; Tue, 30 Dec 2025 09:03:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767114203; x=1767719003; 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=qswEzpCbCYktLniio5qv0qVeG2mcCHZa5ramsj5FOCg=; b=IZLm8W0hk924AhV3xSNiV0FSmOfOkze6++QF8t3HflO5F1IHCLFf8exlB6S8cC4utn 95SSZBgF9y74iwilXMzo9UDLP7tttyU+GXQxH2V51mB4L9+If0JKurvyW+kRxia4sJCv sNhsqbFEsBbIvkA1FCFBYIcxqlU8tE1qF34uGPitwjy9wSQiuAnNBjdccrlWYjgVkuO7 vZ3XFLF8bXqSqfakydKGL0x/12MN40TOmWuI8aEI59jR4paZYqXFHF6Oj2BNJphO/3IA kWvzz7AOOVysMFJz0VYMceD4s9QQ97wRyfYdBx8/+SRcAYnxZOynyInqqoLc+lij+fFH RLEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767114203; x=1767719003; 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=qswEzpCbCYktLniio5qv0qVeG2mcCHZa5ramsj5FOCg=; b=Q6v+APkjugkqsZt7OAl34XtWC2NG6UlCQ2/D4YmSPqxGBHNsnvl6EIRhtRkg2MRTUM cZygNbFGp/oEXW3TLEMtC7lROvHB8gSrZdbZT+kYGw/kTY7xy+dUIkUxiOs4MpEfjYiS B0A8srN2FXROQY3GWVBTlO5bJ9VmWSbeaUhMbCp9R+5BfqslV/uT43czZdfxDpmzG7F4 ytBcYV2QDwHy+8+ceOAySC1BAOWHOdBB+eiUt5yt8w3h6j32rZXYk5qO6mwETlKh9fxB 3wlM+fNya4oIowhKc0VwP6x/jIQJH+j24kIEPybmD6V0CD05ArKFuqicDJIoEcHmdY+R Vf8w== X-Forwarded-Encrypted: i=1; AJvYcCXlxyxpcoAhyKy4++nXtPKbukEb8Ogztd7k/nbL+JNb5ToxPIAzkEterT676F8UczwmPb4jWjd0qhCIw9U=@vger.kernel.org X-Gm-Message-State: AOJu0YyxKsftf52NR9noOr27RS6nfm3jziJpXDgIcQbNcKTXleR46UOl rn+HPOP2Wdqgdikl/+U47irQyiftrgo7o+g9TIIDDjwf8k4G57xLBT/xi7YhrJnTI0fq9SRspdX Mubl9M8VTDG7xTNN15yRVNOYacTOmH+nV3cmDoKFucUdoHex95e5ZMCC7sBWcFwj1B+g= X-Gm-Gg: AY/fxX7kT5+YAt1yjtLiHKF9cDfZnRSQjFpOJr8m14zJw7z+CQLTi4OzwZL8IKTMrYv Zv1+AOFq5h5O1w7FZVEkUwCQvype4dIUqYaxFGSKPbbCV54TPEQHSH8hA/hZX2S0MnVqq4TZ4wO iyrCxwRIfpyGq+h70ajmKdk/SD7JqHXxxZEghA/v1mTlh81DBjk+dFAkdyJvx1id/2qzgcdZ5Pt OBlQpRUVe1lqsekPkW8gl4IKoPGhUokroSPivHKhJnRbwn9Y7TBdpJoXTQxbzOmC9mNfkJjmG6Z ZcQQgWR7L58ACGpqnYaJGNn7G+DdBOVsC6S90ikARppsxjYGsK8HkVH6pjDwsQBiucF9Tsh/ZW2 rIVtzTDS4RMXkz77uNbOmnXZ86tZP7lfk0uSsD+pYASRZwTw7RL7WH1jvaV7GvWjek+3vXo5Mqu Su+3xIvKi/fIlcbMyfqaB0VsTzwqqrGPvzbaFMGnM3 X-Received: by 2002:a05:690c:c45a:b0:786:a967:5a8a with SMTP id 00721157ae682-78fb4058175mr286180327b3.51.1767114203284; Tue, 30 Dec 2025 09:03:23 -0800 (PST) X-Google-Smtp-Source: AGHT+IF/34RNRNajOkZI7QqvMxlKyynQoNzAVPCmp9wjJ2j5xJL9SGk8BXz3NC+Wb5EC2VBWiUTSJw== X-Received: by 2002:a05:690c:c45a:b0:786:a967:5a8a with SMTP id 00721157ae682-78fb4058175mr286180107b3.51.1767114202901; Tue, 30 Dec 2025 09:03:22 -0800 (PST) Received: from shalem.localdomain (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8037a5bdb9sm3776086266b.7.2025.12.30.09.03.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Dec 2025 09:03:22 -0800 (PST) From: Hans de Goede Date: Tue, 30 Dec 2025 18:03:06 +0100 Subject: [PATCH v5 09/14] media: mt9m114: Adjust IFP selections and source format when source format changes to/from RAW10 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: quoted-printable Message-Id: <20251230-mt9m114-atomisp-v5-9-763539e76094@oss.qualcomm.com> References: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> In-Reply-To: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Sakari Ailus Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Laurent Pinchart , Hans de Goede X-Mailer: b4 0.14.2 X-Proofpoint-GUID: q15gAS-GkkILV0knnLEAqk8nzASCvFwL X-Authority-Analysis: v=2.4 cv=HrV72kTS c=1 sm=1 tr=0 ts=695405dc cx=c_pps a=0mLRTIufkjop4KoA/9S1MA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=P1BnusSwAAAA:8 a=EUspDBNiAAAA:8 a=m-OQgdKteQAIafo4PngA:9 a=QEXdDO2ut3YA:10 a=WgItmB6HBUc_1uVUp3mg:22 a=D0XLA9XvdZm18NrgonBM:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjMwMDE1MyBTYWx0ZWRfX2gCpb5bP4qTc hu9zlqdw9X1QU6vGiA6J4A1YZsmx9z4zwecp5oXx+QTGiGAgPDpWIIA1ozaOpuLR6dGxdiu27+Y 0jhXcicsfPe44TyKTHniQ7DY1CmF7yd8yV6pg8IjHCmsXui39DD95n/0mEHx5qHiiGbLa9mZ+oV 4PGB74gQo8GW0gEK/EN3tM7e/MjMAE9cVw53Bi+uKR7TnT4ApWmrSptDl7TRzLbZTay/cNAHSKG vqguSH6VMlCYuvUOeles1ifsJ2gKpwSyFpw+HPSGQu0c7FqayWH+TWn25ks3qk/6FnEOLx1qXuL aVVlkQ2pEfdDB7irReKD7GijDeqDRp6yqtzo3o6sTFwffuTjbP+gyNNIsqfbAUs5/t2b1kMUAYi MZvKHtqLsHrTicvYfjGTC6Or8GAYIScbOx4VNAbn6M6gqKe2JHjhOy1hK6I//YhEkjb+gY9YyCB aYg3RHQEeG7g89CPW+Q== X-Proofpoint-ORIG-GUID: q15gAS-GkkILV0knnLEAqk8nzASCvFwL X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-30_02,2025-12-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 phishscore=0 adultscore=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 malwarescore=0 priorityscore=1501 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512300153 Changing the IFP source pad format to RAW10 means disabling the scaler, which means that the crop and compose rectangles must be reset to match the sink format size with no border. And when changing the source pad format back from RAW10 to another format which require demosaicing the crop and compose rectangles must be reset to the sink format size minus a 4 pixels border all around it. Also when changing the source pad format back from RAW10 to another format the colorspace, ycbcr_enc and quantization need to be updated too. Add a new mt9m114_ifp_update_sel_and_src_fmt() helper which resets all these taking the bordersize for the new source format into account and call this helper whenever the source pad format changes to/from RAW10. Reviewed-by: Laurent Pinchart Signed-off-by: Hans de Goede --- Changes in v4: - Address comments from Laurent about commit message and comment wording - Use simpler code to test when source pad format changes to/from RAW10 Changes in v3: - This is a new patch in v3 of this patch-set, which comes from splitting up "media: mt9m114: Fix scaler bypass mode" into multiple patches --- drivers/media/i2c/mt9m114.c | 53 ++++++++++++++++++++++++++++++++++++++++-= ---- 1 file changed, 48 insertions(+), 5 deletions(-) diff --git a/drivers/media/i2c/mt9m114.c b/drivers/media/i2c/mt9m114.c index 4529320ab920145dd7055eec87a9bcb52e91a54b..9ef237943a085e058c17c8ffe50= 636ca2e4d95c3 100644 --- a/drivers/media/i2c/mt9m114.c +++ b/drivers/media/i2c/mt9m114.c @@ -1840,6 +1840,41 @@ static int mt9m114_ifp_enum_frameintervals(struct v4= l2_subdev *sd, return 0; } =20 +/* + * Helper function to update IFP crop, compose rectangles and source format + * when the pixel border size changes, which requires resetting these. + */ +static void mt9m114_ifp_update_sel_and_src_fmt(struct v4l2_subdev_state *s= tate) +{ + struct v4l2_mbus_framefmt *src_format, *sink_format; + struct v4l2_rect *crop; + unsigned int border; + + sink_format =3D v4l2_subdev_state_get_format(state, 0); + src_format =3D v4l2_subdev_state_get_format(state, 1); + crop =3D v4l2_subdev_state_get_crop(state, 0); + border =3D mt9m114_ifp_get_border(state); + + crop->left =3D border; + crop->top =3D border; + crop->width =3D sink_format->width - 2 * border; + crop->height =3D sink_format->height - 2 * border; + *v4l2_subdev_state_get_compose(state, 0) =3D *crop; + + src_format->width =3D crop->width; + src_format->height =3D crop->height; + + if (src_format->code =3D=3D MEDIA_BUS_FMT_SGRBG10_1X10) { + src_format->colorspace =3D V4L2_COLORSPACE_RAW; + src_format->ycbcr_enc =3D V4L2_YCBCR_ENC_601; + src_format->quantization =3D V4L2_QUANTIZATION_FULL_RANGE; + } else { + src_format->colorspace =3D V4L2_COLORSPACE_SRGB; + src_format->ycbcr_enc =3D V4L2_YCBCR_ENC_DEFAULT; + src_format->quantization =3D V4L2_QUANTIZATION_DEFAULT; + } +} + static int mt9m114_ifp_set_fmt(struct v4l2_subdev *sd, struct v4l2_subdev_state *state, struct v4l2_subdev_format *fmt) @@ -1863,11 +1898,19 @@ static int mt9m114_ifp_set_fmt(struct v4l2_subdev *= sd, /* Only the media bus code can be changed on the source pad. */ info =3D mt9m114_format_info(sensor, 1, fmt->format.code); =20 - format->code =3D info->code; - - /* If the output format is RAW10, bypass the scaler. */ - if (format->code =3D=3D MEDIA_BUS_FMT_SGRBG10_1X10) - *format =3D *v4l2_subdev_state_get_format(state, 0); + /* + * If the output format changes from/to RAW10 then the crop + * rectangle needs to be adjusted to add / remove the 4 pixel + * border used for demosaicing. And these changes then need to + * be propagated to the compose rectangle and source format. + */ + if ((format->code =3D=3D MEDIA_BUS_FMT_SGRBG10_1X10) !=3D + (info->code =3D=3D MEDIA_BUS_FMT_SGRBG10_1X10)) { + format->code =3D info->code; + mt9m114_ifp_update_sel_and_src_fmt(state); + } else { + format->code =3D info->code; + } } =20 fmt->format =3D *format; --=20 2.52.0 From nobody Sun Feb 8 10:04:38 2026 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 774B928D8F1 for ; Tue, 30 Dec 2025 17:03:26 +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=1767114208; cv=none; b=idhHTdksqDWtQCHSWupsMlCt3BA/Ko8bkUwLH2hwUbCe+cJahQthKlZq1okh4YGFaBUDbLMIid0Yc7EHs+ETBKRe8MT/B3hfQMQnnyZ1Pqmp+l1bSMkAthVjBIGR1vg6QJ9pwNC7ObsO/TZBwgxqHQtRc16qawzAO+TOrqroSxQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767114208; c=relaxed/simple; bh=6usY9CmleW8bXuPB6wDztjSP8whC1JATtuo1A5bWtr8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=iOUNw1DidC8VjLTcYRJhnzymPj4/PKmjeCu4n5Gv/dCyzrLtOzB5uPECk0RrYfJw6n5uM0USoHkQwVHCt5kANJ/LqIiD6E74Dy17+Fme15KBcT9ZwMDjUc5vY5SEke3qqZG21OknrLd9dF+PKa9r5+9ov2aluRW1gsVY0dAa9BE= 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=dSQnCcK9; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=OfYqQFlu; 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="dSQnCcK9"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="OfYqQFlu" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BUDSnnr2546968 for ; Tue, 30 Dec 2025 17:03:25 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= JAHyzWd/rQ7jQWjpw0jxDJML05N6s5N2tFOai8WJLk8=; b=dSQnCcK9fosbFJxG ROSFgOm5yzOrD9F81D7hUNa2hrAUZ2gFNmFmHmtx0LgUHf4ZvKDksHu+akwunRly CL83peeHL6mF2EpW5oTc/wYMaU6XGvOdC4Vz7icd8iHP0CKeT8WHH/xM6VBYnbMc 6njw6iSfeKN6eKZ4VafM77L/s63lzUG1P+RrIQHmA/REkM7iouMo6GOPOcWlnV4F MGfhcheIYJCQCCMmh58SBblCQBPPxiCbddVa8o12h/MN6acTG2moiIXl80ExZ9N0 YEDqxc4hwHGDIvbxXYR2w/RbpEqmzGVWOFK/4RAl/vW//QFZaWubkBv0jbzaTQUV mI95IQ== Received: from mail-yw1-f197.google.com (mail-yw1-f197.google.com [209.85.128.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bc7399sav-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 30 Dec 2025 17:03:25 +0000 (GMT) Received: by mail-yw1-f197.google.com with SMTP id 00721157ae682-78d694a1eb2so99640517b3.0 for ; Tue, 30 Dec 2025 09:03:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767114204; x=1767719004; 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=JAHyzWd/rQ7jQWjpw0jxDJML05N6s5N2tFOai8WJLk8=; b=OfYqQFluOM2PAQW4eyxPtcVayIz+Vs9Qh9fASIwrcHZz7tpUXvMj1rc7c+NUr+qDzE dEImb1f/2cPpa1Zm0vys8hAno7P34kQ1uOQ5GK1deINPU54jq5RPwUq/DcDx8MA+bjSG usUCaiDvrY0t2yOciRUdh9Brx832jDX69RuXguryGkKgbZHmKJ9sWxsZoVDKdV9i8+0G I5HzWOnUIHGTiskaQERHPUtg1Xxo1TwpDHSf8BLIeqiKy5mTCmovma3FRYs2GNqc7rxl DqBu9Mn/Oj1KA8w/b5mCdOC9sjO+jxe0CmtN0w+SGOIa6twz8J97avy8qc+6D4kO0m0C kHaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767114204; x=1767719004; 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=JAHyzWd/rQ7jQWjpw0jxDJML05N6s5N2tFOai8WJLk8=; b=FIqrLAd9OfQeaRNgq1u5pqTkyh0NIccnQXUD+Jv+EN4ftvTu0qIdmcO1mUl+Z0SI1f 04Xr19uuP2mq2NXsR8WHdXE1gnjmpvchfW53XTS8BjmPUHafLgKR16olQFvBSjFnNOle qnQ+O5u2qAkPO4a/5wH/0I4F6WvnN4axzXs5DBtOyUNLYRaI1S9W8H1sQNMhpTHWkF9Z kd0dsgkxRRN1w9Ge5b0Gdz3RseGyI7TvIGu4rJ8MVgz+0Lpe/8e1dhSt9uEy1/wnt6l6 kC9YqfFRV2ZiI7LITPZ9WyVKagSpeaI2lVaT9aOuJiW8BHicL9r3IKqOYfJskz/8JfyZ /Z6A== X-Forwarded-Encrypted: i=1; AJvYcCVeWdTUBXUoZkBP9mckGUCZwBzCxWzZxRFU6e3429zDKxJUVa27kb7cEIL4T7gHrYLaFdfFdbmjZSqQin8=@vger.kernel.org X-Gm-Message-State: AOJu0YxtWhfXMusy3DWShGnZ4ssnwYuoJKxwwT74NAlJtvAYdhBIOwuh PjgzRTOW+CLmhMsWD49lHV//xTA0fQOWdu994R33F20X3bvy6CoasgA2qeMIsbiXBwCLVRZhX1o x2orz492OTKxd6MjPPLFcg5sDQ1/o8CaCsbIFd8po4t6fqKQECT11UhZYwy02LzL2llp6vvuush k= X-Gm-Gg: AY/fxX4ya2ZTreGktWhUEfFYkzavFMkmci5CLPTZ/AyqLoPZIIxQjDPnlDB8fHTIxFy jLzo4zKquZLQYyfj+zniOMlqbk944+Ynq4B7KLCHNtmGchA64bBu6yvhAYRwj2XnQvUwbbKi6jK LxrtoewYs7RcGwkIfJw9EELBrc3RIExevknxeWIDLZGtwmed7uHSOYfjtLfIN1S3NF/epbaa11r iT7AUNGqV4d42+rj21o4ckEHCRMkIxfaq2YGi4BP3gnsNTt5tGfBPNg59wE1NiaEQRK9x/QSgYL 0jUkJHhXZ6KH3GgFDJJvR1DP2fsFUS4JyWsc3rgmJCv+P/0+hfAiIKurcRVXspvKOFZRZMfBySF Ni5MmSucimErQLpz1fvcMl/e5nYvIm+U3nNA+d2MlXJtu4+5GqnO0DaBCjIHczJBfV/5vouDZCK TPg1LZArgyvjLfMgPyvfsbL0mr2MkGE5SvL24Oki3o X-Received: by 2002:a05:690c:6187:b0:786:62bb:f6f5 with SMTP id 00721157ae682-78fb3f36848mr615294007b3.17.1767114204290; Tue, 30 Dec 2025 09:03:24 -0800 (PST) X-Google-Smtp-Source: AGHT+IFBp1BH9D0/S/XfpnMAORfjkp0QXCfWa4tCbafDVaurAXf8BwCMOK+fggle/tnGTgKWHIwz0A== X-Received: by 2002:a05:690c:6187:b0:786:62bb:f6f5 with SMTP id 00721157ae682-78fb3f36848mr615293557b3.17.1767114203862; Tue, 30 Dec 2025 09:03:23 -0800 (PST) Received: from shalem.localdomain (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8037a5bdb9sm3776086266b.7.2025.12.30.09.03.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Dec 2025 09:03:23 -0800 (PST) From: Hans de Goede Date: Tue, 30 Dec 2025 18:03:07 +0100 Subject: [PATCH v5 10/14] media: mt9m114: Update source pad selection and format when sink pad format changes 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: quoted-printable Message-Id: <20251230-mt9m114-atomisp-v5-10-763539e76094@oss.qualcomm.com> References: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> In-Reply-To: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Sakari Ailus Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Laurent Pinchart , Hans de Goede X-Mailer: b4 0.14.2 X-Proofpoint-GUID: TDZ0x8VC0v2qopvujxkLlShoyGZBEtUU X-Authority-Analysis: v=2.4 cv=HrV72kTS c=1 sm=1 tr=0 ts=695405dd cx=c_pps a=0mLRTIufkjop4KoA/9S1MA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=P1BnusSwAAAA:8 a=EUspDBNiAAAA:8 a=4fCGRzqWpDqLba0_WKEA:9 a=QEXdDO2ut3YA:10 a=WgItmB6HBUc_1uVUp3mg:22 a=D0XLA9XvdZm18NrgonBM:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjMwMDE1MyBTYWx0ZWRfX22J5UNXF3a1A ju89saseuJvcXQ0iqxekO6gtA+6+QgWBgl6rOXP/49H+tg1xhmuFKmVS4rkjwPKu1JNrBjMLfYK csjZpGR2B5U+/gdROlMjD6LLAa+EVyUpXBxJDSpHMkYdFHvaw3WMbT3zW09eyqTAfGJZSf5uVJw 654g/VNTDT3yDbF6fB3TbXr8/i/j6t3Prf6MIXVlqSeI4839VbSeGEwstLxiB2BpALKhvRmWTqP Kls/zerMSmGDvLStpfCsigspNgPxD9labwV089cy+czW1IPRQKUWyrZxJ9t2s0veys600IlBhhD p9bni2UDxnKppNxN28Gt4fLk24fu6tsRrFfLX49k5xFJOQGqZ4LmXvIgQE/Oh4nqwQIPrxMUdEl BWee2PCH/Pem9SGKyf/4NsOzhhb3IQOc+QrXmHGug/MHfSc//cZchI9Q7jtL2Cu+SvFE6izdCqE X6s0Ki70zUQfKjIh/kg== X-Proofpoint-ORIG-GUID: TDZ0x8VC0v2qopvujxkLlShoyGZBEtUU X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-30_02,2025-12-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 phishscore=0 adultscore=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 malwarescore=0 priorityscore=1501 bulkscore=0 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512300153 Call mt9m114_ifp_update_sel_and_src_fmt() on sink pad format changes to propagate these downstream. This is necessary in 2 different scenarios: 1. When passing through RAW10 bypassing the scaler then any sink pad format changes must be propagated to the crop/compose selections and to the source pad format. 2. When the scaler is active, then the crop-rectangle cannot be bigger then the sink pad format minus a 4 pixel border all around. If the sink format change reduces the size then things also needs to be propagated downstream. Rather then adding extra code to check for these conditions, simply always propagate sink pad format changes downstream. Reviewed-by: Laurent Pinchart Signed-off-by: Hans de Goede --- Changes in v4: - Address comments from Laurent about commit message and comment wording --- drivers/media/i2c/mt9m114.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/media/i2c/mt9m114.c b/drivers/media/i2c/mt9m114.c index 9ef237943a085e058c17c8ffe50636ca2e4d95c3..d111f9e45d2d9c47de315d06ee8= a6adb28700146 100644 --- a/drivers/media/i2c/mt9m114.c +++ b/drivers/media/i2c/mt9m114.c @@ -1892,6 +1892,9 @@ static int mt9m114_ifp_set_fmt(struct v4l2_subdev *sd, format->height =3D clamp(ALIGN(fmt->format.height, 8), MT9M114_PIXEL_ARRAY_MIN_OUTPUT_HEIGHT, MT9M114_PIXEL_ARRAY_HEIGHT); + + /* Propagate changes downstream. */ + mt9m114_ifp_update_sel_and_src_fmt(state); } else { const struct mt9m114_format_info *info; =20 --=20 2.52.0 From nobody Sun Feb 8 10:04:38 2026 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 6971232BF2E for ; Tue, 30 Dec 2025 17:03:27 +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=1767114209; cv=none; b=q/t5Yi4S+/MVl9HSNBtrtZJ7a7ogjOCxWsGCLy/PtdnT53bh+EIsx+Ve+CE2TxaT+crnsVYYTKosKWYD1VC7lR72YtbAbeJ9k3v4edGJFFlsSKUaSb22SBwQNhfQqU1BWbdeNthqjMzgOtnSWAaEct7ZVCHSBn5iVWmKESy4zdQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767114209; c=relaxed/simple; bh=GAEYvp3W0KSl1TDifaa6L8tfxr38bL0Dcxr0BViSuq4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=VWgeHlefhSNqki6mz+K2X1PBRmIwZXbaKohMt8ya5dAGBbJ9IV4LOtSmKTQhkbBmeQ9CTGJUukzh/SBVkaFXyTe7KqVYhNPIQNckU4AjvUAK2RHgCxFybYVU5Z8nTs21t/49U5GeGEReJ7nDs/TfCJ+fXM3gaFMynsvIqs2920E= 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=gwr9UFQH; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=gn2USVno; 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="gwr9UFQH"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="gn2USVno" Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BUAFDNB2557810 for ; Tue, 30 Dec 2025 17:03:26 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= zOf0kuvuEBaHXAfQ+YC93H7I4ZGEiW36M69f0BMm6CU=; b=gwr9UFQHSpDv597F IgkmIyFxKeFIPjD+FfR1kA9bcGJs/dfj4NfrtuT8EE+2aZrzmue5ISA1UVWe6FqK Zbl7in06noFwbn9UWXDu1r1/mojSfxSp1Uk+ovd3TCvAcMeK5j9HyjRoJK0NQZdm Ef2Z6kfxj0cgSWC3s6bSIYhwRZPctQFIeMRX+vYT58hhl3qqvyM2uKETT3RIzx3b DBLzTVB5frycOpbuE8hlVRX//gemHKgrMxztG+I/T2fy9E5hO3+CyE8QUHZaJq5l 1/ltUntp56PR7v6OwK3Yh2qGbVRSte7+YXhw9qd0p6+mahFH24Bsw2UWsJ7aA3HH 77JtJQ== Received: from mail-yx1-f69.google.com (mail-yx1-f69.google.com [74.125.224.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bbqk1bsbg-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 30 Dec 2025 17:03:26 +0000 (GMT) Received: by mail-yx1-f69.google.com with SMTP id 956f58d0204a3-64680de9f05so10748564d50.3 for ; Tue, 30 Dec 2025 09:03:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767114206; x=1767719006; 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=zOf0kuvuEBaHXAfQ+YC93H7I4ZGEiW36M69f0BMm6CU=; b=gn2USVnoSKoSdCH2AECuYmD5Rt9zZo3D6502DPqF9B16K2OeFcRwdzVWWJMH/OPPa3 gOTPdS5msydWCfABI5GuYrSHgemhloddEOfxQku9rZhLPDPBwOh0CJnwRiQBsWVvti1u kPx8uWBibDzxflgV1LefUg9vczR9uNl+I6XTw5vpZ3kl4BLeGjN+tfZh4++Csz8/wqY+ 6iAVeAfrAN8STXFk2WEhn00RN8iQ09bxb8/nCxoNGTQskp5Pxic3HnrPyWGGGrtzK/vT dmnIVJOe8N75/xwNvOO3aGgILWoHLXGAht4TbF5CUuJSZAQqsy6HZGd+oBU0zDxV+Z1C 7LwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767114206; x=1767719006; 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=zOf0kuvuEBaHXAfQ+YC93H7I4ZGEiW36M69f0BMm6CU=; b=bo1XOENNChI5cxJxJ/dT3s/ArdtsxrNBHd9b+QJsKdJAqHlez9/TJHJeoL89k5eSUs A8zjPuTV2Rhfxo/OnVP0CiKYMm3EAmStxLsZem8UBuBfZLHTsqnVTehI2/ctbv77eLW/ j9Y3AKVtHW6HUsAb8bekwsc7PivKKb3dismDGtzeUyCvvPbYSUvLcOIVC5tcdrbQnjkT rO7TXnKAGX6kdHwLmXKz59Mv3G66MffnTTQFRkT3NFF7ofuN7h3B+PPcvlPD4g87AW8s 287o8R1wkeHkHGzV/EVZ9siwwUCxxlHiHLnBu44LcTq/1v4fBAz1y/l8tf52c46fKBnD Io8w== X-Forwarded-Encrypted: i=1; AJvYcCUmOKXqmKGVmkUMJcSlpHoMilcZiWXor6Qhrn7AZ3vAw8+Tiyhr/k9ga0OHZ6xMEQbQVPuxQHcZ79N+Cjg=@vger.kernel.org X-Gm-Message-State: AOJu0YxVkxcLUa1bLjIpbyUar5vym+CZH3LFTjMAUx+JeT+/HPmeyfYW 5fljS0zWT7SO35JUb+Z89W2XXaf94EShcfkHZIjJbxss8dpgaRRw09Ny1L1BcQ1Qbd69rJ7dFR9 WVtdMTZCx4n2T+5LnhQo8VdTRwuiQjepTRPM0YXy+pnOmMmti5cXatD7w37jfqKxchlI= X-Gm-Gg: AY/fxX5S47M+BvjJhM/0uqg2lfTIW9PAySQnEcpgxikljjOd7hJSgIvG1XEui+MTBik JzzzBe7pu9nxcBSlBUqo0DzYSpFSmb9fxUdIJzPXtZGxm3hCiRQqWVKh7+AYkFMzSQyDfjrmSjV LKO6K4CMEBQgzT1BRlNMyTQHGdU+H/z3NDJmRoh4bj2SG+xwVHcy2csq3SQAZGjfPTlEGiuTmaB +/B/scyvZhYm/jifOgaBG/Fu2/ehg7ABweyxtZL/8TNnWlIwtN4LVgCOEO6cmw0KpF0pQlcdJzS cLWxAG/E0mshh5HEDFXuwGaB5rmLFBjFjRtgj1tw79/eOxWGsgYl+5YclrrNbUnAfTU3XhXZUpO wxxxRFxiGFwdAVmpA/r84JDI0wyiyclR+noC/CzDj0xYzZVea6kV9QW23ySIUoYGAsYjwiJNQiP u6Lc2h4BW6yiOLR0WVL277oKNmAULofW66ELFN3qgj X-Received: by 2002:a05:690e:2101:b0:641:f5bc:69a6 with SMTP id 956f58d0204a3-6466a8d2f31mr18696293d50.84.1767114205454; Tue, 30 Dec 2025 09:03:25 -0800 (PST) X-Google-Smtp-Source: AGHT+IHYeOD07as/XBeCYJwqhLI3N605Dzx8wPU8dDwklpMUKRy+jTAZHIwXbzua4HPo3h3az0orUQ== X-Received: by 2002:a05:690e:2101:b0:641:f5bc:69a6 with SMTP id 956f58d0204a3-6466a8d2f31mr18696271d50.84.1767114204901; Tue, 30 Dec 2025 09:03:24 -0800 (PST) Received: from shalem.localdomain (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8037a5bdb9sm3776086266b.7.2025.12.30.09.03.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Dec 2025 09:03:24 -0800 (PST) From: Hans de Goede Date: Tue, 30 Dec 2025 18:03:08 +0100 Subject: [PATCH v5 11/14] media: mt9m114: Don't allow changing the IFP crop/compose selections when bypassing the scaler 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: quoted-printable Message-Id: <20251230-mt9m114-atomisp-v5-11-763539e76094@oss.qualcomm.com> References: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> In-Reply-To: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Sakari Ailus Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Laurent Pinchart , Hans de Goede X-Mailer: b4 0.14.2 X-Proofpoint-ORIG-GUID: ORsR8OhHVcC9QXqs2wuvvqPER6KOw7qW X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjMwMDE1MyBTYWx0ZWRfXwYAuwztcYRzC nTgT6eYK7+PGALcXDdxkdu7LWNxPiwDgy+PSyFrIVL+sgZG5fJ1oGr/IVP3dGGCKy+fEmNmD7EV oAcp4TH1bMw7vBKslmsx4u8THji5YDO125Maipry2jHCJVDJjpijJkWpIlDjSTOnrgYyKEPXCye 4EvFCbUlSUBlmYtpN/UKoTLCRR72yOqg4o5EVg/p6S8fSnKbGCU2fEHPoZLTETaETtxUfm63O77 A3tANtrDK7MvKNqL/0eNu/QhmdIpngQ/1dYHXPwUzV0VUbVq6iQtIB7R7VOMPiZSeKgzpav7hZ7 wyRepLrV7KT08nKtg446wmys2TdW8WIFoRaSE5/yf+I4+P7f89DP/Zi9xvSqkt6KV94Ax3aaejC wlntQqTLuJZWOMYB0Y9bqUyDBKU56HwF46We0wElFhs7zxWjHMCfqh/S2O4kThtKaYZ9DuC2eNE g/xtX8wpYj7cR/m1/7A== X-Authority-Analysis: v=2.4 cv=Tf6bdBQh c=1 sm=1 tr=0 ts=695405de cx=c_pps a=J+5FMm3BkXb42VdG8aMU9w==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=P1BnusSwAAAA:8 a=EUspDBNiAAAA:8 a=FI8FN61yIa-P2m5uk4AA:9 a=QEXdDO2ut3YA:10 a=Epx66wHExT0cjJnnR-oj:22 a=D0XLA9XvdZm18NrgonBM:22 X-Proofpoint-GUID: ORsR8OhHVcC9QXqs2wuvvqPER6KOw7qW X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-30_02,2025-12-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 clxscore=1015 impostorscore=0 suspectscore=0 malwarescore=0 spamscore=0 lowpriorityscore=0 phishscore=0 priorityscore=1501 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512300153 The scaler is bypassed when the ISP source/output pad's pixel-format is set to MEDIA_BUS_FMT_SGRBG10_1X10. Don't allow changing the IFP crop and/or compose selections when in this mode. Instead of returning -EINVAL simply return the current (noop) crop and compose rectangles. Reviewed-by: Laurent Pinchart Signed-off-by: Hans de Goede --- Changes in v4: - Move crop =3D v4l2_subdev_state_get_crop(state, 0); up a couple of lines to avoid having to call it twice Changes in v3: - This is a new patch in v3 of this patch-set, which comes from splitting up "media: mt9m114: Fix scaler bypass mode" into multiple patches - Add src_format local variable --- drivers/media/i2c/mt9m114.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/drivers/media/i2c/mt9m114.c b/drivers/media/i2c/mt9m114.c index d111f9e45d2d9c47de315d06ee8a6adb28700146..5e0fbc34921023e1e7a69ec3d09= 8f936eba93ebb 100644 --- a/drivers/media/i2c/mt9m114.c +++ b/drivers/media/i2c/mt9m114.c @@ -1984,7 +1984,7 @@ static int mt9m114_ifp_set_selection(struct v4l2_subd= ev *sd, struct v4l2_subdev_state *state, struct v4l2_subdev_selection *sel) { - struct v4l2_mbus_framefmt *format; + struct v4l2_mbus_framefmt *format, *src_format; struct v4l2_rect *crop; struct v4l2_rect *compose; unsigned int border; @@ -1997,8 +1997,16 @@ static int mt9m114_ifp_set_selection(struct v4l2_sub= dev *sd, if (sel->pad !=3D 0) return -EINVAL; =20 - format =3D v4l2_subdev_state_get_format(state, 0); crop =3D v4l2_subdev_state_get_crop(state, 0); + + /* Crop and compose cannot be changed when bypassing the scaler. */ + src_format =3D v4l2_subdev_state_get_format(state, 1); + if (src_format->code =3D=3D MEDIA_BUS_FMT_SGRBG10_1X10) { + sel->r =3D *crop; + return 0; + } + + format =3D v4l2_subdev_state_get_format(state, 0); compose =3D v4l2_subdev_state_get_compose(state, 0); =20 if (sel->target =3D=3D V4L2_SEL_TGT_CROP) { @@ -2043,9 +2051,8 @@ static int mt9m114_ifp_set_selection(struct v4l2_subd= ev *sd, } =20 /* Propagate the compose rectangle to the source format. */ - format =3D v4l2_subdev_state_get_format(state, 1); - format->width =3D compose->width; - format->height =3D compose->height; + src_format->width =3D compose->width; + src_format->height =3D compose->height; =20 return 0; } --=20 2.52.0 From nobody Sun Feb 8 10:04:38 2026 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 754BA32FA3C for ; Tue, 30 Dec 2025 17:03:28 +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=1767114210; cv=none; b=W9p2nC/og4wSMGqcYdS9k4SWEDXAJyxWuSBvFUG2U7ZreGts1T3mU0yFrUK5mFWB52Qp7h+GIUdONd/VBND+c7KxQbG7dj4uHq767PzFnvNv1SAfiODbrMHpIloPymX2tBjuXkToXGqnr0gJIB1VAwHIkKmWLqLpUdn+K5w6eTo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767114210; c=relaxed/simple; bh=kA1N2hOuLQrj/EaUF95l88PLLc5P0t4Cl5tmXihS2sI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=P+J7zOudIcBkqobDlV/FZvT/tnI8ViVDh+XtQt+tndUUbl6pDGmB68O4BIMvVtnX4VqvlgsAS6pGG3sWtZTmCqSf3S7RpEmu8HcQ4cqUtVi7wwoU84yIWL29gHy2T3x50YxAdio6NnEmna4fwi4GL+iF17EmtxMlQmZqsb7WQ9o= 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=o82qzU75; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=MkehyYhf; 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="o82qzU75"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="MkehyYhf" 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 5BUEKkPP3539728 for ; Tue, 30 Dec 2025 17:03:27 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= gf2M/z0Ttme8n6CVO3CwrC/GTtTad5tzePlYQsx+38Y=; b=o82qzU75gXhbRpdG wcQM/eamZdmrpLq+RwBjPP2zyIpvCxOKN/MlKo+ZhAhb1ifztPvyjj4DMbF+bY9f OnQb17jWCf0/jTtPtNU+dXDOtq9PAOCf0/G/2MbMEAjwtAXEBvH9c7KrFInM43fZ ePSX0gKRZ3NMc7KYAbUSXlzpNu5o7oTRBuC4sIKXgiv8RRMkHph3e32jJMiPZO9i yHxi18aighDZxfZqG+AXPdRpt+PzRiXkmHuxBt4CNroh/3FJggZ5hHXNr6XOyjtZ gK4NLB3rnJtlphbaZkItVDWtDXF0hBLuMMQuqFsmeevbqDjb3m1MqTNGVCsPjaMP ksuXkw== Received: from mail-yw1-f199.google.com (mail-yw1-f199.google.com [209.85.128.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bc88yhna5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 30 Dec 2025 17:03:27 +0000 (GMT) Received: by mail-yw1-f199.google.com with SMTP id 00721157ae682-78fbae83badso122569647b3.1 for ; Tue, 30 Dec 2025 09:03:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767114206; x=1767719006; 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=gf2M/z0Ttme8n6CVO3CwrC/GTtTad5tzePlYQsx+38Y=; b=MkehyYhfG7lG4CJQC4dfTl9z7rVX5cHNsECVnTvj7W+inigxXZXObY2rwXs9tAICQE OyDyoV50dO5xwYKvR0vCMqzkBGTyu72E9TAnoGzPmYvK0aRLiMb8WeGzSKUVuqu1gdmz UlNq9LPfVdc13K+gqzvkNhdXFejYB1tPE9MxYH/5UHDAz0ZsU0mWxU7V5wX0UhXYAWjo ca+gvFa+MKNuYFSMgr9x554xxyzB1+Gyr5hwT9MacQIJlm+lRtgTJshkm/EhjUXzQQij n/7lGY6TeIl/4wB33ZLFL/kkWxCNeIpb//GdbDcoyOn27b/mG+yxEBasAJB2ytAMnpeO HVtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767114206; x=1767719006; 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=gf2M/z0Ttme8n6CVO3CwrC/GTtTad5tzePlYQsx+38Y=; b=inpdY3coFr95vNwPQrVNb555J8DMyHaU6X3UL+59CjQ0K7w62mSamtLJ6MCNQrUDtF xxGGkhKFWcpDKe873/rDYfbLkpUW8H2p3gz1JgUYfKQ5Z8un5G4xdPQMlxmIIgodXJdJ vkpR4ChO8YONdFQ+cv+lUoz2Bh64BXFxfh+qRbRcG2PflUpkDRwqbR4bMGTNFEjxw3IA ojzipb4IAdDvImcWRN1CLbIWjvoNupuyc7glypAv8zbT77HBReJRXTw3smNbD+ntiNnw 4roc3NQw/vdNeiVIgVy/6RhBHzu/4XMrmGcY0WEkWP1FFY14P/iJYwQxmeNUfex3qLtK fNkw== X-Forwarded-Encrypted: i=1; AJvYcCUATViqHkoe7iPKBODSe6Akv9VBIVuu8Tg/DHTPio/yVEWXEUc7j+0qYheJsPG3EMrPUABLvqKCMRDuB0U=@vger.kernel.org X-Gm-Message-State: AOJu0YyheR2PwfEIYvcnf4pXCK2pyvskUKWoWojkPIQWqR8OyI7Y74+M C6NfgTQnDpheLz5oSGIy8ODbjxW2zZVLWbWvi7YX89aLCvdNjGfWk5sTJcyB8eE0Vxcb3D6pdJN bIbd6rMqWFTbizuh5ZkHCYTuKoUlaQX4fR+DsN2JI6X7PRKc7AO7NQnbQ9plPA5gzTkcnpBv5zB Y= X-Gm-Gg: AY/fxX5DcgV9Slo1FSLiDw9sbZUkpWOoBbluHWWWpH/TXjz48TrIUsr4URYhA+aiFSc Oxny07VTkuHwbPzWLgb/zn5XGaDgvfukBzOgsOl4SV+7gxExIxLONJkzwJAnAn9/tIwrDVyfWR/ GpUQwm6OrWalrwko0xDT87zkZPPRQueeHIUN7VxhQ8p//mTDmAmQGxozINorjZSIPLkJ0yVeg0x PiakEoHVbtr6O74/mUN+btIj96wcKKGdskPtOsvmIr74zdIVtSq/Cu/Bnc9+KphsdSfZDJj5Yzq gpVkl6WH1W1FIYJvWZOCYsJuilh4knKMJ/qMpZetQKJS+YmqAu9MLTsgawcejpcR01W0dbHxd1/ RuJtfijzgIXQSJQt1zmiY6NYSfiqj/sfviL9pdBNQoA9CAExRwh3zYVi9zH2y+vg5bSZZ0ASGJH 5NrutDUbqOE2blG0LiHzuigldvXZtj2KSTWLSsYQfZ X-Received: by 2002:a53:bf89:0:b0:644:457e:a58a with SMTP id 956f58d0204a3-6466a8443f6mr21716457d50.7.1767114206525; Tue, 30 Dec 2025 09:03:26 -0800 (PST) X-Google-Smtp-Source: AGHT+IEiL4SgoIsztZDtlVQfOtybYtaReJL9rnPrj4hpvD2o4RhoYZuFv0cTAfrROPJhzn/Ejkqnxw== X-Received: by 2002:a53:bf89:0:b0:644:457e:a58a with SMTP id 956f58d0204a3-6466a8443f6mr21716426d50.7.1767114205935; Tue, 30 Dec 2025 09:03:25 -0800 (PST) Received: from shalem.localdomain (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8037a5bdb9sm3776086266b.7.2025.12.30.09.03.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Dec 2025 09:03:25 -0800 (PST) From: Hans de Goede Date: Tue, 30 Dec 2025 18:03:09 +0100 Subject: [PATCH v5 12/14] media: mt9m114: Drop start-, stop-streaming sequence from initialize 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: quoted-printable Message-Id: <20251230-mt9m114-atomisp-v5-12-763539e76094@oss.qualcomm.com> References: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> In-Reply-To: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Sakari Ailus Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Laurent Pinchart , Hans de Goede X-Mailer: b4 0.14.2 X-Authority-Analysis: v=2.4 cv=POcCOPqC c=1 sm=1 tr=0 ts=695405df cx=c_pps a=72HoHk1woDtn7btP4rdmlg==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=P1BnusSwAAAA:8 a=EUspDBNiAAAA:8 a=hSCjdWxdfPpt4Nx0-uUA:9 a=QEXdDO2ut3YA:10 a=kA6IBgd4cpdPkAWqgNAz:22 a=D0XLA9XvdZm18NrgonBM:22 X-Proofpoint-ORIG-GUID: ubPF9gJuUUc5yPfHLkA8qPlToHVsKxF1 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjMwMDE1MyBTYWx0ZWRfX2tkT13LgnkVh AT9YEOAxPmHOEa6sGgFiLcO6UAZuA2hgwFdccEZKt7ZBY/L7MtI9G20B/gVMmtnpZVlqIgiMgGZ fgwB7H9RuYMPa6qZKiYbGPlDqoB2kN/71o+KSHTFp9fNzA+aS1Blmod7fz8jg8Aco54UunSUyKn +67mSP2FxPmEl9LFpeiiKeg9tMlt98zWLR5O3ADGL4pzbLsosjrj4zl7MlPSWZ4jgHgIEkaIKDt ZT9S/UMtg+2oqqfO6HQPvtTFrSzcScuVfMdSMm045IJx5FmdADykNxVshzWaA8+LelvloTRPqf1 151K/jpLQt91P4jYQX55iyiQeiKI8PzdEJlqBhvRD2qyFPSp8hzE2WnCFcDwd5BN8uhQXSYVsG1 YBK3Ife9gj7K+HIHbysIfCkUuGqhLsXjASZ6VF1Kt1SY4PewdLNoyMolQJL7VcuWsMjC8+SAsuZ 3lox2BRoN0EIlu2YQ8A== X-Proofpoint-GUID: ubPF9gJuUUc5yPfHLkA8qPlToHVsKxF1 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-30_02,2025-12-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 lowpriorityscore=0 malwarescore=0 adultscore=0 bulkscore=0 phishscore=0 clxscore=1015 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512300153 Drop the start-, stop-streaming sequence from initialize. When streaming is started with a runtime-suspended sensor, mt9m114_start_streaming() will runtime-resume the sensor which calls mt9m114_initialize() immediately followed by calling mt9m114_set_state(ENTER_CONFIG_CHANGE). This results in the following state changes in quick succession: mt9m114_set_state(ENTER_CONFIG_CHANGE) -> transitions to STREAMING mt9m114_set_state(ENTER_SUSPEND) -> transitions to SUSPENDED mt9m114_set_state(ENTER_CONFIG_CHANGE) -> transitions to STREAMING these quick state changes confuses the CSI receiver on atomisp devices causing streaming to not work. Drop the state changes from mt9m114_initialize() and move the mt9m114_initialize() call to mt9m114_start_streaming() so that only a single mt9m114_set_state(ENTER_CONFIG_CHANGE) call is made when streaming is started with a runtime-suspend sensor. Reviewed-by: Laurent Pinchart Signed-off-by: Hans de Goede --- Changes in v5: - Drop "and identify it " from comment in probe() Changes in v4: - Move the mt9m114_initialize() call to mt9m114_start_streaming() and drop the config_change_pending flag --- drivers/media/i2c/mt9m114.c | 33 +++++++-------------------------- 1 file changed, 7 insertions(+), 26 deletions(-) diff --git a/drivers/media/i2c/mt9m114.c b/drivers/media/i2c/mt9m114.c index 5e0fbc34921023e1e7a69ec3d098f936eba93ebb..18fcf1a105a4268a501f517a155= f12def0753929 100644 --- a/drivers/media/i2c/mt9m114.c +++ b/drivers/media/i2c/mt9m114.c @@ -789,14 +789,6 @@ static int mt9m114_initialize(struct mt9m114 *sensor) if (ret < 0) return ret; =20 - ret =3D mt9m114_set_state(sensor, MT9M114_SYS_STATE_ENTER_CONFIG_CHANGE); - if (ret < 0) - return ret; - - ret =3D mt9m114_set_state(sensor, MT9M114_SYS_STATE_ENTER_SUSPEND); - if (ret < 0) - return ret; - return 0; } =20 @@ -967,6 +959,10 @@ static int mt9m114_start_streaming(struct mt9m114 *sen= sor, if (ret) return ret; =20 + ret =3D mt9m114_initialize(sensor); + if (ret) + goto error; + ret =3D mt9m114_configure_ifp(sensor, ifp_state); if (ret) goto error; @@ -2318,19 +2314,8 @@ static int __maybe_unused mt9m114_runtime_resume(str= uct device *dev) { struct v4l2_subdev *sd =3D dev_get_drvdata(dev); struct mt9m114 *sensor =3D ifp_to_mt9m114(sd); - int ret; =20 - ret =3D mt9m114_power_on(sensor); - if (ret) - return ret; - - ret =3D mt9m114_initialize(sensor); - if (ret) { - mt9m114_power_off(sensor); - return ret; - } - - return 0; + return mt9m114_power_on(sensor); } =20 static int __maybe_unused mt9m114_runtime_suspend(struct device *dev) @@ -2574,8 +2559,8 @@ static int mt9m114_probe(struct i2c_client *client) /* * Identify the sensor. The driver supports runtime PM, but needs to * work when runtime PM is disabled in the kernel. To that end, power - * the sensor on manually here, and initialize it after identification - * to reach the same state as if resumed through runtime PM. + * the sensor on manually here to reach the same state as if resumed + * through runtime PM. */ ret =3D mt9m114_power_on(sensor); if (ret < 0) { @@ -2587,10 +2572,6 @@ static int mt9m114_probe(struct i2c_client *client) if (ret < 0) goto error_power_off; =20 - ret =3D mt9m114_initialize(sensor); - if (ret < 0) - goto error_power_off; - /* * Enable runtime PM with autosuspend. As the device has been powered * manually, mark it as active, and increase the usage count without --=20 2.52.0 From nobody Sun Feb 8 10:04:38 2026 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 42548330641 for ; Tue, 30 Dec 2025 17:03:29 +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=1767114211; cv=none; b=MWCZdc/taIci2l+kh9EWbP8a93zMzqwkK7jr4962ToMcd6rWiWEfBP1KzUCjqIopANWto4/YIl/pf/mz1Sw9mEuv1JYs8+hEzIBvaqOecvfCD//yIAuk3uWOKryI7iMSOWRI9ePV5wTxXxxmctvehuwpSh9d+mMSJIO3RRhz8I0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767114211; c=relaxed/simple; bh=VA0nUzj3f4RFSQ22T1Jzu/K6QAu2QU6LIG4Gj9MryQQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TzaRwwlmuCFV/oGaGF8ujOGlHR/UG32NweLujSLsmMHkN8JhumJqpcDKmGNILpzDf0epQiqV2H/HJK8+mgofmfFR71P6zTgBsiq5r0haPRM4I1AkK4QfKK9pCW2xf1feYyHxxJt4dsZ6F6TAGxuclc1fE3PF6lRFMaY0i0JCn3M= 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=kbQDM4iG; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=QKsSEHZR; 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="kbQDM4iG"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="QKsSEHZR" 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 5BUEkBXu3539777 for ; Tue, 30 Dec 2025 17:03:28 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= 5PUqkNeoyZsyllIXj51Z9AXHTnp8eKBjR96p3ukD7pY=; b=kbQDM4iGyuLFwO27 oIOnfYzUvqwVUgnJ2VZ/atldMKTdWrCboVCQ5Nz8DiXsifVd3c2BRK77/olLDyaV OAEOUhjuGP3fyfylaprbpr+jMcOE2Fa2vv8+vkVnz6Olh68Mmkkdm3dtUzc1xQkF MT6n9RO/EWjqTls0c62U9QmghemeKVdLZbs0bvjWTt9jImDwWw9B9jjtbhWPBiIH rYZ1wdZyTw8JybrAZd34pnjIDzqRG9b2XIDBE+BLcnldp9H92u0VQPU8qchvnyYf nU99luD+PqVzuKFESpszIA1Sc60VkwX5XRUVKE10x3KqenmCIaEyoR/iujgqUWJO Vb40zQ== Received: from mail-yw1-f198.google.com (mail-yw1-f198.google.com [209.85.128.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bc88yhna7-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 30 Dec 2025 17:03:28 +0000 (GMT) Received: by mail-yw1-f198.google.com with SMTP id 00721157ae682-78e602d09a7so99056457b3.3 for ; Tue, 30 Dec 2025 09:03:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767114208; x=1767719008; 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=5PUqkNeoyZsyllIXj51Z9AXHTnp8eKBjR96p3ukD7pY=; b=QKsSEHZRjhfsEMdgAGhLE00zXXKX6G2l2WQcf9d2ndMWMTx6l8+vaPZrGrslAJbNax 270bnVn1YK1N/SYgw9Ja7qHmw6Xw3ZDsuOTfPj6LQyBQuawV3uRrBpmVUyNexOyk4lL1 5CN4bajHodtIIS7/dAXxCseHIvWE7gyjBuLogxyLl9zUIPOuu8bMXfXd+8TSC3JqmPD7 PTJbSEu3Ry5uXZlpnPP+6u7olbbAZCY0mX2652KjiVZWwV34Bi2l0L9KiAxv8AgC9nyR XE4o8LtZOionOgOpF1JXeyQ9f21lF2g7wzCMrgkzG/pV5vS3WkZtg7WSfSnpMTt0t40X fB8g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767114208; x=1767719008; 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=5PUqkNeoyZsyllIXj51Z9AXHTnp8eKBjR96p3ukD7pY=; b=dfBJCXEOcISPPTLXxju1Lv+/WV83XPAFGmGgBJ2S4IavawSUBwa1d5ttXk5kR/B1yP b8gWXYax6MqOPqJkZa6qcXg48zW+lRz+d+bDWLfjt7vYG2yk+oligp3NCslEX5DGzftf zgjr1xCzGrEEaGUi5T2CEzhvRhilEjERk6IIL7gVG3HUUpyx30h1lLzSk4t+Iv048cwQ IW5T4Z+ojHRhvgk72+8rqCQckclNLJK5EYZtNYU31xPHohyOn6/vi6+b1zWL0ndaHFDR IWmsjGteLrA72t+FFT73hZ58TPShRIymVRDp8N00qT/gtEICrT41IRPzDcc6vLPTyZoT svYQ== X-Forwarded-Encrypted: i=1; AJvYcCVFO1yFl6FWc19LjihWbXqgGHf1/JlL8Hw/RHu6yNAHlnOkRSYfqFgKQ5XzHG46dnj0qXqWnO2z4sfJ+fE=@vger.kernel.org X-Gm-Message-State: AOJu0YwVGsKT36GQv2Z6f27lMcRk3vpfbJL0o18q9xocf+IhL4ahJAMc IkXrsLzOdJTWRNXUbSk0nkbpmxD7n7VERhLQXOo25v4A7AIXKGtaZlzJmSlTeV9hoi9+kAMExyW fQazFbv8oH3/U7VOuQSukoe9s6zja0vOZD6b759/SiIfq8g7CZrFuQUrf+kmLCX8bM24= X-Gm-Gg: AY/fxX5+7nKhJa975XZ5Qk/ij6htzZFQjSh0Tmh6pZMAD18I38qA6evXJNADAN3wpzN VSqYBCwzS/Mk632cPraEv22VfEx4e0ukkiahILfNZH6yeceqJQATzRn/Fvuxa0YqisCdbp3GX4m xBRCz35L/q8hYQ7WsJxJN73tTZYt5er3kDpUT+B1m+1RWeNxXIlZvw4/zwjtKBtOl8amKtgMwtG A+M9TacdYTtHkSUUz8YiDsoPjew1ABMeIFFC0zKmD6tNR5jEnbC0yoO/AQUTsUsVBTZ1WfYmZ1s VtIl/Tb+Eg5os42ec91VDiX+Qr/3PEEVw1jg236PGQ5k34L889ryNP/hz5S6uyeFyme+dxVCn+0 460IxiWgKKiR8RQae/k2BMlm+x/tEufuXSDyTPiUnjktJVxAMjqqGsILBo5I9WV4ytXoeHss7s9 ol9kNdrPWcJQs3tpE17c7m57by7GBo4O9vftXJE1Dh X-Received: by 2002:a05:690e:1486:b0:63f:ba88:e8ee with SMTP id 956f58d0204a3-6466a85a863mr27726567d50.21.1767114207635; Tue, 30 Dec 2025 09:03:27 -0800 (PST) X-Google-Smtp-Source: AGHT+IGvH67x7N9VqfWTIkbVzkjlKI4q8M6OsJrMDLumQlRZCmpGzL/vpyLEDXjwwUVbQJGk4/yKMA== X-Received: by 2002:a05:690e:1486:b0:63f:ba88:e8ee with SMTP id 956f58d0204a3-6466a85a863mr27726528d50.21.1767114206965; Tue, 30 Dec 2025 09:03:26 -0800 (PST) Received: from shalem.localdomain (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8037a5bdb9sm3776086266b.7.2025.12.30.09.03.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Dec 2025 09:03:26 -0800 (PST) From: Hans de Goede Date: Tue, 30 Dec 2025 18:03:10 +0100 Subject: [PATCH v5 13/14] media: mt9m114: Return -EPROBE_DEFER if no endpoint is found 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: quoted-printable Message-Id: <20251230-mt9m114-atomisp-v5-13-763539e76094@oss.qualcomm.com> References: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> In-Reply-To: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Sakari Ailus Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Laurent Pinchart , Hans de Goede X-Mailer: b4 0.14.2 X-Authority-Analysis: v=2.4 cv=POcCOPqC c=1 sm=1 tr=0 ts=695405e0 cx=c_pps a=g1v0Z557R90hA0UpD/5Yag==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=P1BnusSwAAAA:8 a=EUspDBNiAAAA:8 a=tX04M20y6pLIItW2OsUA:9 a=QEXdDO2ut3YA:10 a=MFSWADHSvvjO3QEy5MdX:22 a=D0XLA9XvdZm18NrgonBM:22 X-Proofpoint-ORIG-GUID: zcFX7aKwmIwuB2tm-sF8eDbZy9UIy7Lx X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjMwMDE1MyBTYWx0ZWRfXyz7n/jWXhfXV oSIkmnbkM97W+9EyWpmqX/IwoZ//yI2HZTSr23Zz76LJCc0d2M18sYSKTtldzMjMt3xXb0XW2XT PijzXYX7MYnq0A3IRar1oXItitYQ0b7R9AiW3WXwjuKThzLB1qG8TJtBqKH2OcYJeA3kgwNIlRD 09yUqnB9y2rhOPrkLwQR14lnku7fPtYY9aT46/gM4ESY6rYJB3kjg8MHLoXyo3eT7/WOqmQ31x/ hV/+cVTUbm5tiF0Dg1l/Q26OZe8L6rfn/i3dN4vWtpDYt3LeQuq7M+lv+h2Iuazb18h7xP2VaGu d7SLEfCUFX30ntEpmX7LJKiimREA9kPwbWjFr9RvDSbX7pKZP6T7ma2xdbspTgLht+AvXjYEyiJ RsRk1+uKtTfFjKDCNfcIK6Uz9Ox9OHWawdi24VhQck71VnMvY5XsbexYXfho7FgNsp2yCx0N+qp 98D2whrJsC2rt0QwxQg== X-Proofpoint-GUID: zcFX7aKwmIwuB2tm-sF8eDbZy9UIy7Lx X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-30_02,2025-12-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 lowpriorityscore=0 malwarescore=0 adultscore=0 bulkscore=0 phishscore=0 clxscore=1015 priorityscore=1501 spamscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512300153 With IPU# bridges, endpoints may only be created when the IPU bridge is initialized. This may happen after the sensor driver's first probe(). Reviewed-by: Laurent Pinchart Signed-off-by: Hans de Goede --- Changes in v4: - Update comment about why EPROBE_DEFER handling is necessary --- drivers/media/i2c/mt9m114.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/media/i2c/mt9m114.c b/drivers/media/i2c/mt9m114.c index 18fcf1a105a4268a501f517a155f12def0753929..9712d61ab9512f3b8ff31423afb= 81b61bc3bdaef 100644 --- a/drivers/media/i2c/mt9m114.c +++ b/drivers/media/i2c/mt9m114.c @@ -2460,11 +2460,17 @@ static int mt9m114_parse_dt(struct mt9m114 *sensor) struct fwnode_handle *ep; int ret; =20 + /* + * On ACPI systems the fwnode graph can be initialized by a bridge + * driver, which may not have probed yet. Wait for this. + * + * TODO: Return an error once bridge driver code will have moved + * to the ACPI core. + */ ep =3D fwnode_graph_get_next_endpoint(fwnode, NULL); - if (!ep) { - dev_err(&sensor->client->dev, "No endpoint found\n"); - return -EINVAL; - } + if (!ep) + return dev_err_probe(&sensor->client->dev, -EPROBE_DEFER, + "waiting for fwnode graph endpoint\n"); =20 sensor->bus_cfg.bus_type =3D V4L2_MBUS_UNKNOWN; ret =3D v4l2_fwnode_endpoint_alloc_parse(ep, &sensor->bus_cfg); --=20 2.52.0 From nobody Sun Feb 8 10:04:38 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 2F0C2330666 for ; Tue, 30 Dec 2025 17:03:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767114212; cv=none; b=uhVPMak37Hlp/IChcBCQV7+6Rt26WAUlwfe1+ysLYZH5pMwYLNS9HJgYiLfpHqKUU3HgtQhqVr8cc+MdX1S8p/ysAjP7uQeHsJ0o8xeTrjeMf2ELmlQzq7PleqnNm6woevKsCoX12zctnVqhNUhf2Nm3X+R1brP3o5NVYpvM0Qw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767114212; c=relaxed/simple; bh=/bD0B1cBoZ78tLpiH/5KLMUURhywS5vA4Ek7ziqC8MA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ONUvNrjCP+8lJYM02pfYb6OfvDUtCf6Fti+dsHK2ujz5tqWJxfEFlvCM5dlZifmIqONuKwUv0uip1+OHZKb4LwGpvK8rLqd7D+ySPqt+fuWfWNcfBlsHSFfsN5dH8VduBWWY91k/8bp5h2bTKVgRr6U6tE2zdGu4pKPSVgURKIo= 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=GaL2aySr; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=ipJ5OlRG; arc=none smtp.client-ip=205.220.180.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="GaL2aySr"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="ipJ5OlRG" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 5BUCtXTH714850 for ; Tue, 30 Dec 2025 17:03:29 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= DQh59sD7z1Ty5k1cN/IYnhlGUK3jdk1tMfSek0QEFzA=; b=GaL2aySrBQzS7aMg sGQ+NLuiceZ9+fr4Eh+398KHphx0FTql7aVv6xW1l4GckDIzt3AUHFkCGoa3G/i4 lf373Wd7kxfW7FDVwGCJ9qLJ+4ee/IWAB6WNP5b0+AeqC5PKHLoDmGdl8o5yo2Bc Xy8AEdXBqh88BjbeqnsXRyvWuJL0mGB/k2jeGgquHk+8WrTUFLpglMQfv0pF9GMR QGcSBtzGMSUj6YcqMsXaJDD1J0WVKURByG+LtIHsE4Ka6aWCMHYXalOpd43gFGqa 4yTja7OkdGUJMkfwryQB5B771LlQeayxVdJbHH+WvDhFnKMgnB6JgsJvhAegUlV2 zRBwFg== Received: from mail-yw1-f197.google.com (mail-yw1-f197.google.com [209.85.128.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bcf5yrjs5-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 30 Dec 2025 17:03:28 +0000 (GMT) Received: by mail-yw1-f197.google.com with SMTP id 00721157ae682-78e728e39f5so103133337b3.2 for ; Tue, 30 Dec 2025 09:03:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767114208; x=1767719008; 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=DQh59sD7z1Ty5k1cN/IYnhlGUK3jdk1tMfSek0QEFzA=; b=ipJ5OlRGsEd8RKZllvdIag8IkOjLZP6fsYNIFd0cC7WIp3IsvrSgKk8aHCkP8JXXx4 yC9M8Jgb9BzSvnRzcruFYzOnmYVYNbAxxMW2tQ3HHXq5zA2Njtdn5tlj5OCSohfzB6hU uexF434+9gSkS+emdPZUbugNO8sVjGnPJxZBue3NzEYZm4ks85uOfKkdSFp3EOXDQfDp not7HP8ad9CNP06ZmhnbRBbfKLYqABljhSH2wmZ1lntnNoB4JMhNcTNQWa7HkXa11bif RTHe7Q4bB4tqtABevunutqu0WaugkOdlDxwLRCS5eMMRAWE7YbjERKZzgutYwzbd1itr pF2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767114208; x=1767719008; 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=DQh59sD7z1Ty5k1cN/IYnhlGUK3jdk1tMfSek0QEFzA=; b=Za4b73khJ3BbLmicJttivwBLUkUNH0Rk8QQawCRGF1CaWoBxJAuZztJfdHIpuu6FkY AANRZ9S6ee92bCyQhffN6SuYjJZu5+tqi2VeHhLMTJ8AO1Oj/EgfhtNcf8PDT3m7AwqX blWCuo9ZfYMG0xrVWYd+fcEzc+p42VMO3HN8c8v7yrG7SCKIYg9rbHuMpVjzv2Xkh/V5 IXpjgWQ+HFY2QeCrn6Iso6ohkL/ocbOPJHQs0WThidbl77SFYn7GTUHkdQVwAx2txTwV EWroiT9+OTrNMq+LIbgo4DbFSPC5XwuX7qet+Fp6tGbiDyM9IkHyPHGSm02bsZO6wOs8 I8KA== X-Forwarded-Encrypted: i=1; AJvYcCUT4FqjSk6wRyUIVOdcsnYFh8/AuUHo+hVNKTe0wBPQlGLCoOlk6A+g9xUIsed/gjbFC4rgyQso2USZdOY=@vger.kernel.org X-Gm-Message-State: AOJu0YxWoyTJEq5DkiUyBBje5Dos/JqbZUZUQl9gFQBOK49pctdivhSr Kul9/I+6/PV4cNmFC1dvKrMwskWgxKP/25uFxgjFNeIi/y4OfpZqIWi5IqwrF1mGLwoURyKUF/N v8Sr2jGvnMqBbynJcyooIQyddLuanYoihjXltIGjwS90nqW5aBP/bFEfwMHKeXfZl8h8= X-Gm-Gg: AY/fxX7KBKemICFemVL4irX5WXFoaLpWYI7f/S14jLVP0YZt6ZVy1WtXhY3/b22BHAI 8feD0qivBaY+cffbZPdmEWAZ44vj70ke4u4mAGPSCYt0PK8dwMFeFO1sUV9rC1g6E+Cmblq2umW Wb2ZJWDpiHmbhbrLrRdj5zXrN5dCxXNWCuOBj/3bQNV/BLnGfEEy8Y1UB/8zkP2BwYXxDeG69zS iHzJl69U91zElYP77Uh8ETqY/Xwp6W8ce3EgulGxVb72UWyoZzmmc7Wr9O5GM37YuMAWzTVqaBH u2WwE0GCXetr5IqDmcwQZcjRWwQvvOpjpOXXnwY9n3/t/Q1tvD6w2RT5DgwSob5MbbhxZGfDfSU YIO5a2CAfHRLSsw5vtxESDmNmcglpPhHDbGFY9cNQdI7gxR3kbZood03l22vsGP8UbD/bjkseqv zhlffM0Yfndfo9nM/zVyFYK2IcI/nHsBziibb92qDC X-Received: by 2002:a05:690c:909:b0:78f:b163:74b with SMTP id 00721157ae682-78fb418ffe6mr275129827b3.59.1767114208426; Tue, 30 Dec 2025 09:03:28 -0800 (PST) X-Google-Smtp-Source: AGHT+IF8gPtOEBHDv+QmqKsImJHPQQR//MFWUZOJW93lEefQE9X6qKhVovh9qhSjW3vBpWtGFxAHiQ== X-Received: by 2002:a05:690c:909:b0:78f:b163:74b with SMTP id 00721157ae682-78fb418ffe6mr275129487b3.59.1767114207959; Tue, 30 Dec 2025 09:03:27 -0800 (PST) Received: from shalem.localdomain (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8037a5bdb9sm3776086266b.7.2025.12.30.09.03.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 Dec 2025 09:03:27 -0800 (PST) From: Hans de Goede Date: Tue, 30 Dec 2025 18:03:11 +0100 Subject: [PATCH v5 14/14] media: mt9m114: Add ACPI enumeration support 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: quoted-printable Message-Id: <20251230-mt9m114-atomisp-v5-14-763539e76094@oss.qualcomm.com> References: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> In-Reply-To: <20251230-mt9m114-atomisp-v5-0-763539e76094@oss.qualcomm.com> To: Laurent Pinchart , Mauro Carvalho Chehab , Sakari Ailus Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Laurent Pinchart , Hans de Goede X-Mailer: b4 0.14.2 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUxMjMwMDE1MyBTYWx0ZWRfX4KO5ZQsITe/I ZWdaF3l6RSn1AU1vGrMr1aJnIlJT9A72+Je7JzsHxtyf3+VJHEhL/q9Dw1ATibcQMX4XwczisLF sWLvVPqrzO+57NX03wOaiyXpCf9VQe55m62vbaObpF2iwc1RGboWrB0qUfNnqJKClfZEO2UL3WW FbjiKyz3LHuStt49fxLKsW51vXV6G0Q0gorou/jC8Snw7SZPCkSs7XwdJMQoVUuTrKjX8DSCv14 2fLbwQmlhHiI5zsSW/LiTmJxis/RZ/ALlIJ/l8AW483Fa7UITiOS4EypRzXCqTPtL9nrMOp8IBz dbt9Ji7DsOOebSiN1InMITsYta4R6WXBp7ek9x51eeVYsAAegy3nD+oPnSLPvx+ewwkgkPZP+IL PzoZ0yuGTiwKSAO9H57+OlW7GNSwoMh4SODnwZ4b/aX89UCqJ1XGMcQ29uDrOhI9j6NC77ntFFo RBJe15jwHYdJupaQ15A== X-Proofpoint-ORIG-GUID: 1WmVZsQLahpl5gTIqcaPmvtXXuWsoR6Y X-Authority-Analysis: v=2.4 cv=KvNAGGWN c=1 sm=1 tr=0 ts=695405e1 cx=c_pps a=0mLRTIufkjop4KoA/9S1MA==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=wP3pNCr1ah4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=P1BnusSwAAAA:8 a=EUspDBNiAAAA:8 a=5YKaq-4ml3F4CIf4D4IA:9 a=QEXdDO2ut3YA:10 a=WgItmB6HBUc_1uVUp3mg:22 a=D0XLA9XvdZm18NrgonBM:22 X-Proofpoint-GUID: 1WmVZsQLahpl5gTIqcaPmvtXXuWsoR6Y X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2025-12-30_02,2025-12-30_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0 adultscore=0 priorityscore=1501 suspectscore=0 bulkscore=0 clxscore=1015 lowpriorityscore=0 spamscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2512300153 Add support for the mt9m114 sensor being enumerated through ACPI using the INT33F0 HID as found on the Asus T100TA. Reviewed-by: Laurent Pinchart Signed-off-by: Hans de Goede --- drivers/media/i2c/mt9m114.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/media/i2c/mt9m114.c b/drivers/media/i2c/mt9m114.c index 9712d61ab9512f3b8ff31423afb81b61bc3bdaef..a38a497ac38b24912a14c063610= 8cbfd84ea661a 100644 --- a/drivers/media/i2c/mt9m114.c +++ b/drivers/media/i2c/mt9m114.c @@ -2652,11 +2652,18 @@ static const struct of_device_id mt9m114_of_ids[] = =3D { }; MODULE_DEVICE_TABLE(of, mt9m114_of_ids); =20 +static const struct acpi_device_id mt9m114_acpi_ids[] =3D { + { "INT33F0" }, + { /* sentinel */ }, +}; +MODULE_DEVICE_TABLE(acpi, mt9m114_acpi_ids); + static struct i2c_driver mt9m114_driver =3D { .driver =3D { .name =3D "mt9m114", .pm =3D &mt9m114_pm_ops, .of_match_table =3D mt9m114_of_ids, + .acpi_match_table =3D mt9m114_acpi_ids, }, .probe =3D mt9m114_probe, .remove =3D mt9m114_remove, --=20 2.52.0