From nobody Sun Feb 8 14:30:43 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 C6FC61DA628 for ; Fri, 9 Jan 2026 04:49:31 +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=1767934173; cv=none; b=Zp+m/PWUQ07XhlAMR9w+oo6ZKg/eB+V/Uua92CljQVhgdyQEThepvEnYkM2drKJU0nv9zRrBgvrE5+eudA3FtQTY2VKrC+FTieeceeG6xYtRMjh3zZPC0qhM7nPHZ8WXRR//OgYzBezIDBU9Ep5abqQeHxyAEqYaYbCbPnpWwR4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767934173; c=relaxed/simple; bh=5nu0clrNhiT08OdX2YjcD+8rItHzYZs7mGppKc9/fBw=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Content-Type; b=Gfj0+J9dd+dehCJABWxWX0wgqfLjFRC8y7YU9OhKzj4Gb3/sPEAhEFxu6XYzjYD+D+V/BVXErxzH8YvQJ4tnxt49z+G8KDZXnRdzmt2rkr91XzX8eVUAlU9eLLBZB4W9QpIddc+Tw42I9lywayu+YfedR49KPDDEPXyiyHjmfrc= 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=CGB5MtIT; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=TWhea14/; 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="CGB5MtIT"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="TWhea14/" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 608HkDKh2153475 for ; Fri, 9 Jan 2026 04:49:30 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=aZ+/ekIdSYikpbxfIVe6JD OX0MUg3x4flhnwmoIhSLw=; b=CGB5MtITjQGVnw5zTcpD1P0jJRUik9hrfZKYzR jQ+uMCyX0y8S/ckVnXL/sUA8pw/OtXxgIpuw2iftgJm2YDxeh1EiYZEJmgKzQ8O5 9hNTdXHfWOrApRmGZqofSSQ9Sw5nuinj5yPEyiThnb5fyiB4rsubtF61JZ7UbKfP 0T4pukeEstwsXxeSZ4m5wKZOMVW98adhotlqwAYwC0VxxrHM0nX0q1y25/FXtXM3 9QhzsN5D3BKiTPZreYditnK6gS492rJcao5V2exmZLxBCF0aVFPXFWkPNx/FfW4R wzLrsOx4ET5SFpwdXxqfg8VW8n7OKtvepnJTfQm6eSgDtziw== Received: from mail-qt1-f197.google.com (mail-qt1-f197.google.com [209.85.160.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4bj3d6ccbt-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 09 Jan 2026 04:49:30 +0000 (GMT) Received: by mail-qt1-f197.google.com with SMTP id d75a77b69052e-4f1d26abbd8so116002721cf.1 for ; Thu, 08 Jan 2026 20:49:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1767934170; x=1768538970; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=aZ+/ekIdSYikpbxfIVe6JDOX0MUg3x4flhnwmoIhSLw=; b=TWhea14/kOmnIbmCzCcD0d5iIXxN2miAi8OZ5IJqXxDev2jXegVH39hQWVMl7XwBNO VsXuRqeMnvhbnIjl3a88V2VXla11EKiIlu0dN4VL5AcxNqJBZNUD9Rbm4UeGoyD0r5VN WMd998ZThfp8ZQXAzofdonL61SAoqfXAud9mrhf8XDNFa4nWHOExQnAdyhr0UYmXLDe8 hitxFh6bOfn7at2DvQK2aujgTNRsXNzxghFpZEKUlKGuHKNeXDdGDXyxwYcL6PHLKhYV G3o+rRFDEr79YrNE6i/pd1yLWXTWJQ76qezZ4TGs6GJhJE8rJE4B3/8ru+ZJIdLKokQf YtBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767934170; x=1768538970; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=aZ+/ekIdSYikpbxfIVe6JDOX0MUg3x4flhnwmoIhSLw=; b=n0kJepc1gOaWxWaYO7mDvQS15Y++++LoMSv0fX8qx1bqi3MQsEQ+6f9kVZyesTqUBd 9nePLto+iZxvluRspNUcQ5vPr20kwW3xMapDusNbA5i12yOcFXQ/jScPdKgt975kn4Ab KXtrD05BUWG56zL901gVe7Guym0Cuvtt9C77OHcKib8e9F6FVHGr0KmHJJvwfESGy68r UFZSLQRx7nVBYjEATQsqoZE1Y3VFEzqRr/c5kmFS4or7euJ8NOfnycYmPM0cZg9Wix9g hLF3Gb3nO1amcsovHFEJlTtDKiAEDCFhsCiTd8x0CWXTKoAc790z1XYySDXzaXl2ATQX UznA== X-Forwarded-Encrypted: i=1; AJvYcCV4ldRSZ41mnql5Kgz52H4+N1XMDFf/lnC64x13T97CHXTvjcw2Avlbta8SwsM8XTninkkYEKfZUELOCYU=@vger.kernel.org X-Gm-Message-State: AOJu0Yz4kPEE8/hMLFdnlYxwnMB3U5znxgg/M444L+4sYj7cRBEwby8/ CofdvLHenUnjiDr4ZNFQGlGhfyWXLn0hgcQrqdo1TtZFV4BQwnxKPL9PEhmgN+iFH+qTncwOk/Z 6xlm9N70jkoJc6BeXWFeGobLi9wofcswM6iggDNrp6VT2/DeljOb+XRC6nhKLF/BGYb8= X-Gm-Gg: AY/fxX55w9nFr/yf2FV7jt+zbBxWEnZbEhz0NDtk4L0ecpBLOUODhsrMqT/rraOakoS 5rDXKiVTrXQvEIz8M2hfCFcoU2lU6UxAbkfWRG1JsD3DtmAwp0RwyvcNDwZ6vbPqhzJ+wrnygcQ A4jj1VAZOBOoPRmdVzczgZ9aRVkH4mXGjeF24q5x/jpVhpaj9qqTZWOvJy9KY/bSIq7cf9080E6 5CV9QDsvzb9E/0ZjaAi6u9HHNdp2p9UWtDlL8g+kqC6tRkzCIfKu9wJ2F3hfph63QXp+LAKvmY1 Twj8m8kuiH25B8M9hv3+g1+hl/GcQHvwOzGPbOHr5XQlskjlkRaMa5xamOJ9VOWiY+5o9c8vhWH VmalF1pQHXMfSOKZcwg3OZEOCwg6Ux0bkZwZx7BGB+2bWBJeO/EH6QoYW7OwRJpBc1gV/27Pb X-Received: by 2002:a05:622a:5916:b0:4f3:59a7:67b3 with SMTP id d75a77b69052e-4ffb48c4709mr119260621cf.20.1767934170056; Thu, 08 Jan 2026 20:49:30 -0800 (PST) X-Google-Smtp-Source: AGHT+IE2p36nlS/pu5IyinOLSzYhkcjkXOzckkWiACQ3sysHMqUNUqN6S/YQ8apY2qdC80DHiqx0aQ== X-Received: by 2002:a05:622a:5916:b0:4f3:59a7:67b3 with SMTP id d75a77b69052e-4ffb48c4709mr119260371cf.20.1767934169639; Thu, 08 Jan 2026 20:49:29 -0800 (PST) Received: from WENMLIU-LAB01.qualcomm.com (Global_NAT1_IAD_FW.qualcomm.com. [129.46.232.65]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4ffa8e36232sm61049991cf.22.2026.01.08.20.49.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Jan 2026 20:49:28 -0800 (PST) From: Wenmeng Liu To: sakari.ailus@linux.intel.com, mchehab@kernel.org Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, wenmeng.liu@oss.qualcomm.com Subject: [PATCH v2] media: i2c: imx412: wait for NVM read (T7) before programming mode registers Date: Fri, 9 Jan 2026 12:49:13 +0800 Message-Id: <20260109044913.3310-1-wenmeng.liu@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 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 X-Proofpoint-GUID: 6o75W3LC_hx0f7ti8jtvTZExfvveTngm X-Authority-Analysis: v=2.4 cv=APfYzRIR c=1 sm=1 tr=0 ts=696088da cx=c_pps a=EVbN6Ke/fEF3bsl7X48z0g==:117 a=C3Dk8TwHQYyIj7nOf9RCJw==:17 a=IkcTkHD0fZMA:10 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=Rz3T_L-m2ZCUWiLNYVcA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=a_PwQJl-kcHnX1M80qC6:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTA5MDAzMCBTYWx0ZWRfX80aItQub0giT rc66BILjAo8Ekt34og7n6mXKtFPOZMspfu6Q7pMYdzPUKrAj4hIET4KocXbvauqyGVA4v1iBeMI 2oUEX09jWCZw0PpfyGesgo6qIHoZrudoIsEvx/4kf3qNyl1R1r7OtBN/Vzzh0+Kjbki/2Dqb7MV oGZx0p+QAps7mXKjSPEAB07GgNz2wWidOY6GSIC1gQVTud1142rmE7f6hV2J4TlcWQawWgMbGZd q2b6ysCV7cV7ciljOdtj2urFBdMHoJwuVNQOyL3xNws/BDxeRElUws1cpuJYEEWu8EszBRZeZIc UeMus6r+d7vXGO9ogQWgkKprM/4XmphziRC/COLaMruc/GtZMTdgXZm9vrsYD0AWm0S5s0S6NjL 3oLX66qL/4bFbINmhIOYKMeF4H5cctFyR5aqFg8PQKsQol1AHTsaUR+tGDw6EH9GfXJYEdJk9Mv 5L1ZAk/EyRj3D0nSchA== X-Proofpoint-ORIG-GUID: 6o75W3LC_hx0f7ti8jtvTZExfvveTngm 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=2026-01-09_01,2026-01-08_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 priorityscore=1501 spamscore=0 lowpriorityscore=0 suspectscore=0 bulkscore=0 clxscore=1015 adultscore=0 phishscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2512120000 definitions=main-2601090030 During sensor bring-up, the IMX412 performs CCI ID read (T6 ~0.6 ms) and parameter loading from NVM (T7 =E2=89=A4 8 ms) after INCK/XCLR rise. Writin= g the mode register list while T7 is in progress can cause failed register programming. Move the usleep_range(7400, 8000) to the beginning of imx412_start_streaming(), so the driver waits for the NVM read window (T7) to complete before pushing the mode registers and sending the streaming command (T8). This change preserves the original delay length but fixes the ordering to match the datasheet timing: - T6: CCI ID read wait (~0.6 ms) - T7: NVM parameter read (=E2=89=A4 8 ms) =E2=80=94 now fully elapsed befor= e any =C2=A0=C2=A0=C2=A0=C2=A0 register writes - T8: start of first streaming after issuing MODE_SELECT Signed-off-by: Wenmeng Liu --- Changes in v2: - Move the 7.4=E2=80=938 ms delay before mode-register programming to satis= fy T7 (NVM read). - Link to v1: https://lore.kernel.org/all/20251222-imx412-v1-1-51c7e724b376= @oss.qualcomm.com/ --- drivers/media/i2c/imx412.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/media/i2c/imx412.c b/drivers/media/i2c/imx412.c index b3826f803547..ed249a95ff35 100644 --- a/drivers/media/i2c/imx412.c +++ b/drivers/media/i2c/imx412.c @@ -798,6 +798,9 @@ static int imx412_start_streaming(struct imx412 *imx412) const struct imx412_reg_list *reg_list; int ret; =20 + /* Wait T7 (=E2=89=A48ms) so NVM read finishes; avoid I2C NACK when writi= ng mode regs */ + usleep_range(7400, 8000); + /* Write sensor mode registers */ reg_list =3D &imx412->cur_mode->reg_list; ret =3D imx412_write_regs(imx412, reg_list->regs, @@ -814,9 +817,6 @@ static int imx412_start_streaming(struct imx412 *imx412) return ret; } =20 - /* Delay is required before streaming*/ - usleep_range(7400, 8000); - /* Start streaming */ ret =3D imx412_write_reg(imx412, IMX412_REG_MODE_SELECT, 1, IMX412_MODE_STREAMING); --=20 2.34.1