From nobody Mon May 25 09:56:48 2026 Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5968235A381 for ; Mon, 18 May 2026 03:43:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779075795; cv=none; b=ixTD1yVmKZIyCrfzJrSmjq3qTiSgrjZJNNn0gT4fxY+YvC9daS0rccRAWoo6QqEK3LV7sbA1S8x9FNmMK/yrAqtNNFGlsu2FK06RLUkDKSQookm78aksB4EAyWPRR9vZe8HG82Bhuxg0lJTkMWh8UgSJ6d58UxmRkHBjkSQGNPM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779075795; c=relaxed/simple; bh=6UDIpAWzHBecNp5mMydk52vGGGLebaEL2uY0cjJeHYQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=EtBfxoYO/eP0lCfw5k0lpztfR+gnIuEBSU4X6fls5YT6KtjHDVgG6RbS9yRAi5OaVbImtkOxl7Ic7mW93n4XZyGcY05Xb5Fun6ZPf7CyFsEellJfIWx3dVJugoYNJBQxfeA+9I+82/hdr5NdoynaGEaM7MukN89xIapuVjxKmwU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=DtaL0SKK; arc=none smtp.client-ip=209.85.210.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DtaL0SKK" Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-83f674f978fso207993b3a.3 for ; Sun, 17 May 2026 20:43:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779075793; x=1779680593; 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=TUA3cPtzM9uPcBkOLN0h00OZZHnDRsQ9uXVemg5h2Eg=; b=DtaL0SKKpG0XkJGiep9DHB6LsniXrURijYr3wCkEDDBdFQ/GlLv1Raa6HdZIuog5Zg Zz4OePnr5GIlnj8PbAzVJdRreU4wrlxE4D2jf0iRrWteCAGku6yBJ64wQ/Pz6hcijvZt JsviL507j7Cs8b5MEtaFqTb24iuxK6p5Ao9TWHxvyjvI81ddENSNXkbDS/62r5qSLANN 6ZGmE6D61I1efR/PdbOXjGDU0bVQJuVh8+a56wgU2FHMolALwpn492qBJqFSDemlCgel m7jhmeKpfOaEEBL6lxTf3yENqqeEl+NYYIwClZAfPG8Xr1VSvspSTW0XF/1P7xXlPSPz +Dhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779075793; x=1779680593; 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=TUA3cPtzM9uPcBkOLN0h00OZZHnDRsQ9uXVemg5h2Eg=; b=VHVnjv8oxx4voehOggrKrDo9/XfZZeIixnHF7Cselt1cgx2RWagKoT0J+pEq3CU5FK FR0PtGMeVEO3rI/D1R2jtByV49ucxgOkoIV4ZsrsTSDzLfNOi1ilYDsYZbIO9Evvw2ur LzGf4NIgoghY9qUXms5D9m9RmEk9GnMz5258ZmVM0ohNl9At9AWab4jDwipkv/gvljTX VbVfSOWMP9xkzc6LDUmdF5FYQNsbxU6Uxl1AGubT18Lnmichgk9Qg8NDh3iQFi+dXVVZ 5jZrOOjW0xXAu9qpFeJFdVSz61KsNhFHzSsvAqGCQcpS+FY0HeKurg9OEbsBnsUOhMX/ khwA== X-Forwarded-Encrypted: i=1; AFNElJ/3/EDiLFAXFrQWRGneh3EIaaeXCT+3iM8FmMgDw7yhcpRbHLtGrDz3zMlGIBdN4ZhAr9LwGp5YTMn/7LM=@vger.kernel.org X-Gm-Message-State: AOJu0Yyk4+eOH7/Yvm/boCLhJciW1gKyq/dJ9+jyvJ6oNq6Hf3ss5QiB NMaTsTy9dQvDfT0w0Cb1ly3h/uQLC3Fc8Hi0dm03dtrSKQjfGjp7oG7f X-Gm-Gg: Acq92OG82xrQgnRRgvz4wtsXKvIUIufBLjcen/PLUtoDD3t9RNQmU4nPpg1vODTthH4 LZQDvhyv1qIlayetSViUoADR/1WuiquK1ZGQUG5frzupedjtxm/pLGW1/s7LJJf3TADOkCOZ3xV VYtv3I76Fs20/p3wpqSwYgG/f3R3WTwym2C0BoI0cOlpafiTdLfm2QDhvMeivWre54/SkxT0KP0 pZkc2TpfUKBpBIJFlo8oMc3BIZNUcqBI9nCl4M5gftA/6qbtfE1/1pfvKYc0cwJYnCNRYRKQCgy AEwX28c7x2VFSujW85p7/hTEsVfvhq1DSE6iWGeitFbfI4REWvS8P1ufiiQ3kBAZzoqwiGCPyly 2262yl/DNT+F6DuksqmDZ635ST23bDoquphGGdAeYC55pHCsEfzFthxMTA3wM2DwnhwFGUCLAmU w5W916q20o0bx29beiq+KCWILft4kU+UbtSKOpHHBf0gtwcvFEUlx3LMrhIJOym8yxz9/PpaayB FFWr0pRXeL7goVHUTyWholi2+BsDZOqHqz61cJTnaF8BrIBCFtwjVJIjPF5OMM3mkTS9fHPM7y5 W+3wd9RTQ97Dn2rw X-Received: by 2002:a05:6a00:1709:b0:82f:9aa:d63d with SMTP id d2e1a72fcca58-83f33d3337amr12698207b3a.49.1779075792455; Sun, 17 May 2026 20:43:12 -0700 (PDT) Received: from cmpatel-home.hsd1.or.comcast.net ([2601:1c0:5780:9200:790e:a8df:c769:91e7]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-83f196660f9sm15808366b3a.10.2026.05.17.20.43.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 May 2026 20:43:11 -0700 (PDT) From: Chintan Patel To: sumit.semwal@linaro.org, neil.armstrong@linaro.org Cc: dianders@chromium.org, jesszhan0024@gmail.com, maarten.lankhorst@linux.intel.com, mripard@kernel.org, tzimmermann@suse.de, airlied@gmail.com, simona@ffwll.ch, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Chintan Patel Subject: [PATCH v2] drm/panel: novatek-nt36672a: Inline panel init sequences Date: Sun, 17 May 2026 20:42:52 -0700 Message-ID: <20260518034252.16337-1-chintanlike@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Inline the panel initialization command sequences and remove the table-based command abstraction used by the NT36672A panel driver. Replace the nt36672a_panel_cmd tables and nt36672a_send_cmds() helper with explicit initialization functions using mipi_dsi_dcs_write_seq_multi() and mipi_dsi_dcs_write_var_seq_multi() directly. This improves readability by making the panel programming sequence explicit in code and allows future sharing of common command subsequences between panels. It also removes an unnecessary wrapper around the MIPI DSI helpers. Additionally, compress repeated register writes into small loops where appropriate to reduce duplication in the initialization sequences. Add: tianma_fhd_video_on_init_1() tianma_fhd_video_on_init_2() tianma_fhd_video_off_init() Update nt36672a_panel_desc to use function pointers for panel init sequences and invoke them directly from prepare/unprepare paths. Signed-off-by: Chintan Patel Reviewed-by: Douglas Anderson --- Changes in v2: - Replace command tables with explicit init functions - Remove nt36672a_send_cmds() helper entirely - Use mipi_dsi_dcs_write_seq_multi() directly - Use mipi_dsi_dcs_write_var_seq_multi() loops for repeated register writes - Convert nt36672a_panel_desc command table fields to function pointers --- .../gpu/drm/panel/panel-novatek-nt36672a.c | 522 +++++++----------- 1 file changed, 186 insertions(+), 336 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-novatek-nt36672a.c b/drivers/gpu/d= rm/panel/panel-novatek-nt36672a.c index 7e8b5e059575..4c706c6e9b1c 100644 --- a/drivers/gpu/drm/panel/panel-novatek-nt36672a.c +++ b/drivers/gpu/drm/panel/panel-novatek-nt36672a.c @@ -28,10 +28,6 @@ =20 #include