From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 7B709E67A97 for ; Tue, 3 Mar 2026 08:42:54 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DFFB710E669; Tue, 3 Mar 2026 08:42:53 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="JXVJUkNB"; dkim-atps=neutral Received: from mail-lj1-f172.google.com (mail-lj1-f172.google.com [209.85.208.172]) by gabe.freedesktop.org (Postfix) with ESMTPS id 99D3610E665 for ; Tue, 3 Mar 2026 08:42:52 +0000 (UTC) Received: by mail-lj1-f172.google.com with SMTP id 38308e7fff4ca-386b553c70eso85586371fa.0 for ; Tue, 03 Mar 2026 00:42:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772527371; x=1773132171; darn=lists.freedesktop.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=scIblvKwdHM9UE2R1JwRsKiQl+NnqelAVvJdkvvFH1E=; b=JXVJUkNBe1YnWlMU9DA525/HkYaNTxTz8Fj2KmbW8s1j4JpSbmDsW+IMscZWcGEI6k m01thvyv1YsA7w1kvdd1LSpcempGGr7zs90a4z2DutnBSu6Oc+R9kfxNpndI7VvKlE0P 4qd/KIvuLsDVuvTD1RbvtC6JXGr7yd4GECdttd/pZw8J1WcPHyIRFZEucr8jPRlXxd3c 6NBGGmL/Q418qXgWCouoHmFgcHN8tdXD+4J/PeFKmv4kt7yrgiC1pyWcoXmN7MJaRO4X pjgbAP28JpHIGAtkTbdKE2x/kplRsFVadTP3oJTyt7qmhELreSwfHxjcK/Mk8Be61kTH ANWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772527371; x=1773132171; 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=scIblvKwdHM9UE2R1JwRsKiQl+NnqelAVvJdkvvFH1E=; b=Ma6O0Z17+qC6qwcYw0cqbgoiCgJa5hTuUPf1XGrTpNCxavxU7Yc1jPAPwwPbh4LGnE jdVEUjbuuyp9kNWhSs/0InNhzTEKa5OexHMOvbkCNc/JpJ4+99XMSVautRSL5Lk8QxHB JI5X125GM+GZavdPKRlTkHybnVuEP8oMSr/eQffDj420JuTmtw8BqV4K5gzq4BX/9Aot zR4bGN2rETvRH5P6n2rP13NAdt3enhSaMzN4/lMkkGFXdNLvXNq1+UKyI8d4MaGaf2Vp 9bHz0N2m33Cr713KHy39Bl2aPIi3VX6HOtUkOgvH6MGgX1eywR1dJJdl93q2QJ/57eAK Y5dw== X-Forwarded-Encrypted: i=1; AJvYcCUyPVB6pXuWlELBTXBP4SD+Ve9XE4b8I8vtbarEycjqrGd/0UyuY3jNtxyKYI+URbEZut22PxXk4NM=@lists.freedesktop.org X-Gm-Message-State: AOJu0Yw6OnrU2bv7pLtdxiCfyHW+pvjyAudh3w2f6JoMayv8yM9lSQbr 0DJsQTy22Ui7TAPW/9INbQNWcb9zjrp1W7tNDg2zSnWrV3NoAhzgpMLM X-Gm-Gg: ATEYQzwq4Q/jviriQCDdMXz2UFfgCuZMYFo24sjxY13s57T7N154l43YSqPOupZNmgt QFMHg3nwD5z7JXwiRu6OSA3W+Lu7bGuoukNRCzSJyPKcrziU6LrbWT5RG6zAtreoFHDEkCLc8ux I52DFBqYP3idqtz7XuMZ8PINr9TCtkdm/K8lCfBxZcn+bcEZ+2mOYqDYnBuJeFQAFyEY9egu+iv ss/irQ3JwXibogHzq4ZFMIXYi40qxQe7v5ZqjUFqIKdmohx37ohcbaA3PzXArIkMJl6BMwrwtXu TDbEhNpxnvCIy99i5wIizef2ckXBJlPWsJt18y+HEE0aCsGOxtyaLCYgK2dfY7fnzJqfUec0Gmr aAl5cKT4l7YBl2QYjP1ZDDh5wiysRAklZANOtzQk2MEjUwyEsUZztW6zEGq1IcBPHlwuq4gpgca Dgy57/2/EW127t X-Received: by 2002:a2e:a10b:0:b0:388:127c:224d with SMTP id 38308e7fff4ca-389ff34fa10mr103976761fa.22.1772527370524; Tue, 03 Mar 2026 00:42:50 -0800 (PST) Received: from xeon ([188.163.112.72]) by smtp.gmail.com with ESMTPSA id 38308e7fff4ca-389f30227a9sm32599471fa.42.2026.03.03.00.42.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 03 Mar 2026 00:42:50 -0800 (PST) From: Svyatoslav Ryhel To: Thierry Reding , Thierry Reding , Mikko Perttunen , David Airlie , Simona Vetter , Jonathan Hunter , Sowjanya Komatineni , Luca Ceresoli , Mauro Carvalho Chehab , Greg Kroah-Hartman , Hans Verkuil , Svyatoslav Ryhel Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org, linux-media@vger.kernel.org, linux-staging@lists.linux.dev Subject: [PATCH v7 00/15] tegra-video: add CSI support for Tegra20 and Tegra30 Date: Tue, 3 Mar 2026 10:42:23 +0200 Message-ID: <20260303084239.15007-1-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Add support for MIPI CSI device found in Tegra20 and Tegra30 SoC along with a set of changes required for that. --- Changes in v2: - vi_sensor gated through csus - TEGRA30_CLK_CLK_MAX moved to clk-tegra30 - adjusted commit titles and messages - clk_register_clkdev dropped from pad clock registration - removed tegra30-vi/vip and used tegra20 fallback - added separate csi schema for tegra20-csi and tegra30-csi - fixet number of VI channels - adjusted tegra_vi_out naming - fixed yuv_input_format to main_input_format - MIPI calibration refsctored for Tegra114+ and added support for pre-Tegra114 to use CSI as a MIPI calibration device - switched ENOMEM to EBUSY - added check into tegra_channel_get_remote_csi_subdev - moved avdd-dsi-csi-supply into CSI - next_fs_sp_idx > next_fs_sp_value - removed host1x_syncpt_incr from framecounted syncpoint - csi subdev request moved before frame cycle Changes in v3: - tegra20 and tegra30 csi schema merged - removed unneeded properties and requirements from schema - improved vendor specific properties description - added tegra20 csus parent mux - improved commit descriptions - redesigned MIPI-calibration to expose less SoC related data into header - commit "staging: media: tegra-video: csi: add support for SoCs with integrated MIPI calibration" dropped as unneeded - improved tegra_channel_get_remote_device_subdev logic - avdd-dsi-csi-supply moved from vi to csi for p2597 and p3450-0000 - software syncpoint counters switched to direct reading - adjusted planar formats offset calculation Changes in v4: - removed ifdefs from tegra_mipi_driver - document Tegra132 MIPI calibration device - switched to use BIT macro in tegra114-mipi - pinctrl changes moved to a separate patch - ERESTARTSYS workaround preserved for now - tegra_mipi_add_provider replaced with devm_tegra_mipi_add_provider - reworked bytesperline and sizeimage calculaion Changes in v5: - dropped patch 1/24 of v4 since it was picked to pinctrl tree - added reasoning for tegra132 comaptible into commit desctiption - moved clocks into common section in tegra20-csi schema - added note regarding ERESTARTSYS Changes in v6: - dropped patches 1, 2, 3, 4, 10, 13, 21, 22 of v5 since they were picked - rebased on top of linux next/master - improved description of commit "staging: media: tegra-video: vi: adjust get_selection operation check" Changes in v7: - rebased on top of v7 - kzalloc > kzalloc_obj in mipi.c --- Svyatoslav Ryhel (15): staging: media: tegra-video: expand VI and VIP support to Tegra30 staging: media: tegra-video: vi: adjust get_selection operation check staging: media: tegra-video: vi: add flip controls only if no source controls are provided staging: media: tegra-video: csi: move CSI helpers to header gpu: host1x: convert MIPI to use operation function pointers staging: media: tegra-video: vi: improve logic of source requesting staging: media: tegra-video: csi: move avdd-dsi-csi-supply from VI to CSI staging: media: tegra-video: tegra20: set correct maximum width and height staging: media: tegra-video: tegra20: add support for second output of VI staging: media: tegra-video: tegra20: adjust format align calculations staging: media: tegra-video: tegra20: set VI HW revision staging: media: tegra-video: tegra20: increase maximum VI clock frequency staging: media: tegra-video: tegra20: expand format support with RAW8/10 and YUV422/YUV420p 1X16 staging: media: tegra-video: tegra20: adjust luma buffer stride staging: media: tegra-video: add CSI support for Tegra20 and Tegra30 drivers/gpu/drm/tegra/dsi.c | 1 + drivers/gpu/host1x/Makefile | 1 + drivers/gpu/host1x/mipi.c | 592 +++----------- drivers/gpu/host1x/tegra114-mipi.c | 483 ++++++++++++ drivers/staging/media/tegra-video/Makefile | 1 + drivers/staging/media/tegra-video/csi.c | 64 +- drivers/staging/media/tegra-video/csi.h | 22 + drivers/staging/media/tegra-video/tegra20.c | 820 +++++++++++++++++--- drivers/staging/media/tegra-video/vi.c | 58 +- drivers/staging/media/tegra-video/vi.h | 6 +- drivers/staging/media/tegra-video/video.c | 8 +- drivers/staging/media/tegra-video/vip.c | 2 +- drivers/staging/media/tegra-video/vip.h | 2 +- include/linux/host1x.h | 10 - include/linux/tegra-mipi-cal.h | 57 ++ 15 files changed, 1482 insertions(+), 645 deletions(-) create mode 100644 drivers/gpu/host1x/tegra114-mipi.c create mode 100644 include/linux/tegra-mipi-cal.h -- 2.51.0