From nobody Wed Oct 8 17:29:50 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 5F2242DAFDB for ; Wed, 25 Jun 2025 16:45:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869950; cv=none; b=Pof30puaA9DROfvTHRro4eOvUQI7edmIwgkqkqqFSTXa8UCxVpzgp0gbFgz6vBobBf9AZB+NHIx1CCQJEwqQiHJ0Z/RFygu3m49BX+msH+t8AILQb3GHAXP1mtRA8MDYLMICodAQrtBI2MIbPIpJQOPEOLbLZOjdtrScPG1Sv3Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869950; c=relaxed/simple; bh=ih4o1cXJDJEoX+H/u65YPGMOSBTgqPs3G0/83Y/lLX4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MD7GLvbYbkvBoIvbPQrA7lioC0BG748m4K6th43MqjQGZu25dUbVPlAeQu95ZK7STmIFmZZUcA20tZiGCWG3BFP84A3QhBwCK4VBtGXW8lB/uxyjzbxif5U/hQ19X2vy+B5J8d8aZ1sAHdQYC1YrrlsIHmXcMetoruLw2FXcI1A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=fQE3MK2K; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="fQE3MK2K" Received: by mail.gandi.net (Postfix) with ESMTPSA id 7D6C144385; Wed, 25 Jun 2025 16:45:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869941; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=AXCxhWG7+TwYnqcCH1bbu1V1drghoo3o25zXzfcMhR0=; b=fQE3MK2KKKWZHSHpw/EOuCoGF8aaQpjXtXTKgLDEfZFrVd71HsENBSa9zfQ935i/ZiAr6U Zue6+swKxKCX2qDuZq9nwmBMGmyS5hy0wrXRiEy7j9+DuCI8EayCfTLrQEKXCzayL8PyAm DIvVkcv6iGYmlD5D/SVxrhN8rYSBRiLHYKJ7Of8/y2mpjhdivQ6a/I5fagLrezCITdcn8U H1287RI3xWyRT7jN7LoiLS9M/k5XnJerLk8jLnTH5cZ/1SFEvOx00pz5RD+UGtiNuMPIfe pmWjg588UvmhPsWq/PrpI1EvEoMGJkFKXfCkgti73xrJJ7SwktiqsI1k/jCcZA== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:05 +0200 Subject: [PATCH 01/32] drm/mipi-dsi: add sanity check of lane number in mipi_dsi_attach() 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: <20250625-drm-dsi-host-no-device-ptr-v1-1-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepvdgrtddvmeeijedtmedvtddvtdemvggrtddumegsvgegudemleehvgejmeefgeefmeeludefvgdphhgvlhhopegludelvddrudeikedrudejkedrjeehngdpmhgrihhlfhhrohhmpehluhgtrgdrtggvrhgvshholhhisegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopedvvddprhgtphhtthhopehjohhnrghssehkfihisghoohdrshgvpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgtohhmpdhrtghpthhtoheplhhinhhugidqshhunhigiheslhhishhtshdrlhhinhhugidruggvvhdpr hgtphhtthhopehmrdhsiiihphhrohifshhkihesshgrmhhsuhhnghdrtghomhdprhgtphhtthhopehrfhhoshhssehkvghrnhgvlhdrohhrghdprhgtphhtthhopehmrggrrhhtvghnrdhlrghnkhhhohhrshhtsehlihhnuhigrdhinhhtvghlrdgtohhmpdhrtghpthhtohepnhgvihhlrdgrrhhmshhtrhhonhhgsehlihhnrghrohdrohhrghdprhgtphhtthhopehjrghnihdrnhhikhhulhgrsehlihhnuhigrdhinhhtvghlrdgtohhm X-GND-Sasl: luca.ceresoli@bootlin.com Several drivers do some sanity checks on the lane number. Checking it is non-zero will allow to remove such checks. Additionally, we are about to move to an .attach_new host op which won't pass a pointer that the host driver can store. This will prevent host drivers to check for the presence of a device by storing such pointer and checking whether it is NULL. As a replacement, host drivers will be able to check the lane number to be non-zero, so ensuring a zero value is never passed along will make such checks robust. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/drm_mipi_dsi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/gpu/drm/drm_mipi_dsi.c b/drivers/gpu/drm/drm_mipi_dsi.c index a00d76443128e4972f939a8c9e26d949d2b30bb9..82d4f9c1de5fbc60f32d0b0baf4= 1e1bd2991ebe4 100644 --- a/drivers/gpu/drm/drm_mipi_dsi.c +++ b/drivers/gpu/drm/drm_mipi_dsi.c @@ -379,6 +379,9 @@ int mipi_dsi_attach(struct mipi_dsi_device *dsi) if (!ops || !ops->attach) return -ENOSYS; =20 + if (dsi->lanes < 1) + return dev_err_probe(&dsi->dev, -EINVAL, "Incorrect lanes number\n"); + ret =3D ops->attach(dsi->host, dsi); if (ret) return ret; --=20 2.49.0 From nobody Wed Oct 8 17:29:50 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 3C20B2DAFD3 for ; Wed, 25 Jun 2025 16:45:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869952; cv=none; b=eNVRi1A46nEBRKWdafVpn0CZhHOrSgvqcW4M1P7ubetPhoDRrdmFC5dX/+dcY4POKR/L3HaDNvCv1+7G5iSu2dqMwdq7KMB2Q7mQkdP9+3MBJV+au8aQU1o7Xwbl9hGbsCQGMe0Wh/Ri4boDEyGusl/OMfXtsJJRuPo7jcGRtYE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869952; c=relaxed/simple; bh=0tAuVOqypex+mKP0o0RDpiHIhb0cbbVYLpj5BxX78ZA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qkBqSdgSEEPMIbMIP484hZS3+Z2IyhYq1lcig9bB8rirFt3YC0LOT9z+u4zi1W6eIYzsWMIMDWdWr7UkFtrvAEniFWh/qyaDfaJuOGVkFyGlft/HGBgJ6RuwegeSDq6ag4kNe8cC5sWO8Cv8T/k+laxGfKEZ8jB83lHHu0SsdbY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=LYy6gzOu; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="LYy6gzOu" Received: by mail.gandi.net (Postfix) with ESMTPSA id 2A8CF4437D; Wed, 25 Jun 2025 16:45:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869942; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=KmAGn/VrnjYqlycoq46COahRcnHDMs9lXWBMwv0U3Z4=; b=LYy6gzOuPnf5GOVONzhJHxWS2TOAmEL54FRQp8iM2QtWaf1PK4EgHq/kXwqyU39C8/4cyR JimImRh50Fd5ybCqRzGV27Tf1fZEUyUEJXVXP2UOayNSWHqa3cfTJNcwCNlEJptugu+ovI zwg7wlw95vKsOIr7/5tOIQvg2+yA2alaztH7bKsi38hYb0O8BAT4ferEm/wq4cKj3br3HW dZ9lMx4V/ON6PDvGxOFq3F7FXf/peRZcNwphsKXMPy1uUMXMHpvF5earQhYb97j1LKhbFa Q8XpUX5RNbw08K1L3pPEqmyh6iexgSRIr2BmGWuing+gBTdc7J7MEchxZszhcg== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:06 +0200 Subject: [PATCH 02/32] drm/hisilicon/kirin: remove redundant lanes number check 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: <20250625-drm-dsi-host-no-device-ptr-v1-2-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepvdgrtddvmeeijedtmedvtddvtdemvggrtddumegsvgegudemleehvgejmeefgeefmeeludefvgdphhgvlhhopegludelvddrudeikedrudejkedrjeehngdpmhgrihhlfhhrohhmpehluhgtrgdrtggvrhgvshholhhisegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopedvvddprhgtphhtthhopehjohhnrghssehkfihisghoohdrshgvpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgtohhmpdhrtghpthhtoheplhhinhhugidqshhunhigiheslhhishhtshdrlhhinhhugidruggvvhdpr hgtphhtthhopehmrdhsiiihphhrohifshhkihesshgrmhhsuhhnghdrtghomhdprhgtphhtthhopehrfhhoshhssehkvghrnhgvlhdrohhrghdprhgtphhtthhopehmrggrrhhtvghnrdhlrghnkhhhohhrshhtsehlihhnuhigrdhinhhtvghlrdgtohhmpdhrtghpthhtohepnhgvihhlrdgrrhhmshhtrhhonhhgsehlihhnrghrohdrohhrghdprhgtphhtthhopehjrghnihdrnhhikhhulhgrsehlihhnuhigrdhinhhtvghlrdgtohhm X-GND-Sasl: luca.ceresoli@bootlin.com Checking that the number of lanes is > 0 is now done by the DRM MIPI DSI core in mipi_dsi_attach(). Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c b/drivers/gpu/drm= /hisilicon/kirin/dw_drm_dsi.c index e80debdc41763357cb2cf321205c0dfac80a911e..1a5b97abae86a187c751b4b579d= 7c22f206e4c90 100644 --- a/drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c +++ b/drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c @@ -728,7 +728,7 @@ static int dsi_host_attach(struct mipi_dsi_host *host, struct device *dev =3D host->dev; int ret; =20 - if (mdsi->lanes < 1 || mdsi->lanes > 4) { + if (mdsi->lanes > 4) { DRM_ERROR("dsi device params invalid\n"); return -EINVAL; } --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 792382DECCE for ; Wed, 25 Jun 2025 16:45:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869953; cv=none; b=iQtgT9ouWMY3a1KZa/LXPu7Wod/0mdXU/x1Pyk8PUnPYt95aC1aBMNqWxOq23UuFNNQoZmj5CawmTaiMA4CayW5iRd71HPPi4rbKbpQBiwH/q8nwsTbHmRLCngbycEHZ2JpMXpjM26kCLMu+gcNDNZtGET0/9x1QfA07stkhAhg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869953; c=relaxed/simple; bh=MbgQx/APm01ekuiR7SkK3VaQgpHvTHxD6fAJjGrtAGU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LkHqkfFvm7RkcnVNrUrRGMN282JO2tQNY8K+OPKI3xZL8fJuZF+bWnEjSonyAYY51jA3y4873dDY1vp43KfPp57WmNco1hd4zQK1Imi6ZVvc1XbKmz9dUMzRCYebZqKbxg0SPdxJekUw1yzqHq0jmNazAM5Ywtp7/RpE8szgozs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=BtVjb9AH; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="BtVjb9AH" Received: by mail.gandi.net (Postfix) with ESMTPSA id DB9C14437E; Wed, 25 Jun 2025 16:45:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869944; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Cma+Srfk20qGsHCkoDcXPBTLFyzqck33dFJ5ZFim5Pg=; b=BtVjb9AHzge0TznNYOjLnxtsiWvJEfDOrwMXLBJb79bk4jpqdEcDcvupzt5i3Ru4DfB+Re 1C80V0Ms2Va8JosZlaHa2LidkYDeXsTmVeHgoC/zZ1fWDZtaTtLQ7muvDbXUFrMPZ9WNVY NUaeGXsqywCGKAEg18bXEN+SnAPcmMiGWfncsHn3G6QIhfqaGN254zUBOOLnsH0DqWwPOQ VSDHLgxEo85+8lDBAeS3f3SCbCzdE73xJxs88/uyfWyViR3Fz1iGFWtVBBSRveiBuQXPrb VvGNLzgeFKGoQlf7QzYnbNUbsFqoGDQtJUDwT30+E/XEUoBQv4Rs+OdUrcBz/g== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:07 +0200 Subject: [PATCH 03/32] drm/bridge: nwl-dsi: remove redundant lanes number check 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: <20250625-drm-dsi-host-no-device-ptr-v1-3-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepvdgrtddvmeeijedtmedvtddvtdemvggrtddumegsvgegudemleehvgejmeefgeefmeeludefvgdphhgvlhhopegludelvddrudeikedrudejkedrjeehngdpmhgrihhlfhhrohhmpehluhgtrgdrtggvrhgvshholhhisegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopedvvddprhgtphhtthhopehjohhnrghssehkfihisghoohdrshgvpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgtohhmpdhrtghpthhtoheplhhinhhugidqshhunhigiheslhhishhtshdrlhhinhhugidruggvvhdpr hgtphhtthhopehmrdhsiiihphhrohifshhkihesshgrmhhsuhhnghdrtghomhdprhgtphhtthhopehrfhhoshhssehkvghrnhgvlhdrohhrghdprhgtphhtthhopehmrggrrhhtvghnrdhlrghnkhhhohhrshhtsehlihhnuhigrdhinhhtvghlrdgtohhmpdhrtghpthhtohepnhgvihhlrdgrrhhmshhtrhhonhhgsehlihhnrghrohdrohhrghdprhgtphhtthhopehjrghnihdrnhhikhhulhgrsehlihhnuhigrdhinhhtvghlrdgtohhm X-GND-Sasl: luca.ceresoli@bootlin.com Checking that the number of lanes is > 0 is now done by the DRM MIPI DSI core in mipi_dsi_attach(). Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/bridge/nwl-dsi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/bridge/nwl-dsi.c b/drivers/gpu/drm/bridge/nwl-= dsi.c index 2f7429b24fc20db104dec17182f1119c6c75e600..ccce663192b35a795dad8cb4792= 03d05b414173b 100644 --- a/drivers/gpu/drm/bridge/nwl-dsi.c +++ b/drivers/gpu/drm/bridge/nwl-dsi.c @@ -352,7 +352,7 @@ static int nwl_dsi_host_attach(struct mipi_dsi_host *ds= i_host, DRM_DEV_INFO(dev, "lanes=3D%u, format=3D0x%x flags=3D0x%lx\n", device->la= nes, device->format, device->mode_flags); =20 - if (device->lanes < 1 || device->lanes > 4) + if (device->lanes > 4) return -EINVAL; =20 dsi->lanes =3D device->lanes; --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 C8D0B2DAFC3 for ; Wed, 25 Jun 2025 16:45:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869950; cv=none; b=VSXam7fxkNiSc6H8qpymzlDEF09dgFEhfOfax+RTp5l5ULWyqxGaNSOBHGRQ0GeSz3NhsojgYHFCNY6l+bk2HOizkOZMmxRSZjUF762FzQQESeWDmNztf2LHbA7YCxjQltI8XstimWz04FefM7R63LI3ohvWG1gsKLl1a+1IiLM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869950; c=relaxed/simple; bh=SKwXtbp+19R1InG0TJ1pgQh2PoRNZe7ItgK8vq4mm/k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=tv0YN2aeiqskQbe2Q5N1ipYCeF/ZSE4l+ljRYOsN5OZBAwhznYVlWH/PON17SBl3+KRO7viJKEjbt8vIz055qtq9qK6on8iK0P5Ep7Htvw8CG4SA5W5TY2j/zSiEPI2Q9hh8Yo2dfGaPERgYY4z3+ELYvbSh0BhKVa9cB+FrTLk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=CuVTvK13; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="CuVTvK13" Received: by mail.gandi.net (Postfix) with ESMTPSA id 88EF044386; Wed, 25 Jun 2025 16:45:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869946; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DR/HpReQETRED18wGxZr6cMPSu+8dXT5y/cfBiLpX/I=; b=CuVTvK13QadedkGvVY8ixf2cn/ua6KXR3xUBa5UhAdhgtE9KLakOnfBw9w7j47podFzCbK j6yVSZvBau/W0bevBL5F64UuD4czA6IUwEr69Hq+eRGyCe/P+Wv2pn2ZeNURVpjo7N29UZ OvUUbRMRJt2pxxjYcEBzVLt39rCmGwbAteV310l5qBJ2/rp2kafeQ/LTPxi+DTFO2ArKKA H77zhE4dh9bwxe/h0pC+JfzzLgbMeM+nI5i6JpDU3pjvpxhTldUF4otXb/H0QU+xTBrH5L 55iBuZiEAZHvAKz2kR07AO6Bq6yq1ZkRfwSjfsah6vO1Cx0WkO4XWIN75fQK5A== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:08 +0200 Subject: [PATCH 04/32] drm/mcde: remove redundant lanes number check 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: <20250625-drm-dsi-host-no-device-ptr-v1-4-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepfeenucfrrghrrghmpehinhgvthepvdgrtddvmeeijedtmedvtddvtdemvggrtddumegsvgegudemleehvgejmeefgeefmeeludefvgdphhgvlhhopegludelvddrudeikedrudejkedrjeehngdpmhgrihhlfhhrohhmpehluhgtrgdrtggvrhgvshholhhisegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopedvvddprhgtphhtthhopehjohhnrghssehkfihisghoohdrshgvpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgtohhmpdhrtghpthhtoheplhhinhhugidqshhunhigiheslhhishhtshdrlhhinhhugidruggvvhdpr hgtphhtthhopehmrdhsiiihphhrohifshhkihesshgrmhhsuhhnghdrtghomhdprhgtphhtthhopehrfhhoshhssehkvghrnhgvlhdrohhrghdprhgtphhtthhopehmrggrrhhtvghnrdhlrghnkhhhohhrshhtsehlihhnuhigrdhinhhtvghlrdgtohhmpdhrtghpthhtohepnhgvihhlrdgrrhhmshhtrhhonhhgsehlihhnrghrohdrohhrghdprhgtphhtthhopehjrghnihdrnhhikhhulhgrsehlihhnuhigrdhinhhtvghlrdgtohhm X-GND-Sasl: luca.ceresoli@bootlin.com Checking that the number of lanes is > 0 is now done by the DRM MIPI DSI core in mipi_dsi_attach(). Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/mcde/mcde_dsi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/mcde/mcde_dsi.c b/drivers/gpu/drm/mcde/mcde_ds= i.c index a3423459dd7ac8395b77d0479a02ebb3a9ba259c..8e3b9c9c64e99239e54ba5a338c= f3bbb6c84b40f 100644 --- a/drivers/gpu/drm/mcde/mcde_dsi.c +++ b/drivers/gpu/drm/mcde/mcde_dsi.c @@ -172,7 +172,7 @@ static int mcde_dsi_host_attach(struct mipi_dsi_host *h= ost, { struct mcde_dsi *d =3D host_to_mcde_dsi(host); =20 - if (mdsi->lanes < 1 || mdsi->lanes > 2) { + if (mdsi->lanes > 2) { DRM_ERROR("dsi device params invalid, 1 or 2 lanes supported\n"); return -EINVAL; } --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 4748E2DAFDE for ; Wed, 25 Jun 2025 16:45:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869951; cv=none; b=pwtRNpPPbC7Sa7sNfpYIYo4H//ql/m4BHXY8sLxLH1ZU2duM5VjwblfjiMErxOuplv6k1BwkPkNzyR6xvuYZkYhvETpYRxFloOF5BhC0YFd/fIqBeKz5svuovdTQU6IOslbMH9cRGif4mTsrsbe2LxY25J4+DwpwY4wAQiea/Js= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869951; c=relaxed/simple; bh=XvvtwVhxl/S/8zjO2QIM6Pe5v0m8Gsdgpgw+ehH4z3Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=f5QEVNFKiG+DyvBdN9XjRFNAevzDbYzNppzbyXiQy1bdiAOyGIivvTCszLM2WOqtqcFM+jFuaMfMHj77P1H6SdgVHAUHTiSt49l75f37StaoCD93KDdNSy5ihoiJ+daiDYTXiLqv78fKUVnv3W7q1/wgmt4SWMtUxJXnGvJtRzs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=eFZD6zre; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="eFZD6zre" Received: by mail.gandi.net (Postfix) with ESMTPSA id 40FF14438E; Wed, 25 Jun 2025 16:45:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869947; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bV4eUxYdn3V7cpvk+JiImboxMK9at8bqkGIbGkErBX4=; b=eFZD6zrefLIO7wH0PDmlXy0yaERJbiir6FNuLD0WjEapxWfQpNgLa/AoYGSpfg6127/TyD R/1NhkIeBhVf/7HGrtYcEyM3y7ZOiyN5tCVcbxnq0CwmhHuM2r7ReyoWNLOD5FPlJpuKgp Jomw50ejrEgllXCegfqoLMwu3IQLdy2q2xwgmkahMhiaekgxFT1nqpZ3KGWnHPVo48NQQ6 PzqAPqR5al4d2t6f1JZFluQs2mtcji3GEH4XSjeSI4KKflO7DUykXQruZlBviZCmldVjCR Ov7OIWIqG33mAp+9i8SJ5gP7YOH3VRDRZNLIpZ0QXMLeUcuYKXq9vwgP62A/xg== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:09 +0200 Subject: [PATCH 05/32] drm/mipi-dsi: log DSI device attach and detach 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: <20250625-drm-dsi-host-no-device-ptr-v1-5-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepfeenucfrrghrrghmpehinhgvthepvdgrtddvmeeijedtmedvtddvtdemvggrtddumegsvgegudemleehvgejmeefgeefmeeludefvgdphhgvlhhopegludelvddrudeikedrudejkedrjeehngdpmhgrihhlfhhrohhmpehluhgtrgdrtggvrhgvshholhhisegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopedvvddprhgtphhtthhopehjohhnrghssehkfihisghoohdrshgvpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgtohhmpdhrtghpthhtoheplhhinhhugidqshhunhigiheslhhishhtshdrlhhinhhugidruggvvhdpr hgtphhtthhopehmrdhsiiihphhrohifshhkihesshgrmhhsuhhnghdrtghomhdprhgtphhtthhopehrfhhoshhssehkvghrnhgvlhdrohhrghdprhgtphhtthhopehmrggrrhhtvghnrdhlrghnkhhhohhrshhtsehlihhnuhigrdhinhhtvghlrdgtohhmpdhrtghpthhtohepnhgvihhlrdgrrhhmshhtrhhonhhgsehlihhnrghrohdrohhrghdprhgtphhtthhopehjrghnihdrnhhikhhulhgrsehlihhnuhigrdhinhhtvghlrdgtohhm X-GND-Sasl: luca.ceresoli@bootlin.com Some MIPI DSI host drivers log a line on attach success, failure, or attempt. These log lines are inconsistent and sparse across drivers. Moreover most of them use the "info" logging level, but drivers should be mostly or totally silent when successful. Add logging in the DSI core, so that it is consistent across drivers and not redundant. Log for both attach success and failure, and while there also log on detach. Print the main format parameters on each line (lanes, bpp and mode flags). Finally, use "debug" logging level (except for the "error" logging level in case of failure). Later commits will remove the now-redundant logging in individual drivers. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/drm_mipi_dsi.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_mipi_dsi.c b/drivers/gpu/drm/drm_mipi_dsi.c index 82d4f9c1de5fbc60f32d0b0baf41e1bd2991ebe4..f16f70c70c87988a95f959d0b8b= 18a6941dd2808 100644 --- a/drivers/gpu/drm/drm_mipi_dsi.c +++ b/drivers/gpu/drm/drm_mipi_dsi.c @@ -383,11 +383,19 @@ int mipi_dsi_attach(struct mipi_dsi_device *dsi) return dev_err_probe(&dsi->dev, -EINVAL, "Incorrect lanes number\n"); =20 ret =3D ops->attach(dsi->host, dsi); - if (ret) + if (ret) { + dev_err(dsi->host->dev, + "Failed to attach %s device (lanes:%d bpp:%d mode-flags:0x%lx) (%d)\n", + dsi->name, dsi->lanes, mipi_dsi_pixel_format_to_bpp(dsi->format), + dsi->mode_flags, ret); return ret; + } =20 dsi->attached =3D true; =20 + dev_dbg(dsi->host->dev, "Attached %s device (lanes:%d bpp:%d mode-flags:0= x%lx)\n", + dsi->name, dsi->lanes, mipi_dsi_pixel_format_to_bpp(dsi->format), dsi->m= ode_flags); + return 0; } EXPORT_SYMBOL(mipi_dsi_attach); @@ -406,6 +414,10 @@ int mipi_dsi_detach(struct mipi_dsi_device *dsi) if (!ops || !ops->detach) return -ENOSYS; =20 + dev_dbg(dsi->host->dev, "Detaching %s device (lanes:%d bpp:%d mode-flags:= 0x%lx)\n", + dsi->name, dsi->lanes, mipi_dsi_pixel_format_to_bpp(dsi->format), + dsi->mode_flags); + dsi->attached =3D false; =20 return ops->detach(dsi->host, dsi); --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 EFECC2DECB9 for ; Wed, 25 Jun 2025 16:45:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869954; cv=none; b=Z8lg8gIrT0RQH2z/egiRyrpKXlD/zRNA9uDqMyUWuSAasoDJ2WoQjts9rIBEkRmmtavOQ8G6zSxKJ25Q6i9H2Zi5+aLG5eHr8UJqDt9CmM2vYU2J39htYGWoDX6CNSDEfR+eyLunoSHUFzXI+Kz5kgBr0YXtW964Z7wmV1ecHDk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869954; c=relaxed/simple; bh=JoN7DnxckMSYh7ybyL+SRXJE+xmp4MF4ryIAEdog230=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OqLSgmU+va8NvpnAkJXJvGzNo7BXwjReUNc8HekcBG422R4NLij8IP50ZXPTgAVIm7lBVZUdHX39TZcHTQpO9q4RqR6jgX0bXOdhpfjScK2oYuFmb2+1kSkOX/fqPmyF70O9oiqVaSxGN0nYvCrtrUD1ww28xQEzT608PVNjcds= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=G3g6nu+3; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="G3g6nu+3" Received: by mail.gandi.net (Postfix) with ESMTPSA id DB01744389; Wed, 25 Jun 2025 16:45:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869949; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Q/6S6YcAJlYjX3ha2+9x4sfK74DDfCqUzHanLecuRx8=; b=G3g6nu+3fLzn+nxE290iQlGXkSoKKHUdO9CQYFXATR9AIvqLy675iygtOczDcUekjgd5YW MTD9jOJPF3fqeAE6j7eO2nGTHgFxU8iDaGQA3CwMeAd5Dp4yLAJ+1i2CGNA9jEGKh4uXx5 AdKzPzOcGOb19sGY1qLKBO1HzvgOss3lqd1aDfAYWcf3YvBZU7jyjUoYvOGvJENLINW8tL 4UGcdWn9on8J56lwq8L37GgYdLlLYOgAvtLtvh6Ak0WY6R/koCivxrJUxcXNxJdVw/tD6Z 35xx4hQ/x66pcmYpIFP3YlDwZefZgLJ9uYsZvZCBjhngpz149MQ/M90KULxv8Q== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:10 +0200 Subject: [PATCH 06/32] drm/bridge: samsung-dsim: remove redundant logging 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: <20250625-drm-dsi-host-no-device-ptr-v1-6-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepfeenucfrrghrrghmpehinhgvthepvdgrtddvmeeijedtmedvtddvtdemvggrtddumegsvgegudemleehvgejmeefgeefmeeludefvgdphhgvlhhopegludelvddrudeikedrudejkedrjeehngdpmhgrihhlfhhrohhmpehluhgtrgdrtggvrhgvshholhhisegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopedvvddprhgtphhtthhopehjohhnrghssehkfihisghoohdrshgvpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgtohhmpdhrtghpthhtoheplhhinhhugidqshhunhigiheslhhishhtshdrlhhinhhugidruggvvhdpr hgtphhtthhopehmrdhsiiihphhrohifshhkihesshgrmhhsuhhnghdrtghomhdprhgtphhtthhopehrfhhoshhssehkvghrnhgvlhdrohhrghdprhgtphhtthhopehmrggrrhhtvghnrdhlrghnkhhhohhrshhtsehlihhnuhigrdhinhhtvghlrdgtohhmpdhrtghpthhtohepnhgvihhlrdgrrhhmshhtrhhonhhgsehlihhnrghrohdrohhrghdprhgtphhtthhopehjrghnihdrnhhikhhulhgrsehlihhnuhigrdhinhhtvghlrdgtohhm X-GND-Sasl: luca.ceresoli@bootlin.com This line logged as info is too much, drivers should be mostly silent when everything works. And now there is an equivalent dbg line logged in mipi_dsi_attach(), valid for all DSI hosts. This avoids the need to access the @name field in struct mipi_dsi_device. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/bridge/samsung-dsim.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/gpu/drm/bridge/samsung-dsim.c b/drivers/gpu/drm/bridge= /samsung-dsim.c index f2f666b27d2d5ec016d7a7f47c87fcdf1377d41a..612651ca02c02df0e4f434b8d76= bd2f1274e3e4c 100644 --- a/drivers/gpu/drm/bridge/samsung-dsim.c +++ b/drivers/gpu/drm/bridge/samsung-dsim.c @@ -1757,11 +1757,6 @@ static int samsung_dsim_host_attach(struct mipi_dsi_= host *host, return ret; } =20 - DRM_DEV_INFO(dev, "Attached %s device (lanes:%d bpp:%d mode-flags:0x%lx)\= n", - device->name, device->lanes, - mipi_dsi_pixel_format_to_bpp(device->format), - device->mode_flags); - drm_bridge_add(&dsi->bridge); =20 /* --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 AE6E82DF3F9 for ; Wed, 25 Jun 2025 16:45:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869954; cv=none; b=VqXj442GommQrq3LcQW6hr7DH6cHwSobcttvueGU0aMlioHJ36Yk4Aj+tEwkdeUVNyJZxC0tUR5z2eJ9xPobwAc06GYqPyyJC89nQOKfxzswlHwoWvkYBOZMkIvzJd5/xAxTjx8XcYz9nA3gzCVRe+FDtgQiS5HD3H4eLGMr/HA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869954; c=relaxed/simple; bh=y7phsgYs6TlPsFl3otsPkwWT+BEZA8ZWwUF3NhMaJqk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ibXp27Za1828AoonbYOhS/DmUKrWj21rQBW8ENl+PccexQCg+yeLmCs+4Xg8oIJpBUnug6ObTC3vDDcRtbe2JpfJZAQ9QDWmu7t82U2SJNrEmIwv7Zu2zlUOdtoZPMDtbftRVYIeNc72PysEICKADAFsnDl1lVJTTzkxpJBPq3g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=jM+SF/Tc; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="jM+SF/Tc" Received: by mail.gandi.net (Postfix) with ESMTPSA id 846A944390; Wed, 25 Jun 2025 16:45:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869951; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FpAGFyy0CoYwC3ILaqHXglDkRDaZKdjlkfagsIr09OQ=; b=jM+SF/TcNpgpG08ytDav/3pxjqESZ19YK6ihhrOXlOacVBC0JXCyARvtYkHwIh0TI6Xeq5 9JkA9rI3VAUybUMCvlzPXvrs+HOEQSIggPzmpdr/8Zl9/WjDxOFL8CYyxMDbrgSOInXzXt P687Ic6avEwPiAM5dxVS4Nt6FFU49oOrpihgGRBC9FVnPuQH9tHkvXy8Ms4MiglHCdhvec VABWTSPksyY1VdSKttkt2+AplqZQHFFVIbCPcQ/tIRbM43XK7pCsLN34yAnnGxROWcAMC8 MxtX3PjytFuptMJ2QJxYZEaw8owSP8lblgnR6NEiF0cTXasZa+ubSIOCmecUHw== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:11 +0200 Subject: [PATCH 07/32] drm/bridge: nwl-dsi: remove redundant logging 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: <20250625-drm-dsi-host-no-device-ptr-v1-7-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepieenucfrrghrrghmpehinhgvthepvdgrtddvmeeijedtmedvtddvtdemvggrtddumegsvgegudemleehvgejmeefgeefmeeludefvgdphhgvlhhopegludelvddrudeikedrudejkedrjeehngdpmhgrihhlfhhrohhmpehluhgtrgdrtggvrhgvshholhhisegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopedvvddprhgtphhtthhopehjohhnrghssehkfihisghoohdrshgvpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgtohhmpdhrtghpthhtoheplhhinhhugidqshhunhigiheslhhishhtshdrlhhinhhugidruggvvhdpr hgtphhtthhopehmrdhsiiihphhrohifshhkihesshgrmhhsuhhnghdrtghomhdprhgtphhtthhopehrfhhoshhssehkvghrnhgvlhdrohhrghdprhgtphhtthhopehmrggrrhhtvghnrdhlrghnkhhhohhrshhtsehlihhnuhigrdhinhhtvghlrdgtohhmpdhrtghpthhtohepnhgvihhlrdgrrhhmshhtrhhonhhgsehlihhnrghrohdrohhrghdprhgtphhtthhopehjrghnihdrnhhikhhulhgrsehlihhnuhigrdhinhhtvghlrdgtohhm X-GND-Sasl: luca.ceresoli@bootlin.com This line logged as info is too much, drivers should be mostly silent when everything works. And now there is an equivalent dbg line logged in mipi_dsi_attach(), valid for all DSI hosts. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/bridge/nwl-dsi.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/gpu/drm/bridge/nwl-dsi.c b/drivers/gpu/drm/bridge/nwl-= dsi.c index ccce663192b35a795dad8cb479203d05b414173b..94356d02a7009a4d333f2df6c62= 8d57c4bf66fdb 100644 --- a/drivers/gpu/drm/bridge/nwl-dsi.c +++ b/drivers/gpu/drm/bridge/nwl-dsi.c @@ -347,10 +347,6 @@ static int nwl_dsi_host_attach(struct mipi_dsi_host *d= si_host, struct mipi_dsi_device *device) { struct nwl_dsi *dsi =3D container_of(dsi_host, struct nwl_dsi, dsi_host); - struct device *dev =3D dsi->dev; - - DRM_DEV_INFO(dev, "lanes=3D%u, format=3D0x%x flags=3D0x%lx\n", device->la= nes, - device->format, device->mode_flags); =20 if (device->lanes > 4) return -EINVAL; --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 5FCB22DFA3B for ; Wed, 25 Jun 2025 16:45:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869956; cv=none; b=O3b1HDfS14dJHdyJqJsAEXZLKVT46kMYPm7r1YkYY4RydP1yIA6K4cMcZEDn1R+aCYiYdofeUsfInFN+dSOdoPaaXSuCERGrR8h3wfW3FI0d6J7/ftpBKIYtvxHsZLZKoxIIDEvGnmdNK2gLQGSgH+V88pkjVMLzi+HewklQOfE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869956; c=relaxed/simple; bh=m7UvP12KnQadhngbCKfqy/TuW7Y1mBuhVo9H0JkEPeE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KTXBrXe/YPhjXmYZfDT9ikpZJZYxnzHQYsu6SSXZg20zpQj1kRiZMYxTZlgVOhL9fSmA05tUZLk70xB7FJVmFZ1GqVjk6O/fNyMaLO/s/PefBBmShN9PCwqIACjrTWzrYWJK4OJHwnKQPSYc9W3Xf9hjBzrukfCKbPdg1GqSD54= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=Bgu9urFJ; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="Bgu9urFJ" Received: by mail.gandi.net (Postfix) with ESMTPSA id 33E5A44394; Wed, 25 Jun 2025 16:45:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869952; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OZC8kTFkNZUH26dMbIXrbVtlmYb027xrF/4ZDarIWrE=; b=Bgu9urFJn7fQvdoXTxamXVA6Y+iMoDpD1Jv0U1vY7Ye+VQJ2KhNO/HbvWlKYRx1ThK7FNQ cmCh7t+HnwpTR5JP44m+cqUSNpXKYJDYm9CDLYh6Pl6UPCdwBlWBEgT/E/TVdt8C2Y+HkZ c08UuP6eZvUa29lML47DN4QJ99xPwwzGPdXdainOUymoCGEmRL+wcz08FRT2bbCx5VGp/f ZYew8NlIi/buQWk5UFLVLB5Yh4vxZQ1YBfPxBRfYqRCBfs9F3q5VE+BHDnzTuqWn7BUsxP LGlLrJGKVbgdEio4AO7ah+sV1DtdO+H0PmXEqSS6TpypvDX6j7mW+42R0rUp/g== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:12 +0200 Subject: [PATCH 08/32] drm/bridge: cdns-dsi: remove redundant logging 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: <20250625-drm-dsi-host-no-device-ptr-v1-8-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepieenucfrrghrrghmpehinhgvthepvdgrtddvmeeijedtmedvtddvtdemvggrtddumegsvgegudemleehvgejmeefgeefmeeludefvgdphhgvlhhopegludelvddrudeikedrudejkedrjeehngdpmhgrihhlfhhrohhmpehluhgtrgdrtggvrhgvshholhhisegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopedvvddprhgtphhtthhopehjohhnrghssehkfihisghoohdrshgvpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgtohhmpdhrtghpthhtoheplhhinhhugidqshhunhigiheslhhishhtshdrlhhinhhugidruggvvhdpr hgtphhtthhopehmrdhsiiihphhrohifshhkihesshgrmhhsuhhnghdrtghomhdprhgtphhtthhopehrfhhoshhssehkvghrnhgvlhdrohhrghdprhgtphhtthhopehmrggrrhhtvghnrdhlrghnkhhhohhrshhtsehlihhnuhigrdhinhhtvghlrdgtohhmpdhrtghpthhtohepnhgvihhlrdgrrhhmshhtrhhonhhgsehlihhnrghrohdrohhrghdprhgtphhtthhopehjrghnihdrnhhikhhulhgrsehlihhnuhigrdhinhhtvghlrdgtohhm X-GND-Sasl: luca.ceresoli@bootlin.com Now there is an equivalent of this dev_err in mipi_dsi_attach(), valid for all DSI hosts. This avoids the need to access the @name field in struct mipi_dsi_device. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c b/drivers/gpu/d= rm/bridge/cadence/cdns-dsi-core.c index a57ca8c3bdaea9d4d15dd23af221c111b7319ac4..005aa6121227b2f7ac682f3b724= e4518e8e5f721 100644 --- a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c +++ b/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c @@ -1072,7 +1072,6 @@ static int cdns_dsi_attach(struct mipi_dsi_host *host, struct cdns_dsi_output *output =3D &dsi->output; struct cdns_dsi_input *input =3D &dsi->input; struct drm_bridge *bridge; - int ret; =20 /* * We currently do not support connecting several DSI devices to the @@ -1093,12 +1092,8 @@ static int cdns_dsi_attach(struct mipi_dsi_host *hos= t, */ bridge =3D devm_drm_of_get_bridge(dsi->base.dev, dsi->base.dev->of_node, DSI_OUTPUT_PORT, dev->channel); - if (IS_ERR(bridge)) { - ret =3D PTR_ERR(bridge); - dev_err(host->dev, "failed to add DSI device %s (err =3D %d)", - dev->name, ret); - return ret; - } + if (IS_ERR(bridge)) + return PTR_ERR(bridge); =20 output->dev =3D dev; output->bridge =3D bridge; --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 E745A2E11D4 for ; Wed, 25 Jun 2025 16:45:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869957; cv=none; b=bdxnTLLIaIZKBF8WVkxAX2BKHD6frjW8MZkh7Q3W0Vp/8HntANDK1eHDLAiRk9GZWJ9QXkF0IkzG8DRElyn3ba8+cpXbqeBBhA6OvmPkSGw0JGYzklTZs6NFrefc3NWa28ojcVsWA6Y4BT4d3A4y5LT61Lx8wViUsAyOQcwi4oY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869957; c=relaxed/simple; bh=kgTJzO8aEsT8heHYZ5et9vI9FxkvLGLYrSj0WBqSaWQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=U1dH3NzmBKm7gvj+gg2zncQnlLat1NzIR4Xt3OajOOQZs44umxyOKvXwtSuOQrbjqsYy+1ZP+2wBwJtpmtVr3LsD0FFvv2zcRzEx+dAcSGt9nYYVw54Ghk6f61ihjQZtor4zSjXIxG7b0UHbVkgHFpwSX7gxaKyUsAaA0+6aX20= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=G+BtG25X; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="G+BtG25X" Received: by mail.gandi.net (Postfix) with ESMTPSA id CE4B144385; Wed, 25 Jun 2025 16:45:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869954; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=kCPMTNaHFexCk3Zy2OvXPod3AzIDWTk1kup720N+cLs=; b=G+BtG25Xz2gdQeN4l5BhBpOxodw242X8t8B8IGUpURejwkJ7wHL/YieOEp1cAMuQ7GvW5v vp2C1ESFIShA/QLT/GUlbEt4EzLfC19KVJk4ojt3suHl9HFT2RJOwJ/k8KsYwXE5MafQ4Q KPY8kwxrQYdFDAuhZnILE8tAfzbDlSb1MjjMhVzkUnKzT4QvV897LhtDXTaZ7ILk8e0/S/ 20kWfQ6l3mHO7IFVI1IJFmtLZIr0IVxMBRcr/VbrTyNQSwtDJ0day0/uW6vAdX4zwiZ22S g75dOTPOu3tvCAxv55gs+EEABGg99UN0qovrNzlc4VE1J1AZYySeEz2fx47eqQ== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:13 +0200 Subject: [PATCH 09/32] drm/mcde: remove redundant logging 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: <20250625-drm-dsi-host-no-device-ptr-v1-9-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepieenucfrrghrrghmpehinhgvthepvdgrtddvmeeijedtmedvtddvtdemvggrtddumegsvgegudemleehvgejmeefgeefmeeludefvgdphhgvlhhopegludelvddrudeikedrudejkedrjeehngdpmhgrihhlfhhrohhmpehluhgtrgdrtggvrhgvshholhhisegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopedvvddprhgtphhtthhopehjohhnrghssehkfihisghoohdrshgvpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgtohhmpdhrtghpthhtoheplhhinhhugidqshhunhigiheslhhishhtshdrlhhinhhugidruggvvhdpr hgtphhtthhopehmrdhsiiihphhrohifshhkihesshgrmhhsuhhnghdrtghomhdprhgtphhtthhopehrfhhoshhssehkvghrnhgvlhdrohhrghdprhgtphhtthhopehmrggrrhhtvghnrdhlrghnkhhhohhrshhtsehlihhnuhigrdhinhhtvghlrdgtohhmpdhrtghpthhtohepnhgvihhlrdgrrhhmshhtrhhonhhgsehlihhnrghrohdrohhrghdprhgtphhtthhopehjrghnihdrnhhikhhulhgrsehlihhnuhigrdhinhhtvghlrdgtohhm X-GND-Sasl: luca.ceresoli@bootlin.com These lines logged as info are too much, drivers should be mostly silent when everything works. And now there is an equivalent dbg line logged in mipi_dsi_attach(), valid for all DSI hosts. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/mcde/mcde_dsi.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/drivers/gpu/drm/mcde/mcde_dsi.c b/drivers/gpu/drm/mcde/mcde_ds= i.c index 8e3b9c9c64e99239e54ba5a338cf3bbb6c84b40f..04041ad9231bd53cf4bfa18ad41= caa19df3b838a 100644 --- a/drivers/gpu/drm/mcde/mcde_dsi.c +++ b/drivers/gpu/drm/mcde/mcde_dsi.c @@ -177,12 +177,6 @@ static int mcde_dsi_host_attach(struct mipi_dsi_host *= host, return -EINVAL; } =20 - dev_info(d->dev, "attached DSI device with %d lanes\n", mdsi->lanes); - /* MIPI_DSI_FMT_RGB88 etc */ - dev_info(d->dev, "format %08x, %dbpp\n", mdsi->format, - mipi_dsi_pixel_format_to_bpp(mdsi->format)); - dev_info(d->dev, "mode flags: %08lx\n", mdsi->mode_flags); - d->mdsi =3D mdsi; if (d->mcde) mcde_dsi_attach_to_mcde(d); --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 B42A52E11CD for ; Wed, 25 Jun 2025 16:45:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869959; cv=none; b=sQrZZOcywfU2JtWxGCFTScN+s6OJcHkpox9Q2V0I6ng6DeNpjyNz8mBFk/BiNiIgcEsyRpG7rncHc9gRbH2jQbcfqrI0OanYjskyOf4EdxB7OiIq/N4NyPbbWHqM2zHJ2+NZLmTcjMX3gp9UhsS5pm641gGNQsnkjx51QISJuxY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869959; c=relaxed/simple; bh=wGb963DiYvTUAphmrHa/bnXygVIy8Lq5LwJ8SJWRlxM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bHLBQ+dJuJGdDSVSGs9ghnVuWY5Z1QqmdWFoS0n0oXdviz0/iO1fP3ZIYQugXuRX0GJwmUV4BzCp//FSOPDDfyWZcbWPF0LDNqXl5VgNCv2IrhEDoIfO/F7LfP/Hi6ZqRSQLVduTq9S+S/Agrs7B4dP0p5GZv518exnE7OIqRhQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=YZg8gfDi; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="YZg8gfDi" Received: by mail.gandi.net (Postfix) with ESMTPSA id 7AA8B4437D; Wed, 25 Jun 2025 16:45:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869956; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=JEqmBcfMSepdpqCCVakwQjrb9skACgoH0BC+muTRwys=; b=YZg8gfDidXPx2l9gp3h33OWcifcGQJK0SrK7q/OfXm29Ij5HszXtRZ1kOqGc1/GwLl/ubF 2EwpEXUtBVujvjQ1DTLQ9iVbraMeE9Jh3vzvgnzKbxruN4gACvQjMHiaByFLZNS1o70fO3 M0fl6jbtBPxiVYp6DzSU02fQpbqvdDJpHbnIOTDQ5R7CFL0QnB4OCeqFdMYOgjcVwpH+h0 dwlorMezeDVlYXqEyT9zjT67VP2aRHSpOwEWJlgB91cHupLHzfOkAi5KP2zF+QDB70OKkj /bvbOa779rNQyFJYyayLDZ/nYBTaMFYFMnp7K68kzBApTZ4jUdRipF3lMikgWg== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:14 +0200 Subject: [PATCH 10/32] drm/sun4i: dsi: remove redundant logging 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: <20250625-drm-dsi-host-no-device-ptr-v1-10-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepieenucfrrghrrghmpehinhgvthepvdgrtddvmeeijedtmedvtddvtdemvggrtddumegsvgegudemleehvgejmeefgeefmeeludefvgdphhgvlhhopegludelvddrudeikedrudejkedrjeehngdpmhgrihhlfhhrohhmpehluhgtrgdrtggvrhgvshholhhisegsohhothhlihhnrdgtohhmpdhnsggprhgtphhtthhopedvvddprhgtphhtthhopehjohhnrghssehkfihisghoohdrshgvpdhrtghpthhtohepthhhohhmrghsrdhpvghtrgiiiihonhhisegsohhothhlihhnrdgtohhmpdhrtghpthhtoheplhhinhhugidqshhunhigiheslhhishhtshdrlhhinhhugidruggvvhdpr hgtphhtthhopehmrdhsiiihphhrohifshhkihesshgrmhhsuhhnghdrtghomhdprhgtphhtthhopehrfhhoshhssehkvghrnhgvlhdrohhrghdprhgtphhtthhopehmrggrrhhtvghnrdhlrghnkhhhohhrshhtsehlihhnuhigrdhinhhtvghlrdgtohhmpdhrtghpthhtohepnhgvihhlrdgrrhhmshhtrhhonhhgsehlihhnrghrohdrohhrghdprhgtphhtthhopehjrghnihdrnhhikhhulhgrsehlihhnuhigrdhinhhtvghlrdgtohhm X-GND-Sasl: luca.ceresoli@bootlin.com Now there is an equivalent of this dev_err in mipi_dsi_attach(), valid for all DSI hosts. This avoids the need to access the @name field in struct mipi_dsi_device. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c b/drivers/gpu/drm/sun4i= /sun6i_mipi_dsi.c index c35b70d83e53b7397c6e38dde45824bd49fdf099..50e41bc147c92e2f9df415a96eb= 3e1c5efdc6958 100644 --- a/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c +++ b/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c @@ -975,8 +975,6 @@ static int sun6i_dsi_attach(struct mipi_dsi_host *host, =20 drm_kms_helper_hotplug_event(dsi->drm); =20 - dev_info(host->dev, "Attached device %s\n", device->name); - return 0; } =20 --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 494FD2E613A for ; Wed, 25 Jun 2025 16:45:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869962; cv=none; b=Fqe29A3KB3HW8fhZHXYwEcklI4ftFHtMnulAApo9yVEmghUtawwxJ0Q0LbqKLcaA4Uv+VVvj5Kwj0V6NbtrODRXzWHxt2x4/ssLPYaC9JWKj4TwGon1K/de+RxP/vybnAwM6vZKQ7cfUqNZKMpsfQ1ht+BGJmwNiqL4Z+SJJQZY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869962; c=relaxed/simple; bh=pN2yU2bpvzRy6uO9lzUhoPxsDxY2SFM62r5DrfPst+w=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bk/apcPSMOFD25Be6Mh8sBtad6uRb6TUlV+a1ygc1R0/lIXkYPgmL1F1p6mC3SUz1Sq0QkJsVHtY3wCmlaifeDb86Bx55qUFucXjViMeWfCJlDNHiVDlq4YGQgNpHNv5lJ8myqQKpSl8ccX6muK7iBFQEtJWtfyjdz6FyKQfC+w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=kSaLkQWi; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="kSaLkQWi" Received: by mail.gandi.net (Postfix) with ESMTPSA id 32E864437E; Wed, 25 Jun 2025 16:45:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869957; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7k6satfrxz16BIUnmlwWCoWUpPsP83DstQRr2M9+JZY=; b=kSaLkQWiEEVWZbmy5sZtkrBUCtduymNwNpwUvmXRUI8glZq0Z63csutFNLMz5WCrNnpRXd xpkUWSdt+7Ujr+/5Y+nyoCbGA7bpoP1ijR0FPP672moosCv0YA5jCgcbNg7nj4nTJpBL8N PO1PMuSA12Jbq9rTZxIaUvqgyzbyV8QOMwtJ5LreDlM/S27XTOWoqmjH4YBiQT00efiUMB kMBLgXBkzEVFUH8aporhqcp369f2ogLpkVqZjvTLSno7FLGUuaIkjvNdQl+hDjGEGGBDJc djvN4ae1+ywZvcBC/7B66fnLrwRLFZ6Tjf1GEOTx337jYL7enraAdlHLVnS3Ew== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:15 +0200 Subject: [PATCH 11/32] drm/bridge: synopsys/dsi2: remove DSI device pointer from private callbacks 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: <20250625-drm-dsi-host-no-device-ptr-v1-11-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepuddtnecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com The callbacks in struct dw_mipi_dsi2_host_ops have a struct mipi_dsi_device pointer to the device, which is unused. Remove it as a step towards avoiding DSI host drivers to hold a pointer to the DSI device. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c | 4 ++-- drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c | 6 ++---- include/drm/bridge/dw_mipi_dsi2.h | 6 ++---- 3 files changed, 6 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c b/drivers/gpu/d= rm/bridge/synopsys/dw-mipi-dsi2.c index 5926a3a05d79ff42f56adb4d09c7378191493ba1..a994dfc1c0d2f6bbcab615c645d= 4dff7b90a756f 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c @@ -538,7 +538,7 @@ static int dw_mipi_dsi2_host_attach(struct mipi_dsi_hos= t *host, drm_bridge_add(&dsi2->bridge); =20 if (pdata->host_ops && pdata->host_ops->attach) { - ret =3D pdata->host_ops->attach(pdata->priv_data, device); + ret =3D pdata->host_ops->attach(pdata->priv_data); if (ret < 0) return ret; } @@ -554,7 +554,7 @@ static int dw_mipi_dsi2_host_detach(struct mipi_dsi_hos= t *host, int ret; =20 if (pdata->host_ops && pdata->host_ops->detach) { - ret =3D pdata->host_ops->detach(pdata->priv_data, device); + ret =3D pdata->host_ops->detach(pdata->priv_data); if (ret < 0) return ret; } diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c b/drivers/gpu= /drm/rockchip/dw-mipi-dsi2-rockchip.c index cdd490778756f67be69a5c4319b30520c42cdec8..998cbeb78d15562090910df5a25= b3ca9cc60d33a 100644 --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi2-rockchip.c @@ -335,8 +335,7 @@ static const struct component_ops dw_mipi_dsi2_rockchip= _ops =3D { .unbind =3D dw_mipi_dsi2_rockchip_unbind, }; =20 -static int dw_mipi_dsi2_rockchip_host_attach(void *priv_data, - struct mipi_dsi_device *device) +static int dw_mipi_dsi2_rockchip_host_attach(void *priv_data) { struct dw_mipi_dsi2_rockchip *dsi2 =3D priv_data; int ret; @@ -348,8 +347,7 @@ static int dw_mipi_dsi2_rockchip_host_attach(void *priv= _data, return 0; } =20 -static int dw_mipi_dsi2_rockchip_host_detach(void *priv_data, - struct mipi_dsi_device *device) +static int dw_mipi_dsi2_rockchip_host_detach(void *priv_data) { struct dw_mipi_dsi2_rockchip *dsi2 =3D priv_data; =20 diff --git a/include/drm/bridge/dw_mipi_dsi2.h b/include/drm/bridge/dw_mipi= _dsi2.h index c18c49379247cd5df31a1b014524347b4d92a0a5..0117fe218ea79a30353b2a59491= 64aa88b18a2b7 100644 --- a/include/drm/bridge/dw_mipi_dsi2.h +++ b/include/drm/bridge/dw_mipi_dsi2.h @@ -54,10 +54,8 @@ struct dw_mipi_dsi2_phy_ops { }; =20 struct dw_mipi_dsi2_host_ops { - int (*attach)(void *priv_data, - struct mipi_dsi_device *dsi); - int (*detach)(void *priv_data, - struct mipi_dsi_device *dsi); + int (*attach)(void *priv_data); + int (*detach)(void *priv_data); }; =20 struct dw_mipi_dsi2_plat_data { --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 36C9F2F4300 for ; Wed, 25 Jun 2025 16:46:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869964; cv=none; b=YeSZq8FkS6lqF7I3o0iS9uldSBJuV9A275cR/djY248nXGQdmWdkqulISofDDGCzB49Ckkub1ie9lbqRwkB9+2ljTcSvmKiFvnbo6v0dNhlQSe6WxIEhBkSUMPJ1NwzMchRkOFNA0A8CVFY3kmCf8b1NTx5AGiQzoytrFW6VNxo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869964; c=relaxed/simple; bh=1ZxuD9ArotDKGeccKG/W3puoI8zipvhGpvT0iWc7EX4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Vr767zHUrwlt6do+hSlYxABlgnxG22q2Rjw2lF6YFcycsl/AkwDX0o2X1P+oiSpmij+m/8tRaXqOApq4xapN6dzrFU61t6HmaGtKmTEWEZBPFWTIzC0ZmlO0McfRCYtuwlZOaZBosM3AKMX1qA1Cg5r9NMYFVMZLPvpUo2QvFag= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=DK8HfmfB; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="DK8HfmfB" Received: by mail.gandi.net (Postfix) with ESMTPSA id E81D044386; Wed, 25 Jun 2025 16:45:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869959; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=dCQjC3bxYvAsR76L+Ka0VGOBlYXbT49K68X3RUdoAdE=; b=DK8HfmfBZWaC1d4Xl9TmPw8w0zs26U5m8UpD5e4SJPeyWi2ix67ZtacUhw7fi1bdv8Jmmf UIodYCi1+2o9+5a/zgz5UT4MKF2Vrx8t/RDmv7qUmQ8iaLoEMCEEeZy0+7dGp+8iyPp7Yu 4zRVlbfiTZIxCDB1e1700B09fNLR4J020PiyFGIZaOebaX9uWkGbWzMIe+vCphyrZeQ/JI RePyDThjA+NE1ZUhQpkZe2YkdpGh6HxgNeVEhDau9KX0Qp8MUHsLbSeIEf3OWrnB43X3M8 vCEx0lcq/sZnOYTzD+FeCbwgoHjbSUhOy+xky16JLpbNbJeGzmYxtrVmMXjgHA== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:16 +0200 Subject: [PATCH RFC 12/32] drm/meson: dsi: remove unneeded DSI device check 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: <20250625-drm-dsi-host-no-device-ptr-v1-12-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , linux-amlogic@lists.infradead.org X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepuddtnecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvdeipdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehkhhhilhhmrghnsegsrgihlhhisghrvgdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhg X-GND-Sasl: luca.ceresoli@bootlin.com This check is not really needed: there is no reason the detaching client can be different from the attached one. Should this happen, that would be a bug elsewhere. Signed-off-by: Luca Ceresoli --- **NOTE**: I'm not 100% sure this is correct, but it appears so, and other drivers have no such check. And anyway it appears that such a check should belong to the core, not to individual drivers. Comments welcome! To: Kevin Hilman To: Jerome Brunet To: Martin Blumenstingl Cc: linux-amlogic@lists.infradead.org --- drivers/gpu/drm/meson/meson_dw_mipi_dsi.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c b/drivers/gpu/drm/me= son/meson_dw_mipi_dsi.c index 66c73c512b0e68ff0e9dbbfaba5f8bf2d347e6b1..4dc726cef5455075def7927a469= ae23020ebfec7 100644 --- a/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c +++ b/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c @@ -252,11 +252,6 @@ static int meson_dw_mipi_dsi_host_detach(void *priv_da= ta, { struct meson_dw_mipi_dsi *mipi_dsi =3D priv_data; =20 - if (device =3D=3D mipi_dsi->dsi_device) - mipi_dsi->dsi_device =3D NULL; - else - return -EINVAL; - return phy_exit(mipi_dsi->phy); } =20 --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 ECE8C2F4311 for ; Wed, 25 Jun 2025 16:46:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869964; cv=none; b=eLSFg0BV14khDpo4Q0tg8p0pTQ9qarY6jYe7w5c6g7Lb3mfZGEawY6w+ITZtb6rCzvNwB4S14Vugjr+jRn3x7/ZoCz0alSCwzcGyvm+xCPqwHrgXr5KQOqjihXKbpA25oeGILwt2IME8Iw+IRBuLdAopQ/B8RThvnmeWKCsmzsg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869964; c=relaxed/simple; bh=jMJ4mUyUrsowAfMq/H9veTuhU9ys3TaVVx/l6nqA9aI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=XHKyE/Y+84UoNTWHYNQXBktjj/l8xi8CYeJipr+1ydAOt3z4wE30ZJ+0Lb9FZE1AftVRL/OB+YAKjW7BXthGxFQQCXBQts1MskwDVTmmD+XAVYxAFp85IHuK3zpRxb1gxbS75bodaVIqcRBNjKZYe3mfBE2jOG0CD+KDfLNWFoc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=QuxfdDHq; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="QuxfdDHq" Received: by mail.gandi.net (Postfix) with ESMTPSA id DAB394437D; Wed, 25 Jun 2025 16:45:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869961; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3a1Rzdc1h479uhkmsSChL9Bs/Oz8Co/C/4PMlEqNa3g=; b=QuxfdDHqgPHRizJVH+3oQCXlpbMy5eywPhI4Ozl0lF2js/0GOMfrMlciMa9NtNXRr+Z7q4 xKrFtXj2Ag38H5ZlAEBRb4xEwj2bgrO6sxsu8+UtJMqPCKiTA/nwJFcJPJn1AadfkfNpbi rLq3koLgDr8H37S0vvYMOAIAsG9Po5vPVlh9+NFgxiTP3wR7VrvF/f9kabpvxhkfAnn0r3 oXPaYfeZithCwipFBKdm9GAELB2719Fo1q/cK0JnMpgL2dS6DMIuQQNUqz1oOK9L4k/uVq ryeSwMfcroju3yYq8torzkFLB/Tfo97r5NlbMxXtNyDvXzwrXV5SOHo1BdVuGw== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:17 +0200 Subject: [PATCH 13/32] drm/mipi-dsi: move format define above 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: <20250625-drm-dsi-host-no-device-ptr-v1-13-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepuddtnecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com In preparation for adding a new struct using them, but visible to the struct mipi_dsi_host_ops declaration, move them above such declaration. Signed-off-by: Luca Ceresoli --- include/drm/drm_mipi_dsi.h | 76 +++++++++++++++++++++++-------------------= ---- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/include/drm/drm_mipi_dsi.h b/include/drm/drm_mipi_dsi.h index b37860f4a895c25ef8ba1c5b3f44827ef53aa100..e42483fd022fed4dfc9e5ef1801= 17c3dd37a3b51 100644 --- a/include/drm/drm_mipi_dsi.h +++ b/include/drm/drm_mipi_dsi.h @@ -64,6 +64,44 @@ struct mipi_dsi_packet { int mipi_dsi_create_packet(struct mipi_dsi_packet *packet, const struct mipi_dsi_msg *msg); =20 +/* DSI mode flags */ + +/* video mode */ +#define MIPI_DSI_MODE_VIDEO BIT(0) +/* video burst mode */ +#define MIPI_DSI_MODE_VIDEO_BURST BIT(1) +/* video pulse mode */ +#define MIPI_DSI_MODE_VIDEO_SYNC_PULSE BIT(2) +/* enable auto vertical count mode */ +#define MIPI_DSI_MODE_VIDEO_AUTO_VERT BIT(3) +/* enable hsync-end packets in vsync-pulse and v-porch area */ +#define MIPI_DSI_MODE_VIDEO_HSE BIT(4) +/* disable hfront-porch area */ +#define MIPI_DSI_MODE_VIDEO_NO_HFP BIT(5) +/* disable hback-porch area */ +#define MIPI_DSI_MODE_VIDEO_NO_HBP BIT(6) +/* disable hsync-active area */ +#define MIPI_DSI_MODE_VIDEO_NO_HSA BIT(7) +/* flush display FIFO on vsync pulse */ +#define MIPI_DSI_MODE_VSYNC_FLUSH BIT(8) +/* disable EoT packets in HS mode */ +#define MIPI_DSI_MODE_NO_EOT_PACKET BIT(9) +/* device supports non-continuous clock behavior (DSI spec 5.6.1) */ +#define MIPI_DSI_CLOCK_NON_CONTINUOUS BIT(10) +/* transmit data in low power */ +#define MIPI_DSI_MODE_LPM BIT(11) +/* transmit data ending at the same time for all lanes within one hsync */ +#define MIPI_DSI_HS_PKT_END_ALIGNED BIT(12) + +enum mipi_dsi_pixel_format { + MIPI_DSI_FMT_RGB888, + MIPI_DSI_FMT_RGB666, + MIPI_DSI_FMT_RGB666_PACKED, + MIPI_DSI_FMT_RGB565, +}; + +#define DSI_DEV_NAME_SIZE 20 + /** * struct mipi_dsi_host_ops - DSI bus operations * @attach: attach DSI device to DSI host @@ -112,44 +150,6 @@ int mipi_dsi_host_register(struct mipi_dsi_host *host); void mipi_dsi_host_unregister(struct mipi_dsi_host *host); struct mipi_dsi_host *of_find_mipi_dsi_host_by_node(struct device_node *no= de); =20 -/* DSI mode flags */ - -/* video mode */ -#define MIPI_DSI_MODE_VIDEO BIT(0) -/* video burst mode */ -#define MIPI_DSI_MODE_VIDEO_BURST BIT(1) -/* video pulse mode */ -#define MIPI_DSI_MODE_VIDEO_SYNC_PULSE BIT(2) -/* enable auto vertical count mode */ -#define MIPI_DSI_MODE_VIDEO_AUTO_VERT BIT(3) -/* enable hsync-end packets in vsync-pulse and v-porch area */ -#define MIPI_DSI_MODE_VIDEO_HSE BIT(4) -/* disable hfront-porch area */ -#define MIPI_DSI_MODE_VIDEO_NO_HFP BIT(5) -/* disable hback-porch area */ -#define MIPI_DSI_MODE_VIDEO_NO_HBP BIT(6) -/* disable hsync-active area */ -#define MIPI_DSI_MODE_VIDEO_NO_HSA BIT(7) -/* flush display FIFO on vsync pulse */ -#define MIPI_DSI_MODE_VSYNC_FLUSH BIT(8) -/* disable EoT packets in HS mode */ -#define MIPI_DSI_MODE_NO_EOT_PACKET BIT(9) -/* device supports non-continuous clock behavior (DSI spec 5.6.1) */ -#define MIPI_DSI_CLOCK_NON_CONTINUOUS BIT(10) -/* transmit data in low power */ -#define MIPI_DSI_MODE_LPM BIT(11) -/* transmit data ending at the same time for all lanes within one hsync */ -#define MIPI_DSI_HS_PKT_END_ALIGNED BIT(12) - -enum mipi_dsi_pixel_format { - MIPI_DSI_FMT_RGB888, - MIPI_DSI_FMT_RGB666, - MIPI_DSI_FMT_RGB666_PACKED, - MIPI_DSI_FMT_RGB565, -}; - -#define DSI_DEV_NAME_SIZE 20 - /** * struct mipi_dsi_device_info - template for creating a mipi_dsi_device * @type: DSI peripheral chip type --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 9B4982E4247 for ; Wed, 25 Jun 2025 16:46:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869966; cv=none; b=hfVwizRbs9ScdS2T0OeFppmCxw/zZnQWJxSfyKpiNawGhlhZgzrGegH1k3zi+a8Yhvxy97wR1A5KZXVPN6C8c7Q4E/VaIy0KgL2exYHt6wXdwn+xUjmtKVbUOwAFr6xQrqgwzImS/3DxjF6iXaWHIjO1FNjJfbDGDCLfuQD2g48= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869966; c=relaxed/simple; bh=pZ7/U3CMBQAhoYM5ErP5YgHoZj+0wKpHwQ9KkKEP44U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Yz7yypuG3WH+51rDv5+T58p8tF+1y6WKPH3LA/hfgonSlFu5p7UI2TZInz3XynPIWTKr8yVqyxZU06K3W+rTjgDLfidviQSfi8uTf2QHW3BTEsLbH7yR/QWi8+Yfb0i9+iIWacKbAcTQMUZeDBen/LBdBflom3btejLl+slR3dU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=ZPLukC9c; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="ZPLukC9c" Received: by mail.gandi.net (Postfix) with ESMTPSA id 90EF644385; Wed, 25 Jun 2025 16:46:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869963; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7aMIIvPoDM01vNfoZ9eCSObJWzHVDzuQexaFjoN/uOA=; b=ZPLukC9cJ3MtogNKfJ/bLJlzzhv4HI9mIMhMGRf9oPNVbnH54AuMjg75kvgXXkWkBa+kLy 0R0dZKUceEcdrBPC91I3I2GfLyb0IlSdzHNfrtKfEcSTj7a/99BBp0DlhcMhJ542Sue6PQ nyU3ULccG5UI1lMPn5Kp9f0Leclh7TohfY1Xtun3O2bt8gexorNF5J7vKgyj9NsFSVLgib WcKSprlKy89gwGAcS48coU04A86ETURM1h3IJxxihQ2CtaECp7e1VVxFUm1PJGhvWGOjke tM31McOhul4OpHJH+D9uvKB5x6JoMXMn2W7zy0erRhGwO6Ssj73IXVo4wB3qaQ== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:18 +0200 Subject: [PATCH 14/32] drm/mipi-dsi: add .attach_new to mipi_dsi_host_ops 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: <20250625-drm-dsi-host-no-device-ptr-v1-14-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepudefnecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com In preparation to avoid DSI host drivers to take any pointer to struct mipi_dsi_device, add a new host op which does not take such pointer. The old op can be removed once all users are converted to the new one. The .attach_new op takes the DSI device format values, (part of) which are needed by most DSI host drivers. It passes a temporary struct, in order to ensure host drivers copy the values they need and not keep a pointer. The struct with the data (struct mipi_dsi_bus_fmt) is a subset of struct mipi_dsi_device. After all host drivers are converted, struct mipi_dsi_device can be modified to hold a struct mipi_dsi_bus_fmt instead of individual fields. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/drm_mipi_dsi.c | 21 +++++++++++++++++++-- include/drm/drm_mipi_dsi.h | 29 ++++++++++++++++++++++++++++- 2 files changed, 47 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/drm_mipi_dsi.c b/drivers/gpu/drm/drm_mipi_dsi.c index f16f70c70c87988a95f959d0b8b18a6941dd2808..f45425f777f6bed6ac5f261b009= 7455c52ab7d9e 100644 --- a/drivers/gpu/drm/drm_mipi_dsi.c +++ b/drivers/gpu/drm/drm_mipi_dsi.c @@ -367,6 +367,18 @@ void mipi_dsi_host_unregister(struct mipi_dsi_host *ho= st) } EXPORT_SYMBOL(mipi_dsi_host_unregister); =20 +static void mipi_dsi_dev_copy_bus_fmt(struct mipi_dsi_bus_fmt *fmt, + const struct mipi_dsi_device *dsi_dev) +{ + fmt->channel =3D dsi_dev->channel; + fmt->lanes =3D dsi_dev->lanes; + fmt->format =3D dsi_dev->format; + fmt->mode_flags =3D dsi_dev->mode_flags; + fmt->hs_rate =3D dsi_dev->hs_rate; + fmt->lp_rate =3D dsi_dev->lp_rate; + fmt->dsc =3D dsi_dev->dsc; +} + /** * mipi_dsi_attach - attach a DSI device to its DSI host * @dsi: DSI peripheral @@ -374,15 +386,20 @@ EXPORT_SYMBOL(mipi_dsi_host_unregister); int mipi_dsi_attach(struct mipi_dsi_device *dsi) { const struct mipi_dsi_host_ops *ops =3D dsi->host->ops; + struct mipi_dsi_bus_fmt bus_fmt; int ret; =20 - if (!ops || !ops->attach) + if (!ops || !(ops->attach_new || ops->attach)) return -ENOSYS; =20 if (dsi->lanes < 1) return dev_err_probe(&dsi->dev, -EINVAL, "Incorrect lanes number\n"); =20 - ret =3D ops->attach(dsi->host, dsi); + mipi_dsi_dev_copy_bus_fmt(&bus_fmt, dsi); + + ret =3D ops->attach_new ? + ops->attach_new(dsi->host, &bus_fmt) : + ops->attach(dsi->host, dsi); if (ret) { dev_err(dsi->host->dev, "Failed to attach %s device (lanes:%d bpp:%d mode-flags:0x%lx) (%d)\n", diff --git a/include/drm/drm_mipi_dsi.h b/include/drm/drm_mipi_dsi.h index e42483fd022fed4dfc9e5ef180117c3dd37a3b51..5d5f3dca1ec1a654378ccca15f3= f15a5ce957518 100644 --- a/include/drm/drm_mipi_dsi.h +++ b/include/drm/drm_mipi_dsi.h @@ -102,9 +102,34 @@ enum mipi_dsi_pixel_format { =20 #define DSI_DEV_NAME_SIZE 20 =20 +/** + * struct mipi_dsi_bus_fmt - format required by a DSI peripheral device + * @channel: virtual channel assigned to the peripheral + * @format: pixel format for video mode + * @lanes: number of active data lanes + * @mode_flags: DSI operation mode related flags + * @hs_rate: maximum lane frequency for high speed mode in hertz, this sho= uld + * be set to the real limits of the hardware, zero is only accepted for + * legacy drivers + * @lp_rate: maximum lane frequency for low power mode in hertz, this shou= ld + * be set to the real limits of the hardware, zero is only accepted for + * legacy drivers + * @dsc: panel/bridge DSC pps payload to be sent + */ +struct mipi_dsi_bus_fmt { + unsigned int channel; + unsigned int lanes; + enum mipi_dsi_pixel_format format; + unsigned long mode_flags; + unsigned long hs_rate; + unsigned long lp_rate; + struct drm_dsc_config *dsc; +}; + /** * struct mipi_dsi_host_ops - DSI bus operations - * @attach: attach DSI device to DSI host + * @attach_new: attach DSI device to DSI host; either @attach_new or @atta= ch is mandatory + * @attach: deprecated version of @attach_new * @detach: detach DSI device from DSI host * @transfer: transmit a DSI packet * @@ -126,6 +151,8 @@ enum mipi_dsi_pixel_format { * properly enabled. */ struct mipi_dsi_host_ops { + int (*attach_new)(struct mipi_dsi_host *host, + const struct mipi_dsi_bus_fmt *bus_fmt); int (*attach)(struct mipi_dsi_host *host, struct mipi_dsi_device *dsi); int (*detach)(struct mipi_dsi_host *host, --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 42F252F433F for ; Wed, 25 Jun 2025 16:46:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869967; cv=none; b=InpNvraH9aGGnv8zw7FK4BJ2L241hDWkDSvDp2zOc0OYrYFH9bffaJG7LCjGqdzUqk7WGjKs1dZrQy3bOUMebdjCK6jYM/HV1BmBpM/QkTQjSSh9TL/sM3WDhv+I9vbofE5ERyJraeQep1FAAOrmrXmRUErbWctcIhAOerVpAUA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869967; c=relaxed/simple; bh=ULYeCS04I3I36SsNgzIgs4VbxrC4O8nKPYlPqpeaQDA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=QE1wzdS6S8uFTqm6L7HRVeGplkmn/48BXi8lLLh03u1J/XTqHtEdm+p07+p7V17mvdr0E+uSRtBGKmTUAHwUFfQLZF+MwX9ChB5VlKKcnY2XIT3hoX6Z2aETlw68nik34W9Xj37JvD8LooeaA09M15FyM7ju1+mQddzayolk8EQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=lpjhaatR; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="lpjhaatR" Received: by mail.gandi.net (Postfix) with ESMTPSA id 289BA4437E; Wed, 25 Jun 2025 16:46:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869964; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=RapiHX1G4Bjd+Upr/H93BZHIVUclRV6sDrg9rC1DVIU=; b=lpjhaatR+1CcLH3pEw3HBbYEXu3V6HMrrhXD58kYoY0G7NM9QbsQXXlp1rwB8TbzyaBxvS Vu0eZ6Xje12AwVQzTCCn68D0HaoJHd/Gm1J3zIi1Yr1AhbZ7U0n4u3NmrHvFdp3mC3Ide2 b5pON6NQn+yAYDXmr8zaTZNWol4wCy92tg3V99ZN7No9mkQgpDfWQlL0JsZv2Mh9DtgIHD +07hLHlWTP8wvwozLwpiIOnYA2Exj0sN99kUGHf33S28225emdrzx6I+vzcZHjjyrezHn6 pyAHTl7ld+6y2bRv+RP9cZsinPEGwGxm0MWH/KGpILfjlC/BL8Uvy8zeXi6L3Q== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:19 +0200 Subject: [PATCH 15/32] drm: adp: mipi: convert to the .attach_new op 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: <20250625-drm-dsi-host-no-device-ptr-v1-15-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepudefnecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com This op does not pass any pointer to the DSI device, so the DSI host driver cannot store it. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/adp/adp-mipi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/adp/adp-mipi.c b/drivers/gpu/drm/adp/adp-mipi.c index cba7d32150a98d78d07a25b1822dec6bf2f08f65..088b13ed0c89ce5e1fd3f4e57fa= 842fb2f31f257 100644 --- a/drivers/gpu/drm/adp/adp-mipi.c +++ b/drivers/gpu/drm/adp/adp-mipi.c @@ -171,7 +171,7 @@ static const struct component_ops adp_dsi_component_ops= =3D { }; =20 static int adp_dsi_host_attach(struct mipi_dsi_host *host, - struct mipi_dsi_device *dev) + const struct mipi_dsi_bus_fmt *bus_fmt) { struct adp_mipi_drv_private *adp =3D mipi_to_adp(host); struct drm_bridge *next; @@ -207,7 +207,7 @@ static int adp_dsi_host_detach(struct mipi_dsi_host *ho= st, =20 static const struct mipi_dsi_host_ops adp_dsi_host_ops =3D { .transfer =3D adp_dsi_host_transfer, - .attach =3D adp_dsi_host_attach, + .attach_new =3D adp_dsi_host_attach, .detach =3D adp_dsi_host_detach, }; =20 --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 9CCB12F4A16 for ; Wed, 25 Jun 2025 16:46:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869969; cv=none; b=IioZ5b/Fz1la8DtNRJh6BkG5QvPhHCcIJn5P8BvfcTKScog5emeqWqoBopDhwfHAqVigLuJPLz8Dy1vFlJwTfQKKpgV1TsWNc7gnr2rhqqCPK3CnNDdL8zivqT7Qv2wNGwk+rnzui/pRcyHNCYR6d2cKF0EgyLpV0QBW9a3ESTo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869969; c=relaxed/simple; bh=29QwLJPQEfyXeCARTMIHpuSbFGrf3VdQMm7GJwbpV38=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bGa2MEWp5qG1IfXJTVvM3HKryz+6xuUtbnjGcArAdHsWuMcEIZQ93boFCyPha11zaJP5UWmI63ez4uOfFN0vGB1RG1RDU6KQNTH/1tDvOzzk9zoXiZAVzQETO6Ay0e4nBbq+5iK7r489eWl9fzOvne/moSee8J71Rq9DLFeJikk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=EbEdcrFI; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="EbEdcrFI" Received: by mail.gandi.net (Postfix) with ESMTPSA id B5AAF44384; Wed, 25 Jun 2025 16:46:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869966; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PsrR39dnSay/bYX2ILAGqiV/+GvzCd1Kb61Zzt+atQ0=; b=EbEdcrFIAPZL+Lj2VMmDgZG7DtWFNnPsRVA3ANeBHNdqVzZz68TMiNP1TTH9DY05ppWFso RdrQD30S8E2VlLwREz3cqRTtq7F3n6J8VUQ7p/r2LEOne3EPamG7WOkBn7WsmqLRsZoAWH KA95dZYDViw/iNQ9wBw3xSOWeiMcUziS1vvH5yW5eE1oTFAKD2CdUDdgASOP5LAJ6bjYvX ztdq9wBAKEfsNrO1fqL1hWazbcuHyr2HKcMsYLe11mJE6ZxMEzYPiSMNZ0AUlYptmxqa0W v2KhnQ+10z6+NY/5hS+06SQyg8XDhgD295uAUrQ2ptepWIQD9GF4H3/lNKsWFA== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:20 +0200 Subject: [PATCH 16/32] drm/kmb: dsi: convert to the .attach_new op 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: <20250625-drm-dsi-host-no-device-ptr-v1-16-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepudefnecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com This op does not pass any pointer to the DSI device, so the DSI host driver cannot store it. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/kmb/kmb_dsi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/kmb/kmb_dsi.c b/drivers/gpu/drm/kmb/kmb_dsi.c index faf38ca9e44c38068dad78d80529a77eb0203bd9..5163fd48db142f3cb87e3ee8644= 80c49cb443abb 100644 --- a/drivers/gpu/drm/kmb/kmb_dsi.c +++ b/drivers/gpu/drm/kmb/kmb_dsi.c @@ -197,7 +197,7 @@ static ssize_t kmb_dsi_host_transfer(struct mipi_dsi_ho= st *host, } =20 static int kmb_dsi_host_attach(struct mipi_dsi_host *host, - struct mipi_dsi_device *dev) + const struct mipi_dsi_bus_fmt *bus_fmt) { return 0; } @@ -209,7 +209,7 @@ static int kmb_dsi_host_detach(struct mipi_dsi_host *ho= st, } =20 static const struct mipi_dsi_host_ops kmb_dsi_host_ops =3D { - .attach =3D kmb_dsi_host_attach, + .attach_new =3D kmb_dsi_host_attach, .detach =3D kmb_dsi_host_detach, .transfer =3D kmb_dsi_host_transfer, }; --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 429EA2F546A for ; Wed, 25 Jun 2025 16:46:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869971; cv=none; b=jjns9zsp0jBdOptg1BN611BjhAepQE7SeiEPE/QM/ZXiHx2/I/WfKu19qCnfX6uBxqnmLnVzxWFsCSBcxIK2MRUYQYvqd8WT3fhDee5KxD6IVP+dzgVJePd6pUxQQQS0xwDkkNb4A8Pes1yngn1rNoHyd7QysTpGeppxy5ZBAbE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869971; c=relaxed/simple; bh=fN3+vs+e/Y4Y/16ONyFqspsFCnYGAwSRcq4Om5YfDGI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SoymLyLYL6bbRMCptmynA/hLHnROKloe2iv2a/Y8dppl7HlPCxmSCsquAzrbpjVpW5FCPRucQEWLEvquoJCkPB7S98yS2BVWLya8jCEQzpI0NGOmW12530A+UfE9DjdQbAgURZlBdcJft41/fy6BiBk/obKNHOz7j76BrNwxNyY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=Iv2+RTku; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="Iv2+RTku" Received: by mail.gandi.net (Postfix) with ESMTPSA id 418814437D; Wed, 25 Jun 2025 16:46:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869967; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=8JYfe/0tPhHRlZx1xH7v0PmfNAhMMOxY2TLnE45xUSg=; b=Iv2+RTkuiMNf6TE0Y/rn64SkJkPIz0WbdokbaVVuaxzgAUsAMww/JlwNipd8nTnLXA/Mke 5rqqb10D5huTsYXbRLLMqIj5yH6IKbpO5eTxAw/GKLc/maw7a1W532XBwiRQ9rDG/oRq50 PpPRpRdaR9AVHWBh6FPDMioXvBrHY/ppqkJfjv7bIvu6Zk5q5GK31f+vRhIc5rrsHiiJNf D5fNFahUhqj0zzWNVRRYCH32d8MmXrsx8vCtpjrnwjcqjdK8Yxl0cgOMN0EIcXjYygdvyh MmVarSLx1k75IL4K5nRBc+efIZIk8OBvCG+iyeRuf58mz3xXaK4I6xzR7K851A== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:21 +0200 Subject: [PATCH 17/32] drm/i915/dsi: convert to the .attach_new op 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: <20250625-drm-dsi-host-no-device-ptr-v1-17-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepudefnecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com This op does not pass any pointer to the DSI device, so the DSI host driver cannot store it. Signed-off-by: Luca Ceresoli Acked-by: Jani Nikula --- drivers/gpu/drm/i915/display/icl_dsi.c | 4 ++-- drivers/gpu/drm/i915/display/vlv_dsi.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c b/drivers/gpu/drm/i915/= display/icl_dsi.c index aa566ad3f5cd72fb8f9440e2645da0047da222b1..ce5d7b77444d2ac7bc71aecc150= d42e2dbb59e0f 100644 --- a/drivers/gpu/drm/i915/display/icl_dsi.c +++ b/drivers/gpu/drm/i915/display/icl_dsi.c @@ -1780,7 +1780,7 @@ static const struct drm_connector_helper_funcs gen11_= dsi_connector_helper_funcs }; =20 static int gen11_dsi_host_attach(struct mipi_dsi_host *host, - struct mipi_dsi_device *dsi) + const struct mipi_dsi_bus_fmt *bus_fmt) { return 0; } @@ -1826,7 +1826,7 @@ static ssize_t gen11_dsi_host_transfer(struct mipi_ds= i_host *host, } =20 static const struct mipi_dsi_host_ops gen11_dsi_host_ops =3D { - .attach =3D gen11_dsi_host_attach, + .attach_new =3D gen11_dsi_host_attach, .detach =3D gen11_dsi_host_detach, .transfer =3D gen11_dsi_host_transfer, }; diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/= display/vlv_dsi.c index 346737f15fa93264ab8791912cc4cc128f2f3324..5f73919c4bb626f8c293e383479= ce393869e47d4 100644 --- a/drivers/gpu/drm/i915/display/vlv_dsi.c +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c @@ -199,7 +199,7 @@ static ssize_t intel_dsi_host_transfer(struct mipi_dsi_= host *host, } =20 static int intel_dsi_host_attach(struct mipi_dsi_host *host, - struct mipi_dsi_device *dsi) + const struct mipi_dsi_bus_fmt *bus_fmt) { return 0; } @@ -211,7 +211,7 @@ static int intel_dsi_host_detach(struct mipi_dsi_host *= host, } =20 static const struct mipi_dsi_host_ops intel_dsi_host_ops =3D { - .attach =3D intel_dsi_host_attach, + .attach_new =3D intel_dsi_host_attach, .detach =3D intel_dsi_host_detach, .transfer =3D intel_dsi_host_transfer, }; --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 2E8AD2E2EF6 for ; Wed, 25 Jun 2025 16:46:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869973; cv=none; b=iYtEB6GUQS4g2U0vp4ORCm4Kfzyuro0DMzhiG0yzIqMMdBOXi2dDVelp88FLpYRYDIhj5LXKLtQP0wEWxsv2y8KA1PKsNzV9PgU5NdHhnU5AXIdEQTFrTErHMxnulPnWe442lT1Wzd8UqZDzWGr3I4urKoPbFyrgeroKEh3Oapw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869973; c=relaxed/simple; bh=udWCr3YVQdhMp9njrb1WIThRZsLvv3KWjntoHcDJp5U=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=jRKHbh1lfFZ0Bf9diyYM/KGFqDRbH4v0vzQ3Grv3AUUD3T4sDORfocLW3ragMeVcokH+fxEzzY3uO2UoaTmWtMQ44B2tBJ833cWLLQ+MhZOj8o2IOxbI5khC5J85N59Gb94GrgSfMO7VigJoYJxDXc2Kl4tMalqF9SNsrY8bHeA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=fGhyVc/Y; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="fGhyVc/Y" Received: by mail.gandi.net (Postfix) with ESMTPSA id D0A5B44385; Wed, 25 Jun 2025 16:46:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869969; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=K7BjIHdpe9xdJpYsc/he/n8ZYsi+eBpyWaFSz5f52UI=; b=fGhyVc/Y1EYH//aBo8mPKKzt0HyM+lTp65vMaVccDBtXJ2AXl+h9JP5Rlj47fNr+7PBT4P UHg7NwZ/z0MsKrWwvYgNHvSDjBccBPEu93mW3ff6aobY++C0vEtI/j7JGeZW4GTduI2ju0 KP71rr7oUVjy9C9dxVDxNWvc1jgFOG8VAkHBej0N6SRzAAKmrU0Y3GZnl5YI0MBpJRrTnJ XxJc3ayTtbTNy9/g1CE7s2IPi712HqjJUkzJXZ8+jWlMqFgWAn//63G6vG6mH9hRLmGqRk V/jydfTrcDOX018uOgvSUSnnJB35ym6HlR6r1ZZzbGr83F5eDnYpzdZiLOtqNg== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:22 +0200 Subject: [PATCH 18/32] drm/hisilicon/kirin: convert to the .attach_new op 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: <20250625-drm-dsi-host-no-device-ptr-v1-18-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepudejnecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com This op does not pass any pointer to the DSI device, so the DSI host driver cannot store it. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c b/drivers/gpu/drm= /hisilicon/kirin/dw_drm_dsi.c index 1a5b97abae86a187c751b4b579d7c22f206e4c90..f299958d7be6207dfe6e0e0e2bb= c7b38ffe865ed 100644 --- a/drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c +++ b/drivers/gpu/drm/hisilicon/kirin/dw_drm_dsi.c @@ -722,20 +722,20 @@ static int dw_drm_encoder_init(struct device *dev, =20 static const struct component_ops dsi_ops; static int dsi_host_attach(struct mipi_dsi_host *host, - struct mipi_dsi_device *mdsi) + const struct mipi_dsi_bus_fmt *bus_fmt) { struct dw_dsi *dsi =3D host_to_dsi(host); struct device *dev =3D host->dev; int ret; =20 - if (mdsi->lanes > 4) { + if (bus_fmt->lanes > 4) { DRM_ERROR("dsi device params invalid\n"); return -EINVAL; } =20 - dsi->lanes =3D mdsi->lanes; - dsi->format =3D mdsi->format; - dsi->mode_flags =3D mdsi->mode_flags; + dsi->lanes =3D bus_fmt->lanes; + dsi->format =3D bus_fmt->format; + dsi->mode_flags =3D bus_fmt->mode_flags; =20 ret =3D component_add(dev, &dsi_ops); if (ret) @@ -755,7 +755,7 @@ static int dsi_host_detach(struct mipi_dsi_host *host, } =20 static const struct mipi_dsi_host_ops dsi_host_ops =3D { - .attach =3D dsi_host_attach, + .attach_new =3D dsi_host_attach, .detach =3D dsi_host_detach, }; =20 --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 7A54B2F9495 for ; Wed, 25 Jun 2025 16:46:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869974; cv=none; b=bHqkRKHbcbe6LayzniQB8wM4CPpp7YVnIBEmCDEFZfxZfkaHGRjNEdq4FDuXqdONDUOdN6b6nyZOWseEOJPYKG1dXwRpGieVwkCfCnDUUBSyhkqyW0oUACH/mbt38FoldnQSsNNuQmUu0qSsd8oXiaWWy2e/NBJKlOM8YfNRpPQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869974; c=relaxed/simple; bh=wYc60NFj4g2zP6MvGQoUNqoMMaFhnzbd9SraVFhkDlw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NXxF4Dd2iBtV0e8qJslCrk5gbeecs30IlPRPMvXSwHeAWCWU6l2k7h5yURT8kGZdsNwothMveZV2opcXCS43Crva4D41G46FRny30t6hLvsNHU2sDnrfvfvV/tOdX31AUpfqkkIEk06+HSoX1vzcOI1ercrcdvuJhfbVmf+Jguw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=Yh8aHn7U; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="Yh8aHn7U" Received: by mail.gandi.net (Postfix) with ESMTPSA id 6EF344437E; Wed, 25 Jun 2025 16:46:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869970; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=cSpNICiPIrVxNcE/EBx6YPkgN+Io+GAGKDXfjVdIzTw=; b=Yh8aHn7UTR0w2AKVeuenUucHMs9py0hE9Z+YejQqC+oZKOBheJsTjDeaTItXH6VUCBOQeh xzuE1du+9z4WJN5F3yJ3K6k4l+hZeEphnuhc5XRGtoF/lDh5fWCBtlGLRXAu7fdC+D8B33 5KUddUKE/3+IJ2aRmHbP/LjYKCF2AwpR6MEoEtin32ffZHx9hh/tu4w19hLjbDHq/LxmAe 2uRyT3Skj9ZA5a/1TjbTSs4WhA1GsqAUcdICT5ZckGKSagXrYkl0B7nlE/60Kg34YSnZvI Ll//9DxhVqvQi/Zo+Xox69sL27z9UArD5no/aQAjJeHW3dDLkIWBrXy4/8xPNw== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:23 +0200 Subject: [PATCH 19/32] drm/bridge: synopsys/dsi2: convert to the .attach_new op 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: <20250625-drm-dsi-host-no-device-ptr-v1-19-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepudejnecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com This op does not pass any pointer to the DSI device, so the DSI host driver cannot store it. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c b/drivers/gpu/d= rm/bridge/synopsys/dw-mipi-dsi2.c index a994dfc1c0d2f6bbcab615c645d4dff7b90a756f..760b7920592506268f137dce5da= fb14771440cdb 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi2.c @@ -510,23 +510,23 @@ dw_mipi_dsi2_work_mode(struct dw_mipi_dsi2 *dsi2, u32= mode) } =20 static int dw_mipi_dsi2_host_attach(struct mipi_dsi_host *host, - struct mipi_dsi_device *device) + const struct mipi_dsi_bus_fmt *bus_fmt) { struct dw_mipi_dsi2 *dsi2 =3D host_to_dsi2(host); const struct dw_mipi_dsi2_plat_data *pdata =3D dsi2->plat_data; struct drm_bridge *bridge; int ret; =20 - if (device->lanes > dsi2->plat_data->max_data_lanes) { + if (bus_fmt->lanes > dsi2->plat_data->max_data_lanes) { dev_err(dsi2->dev, "the number of data lanes(%u) is too many\n", - device->lanes); + bus_fmt->lanes); return -EINVAL; } =20 - dsi2->lanes =3D device->lanes; - dsi2->channel =3D device->channel; - dsi2->format =3D device->format; - dsi2->mode_flags =3D device->mode_flags; + dsi2->lanes =3D bus_fmt->lanes; + dsi2->channel =3D bus_fmt->channel; + dsi2->format =3D bus_fmt->format; + dsi2->mode_flags =3D bus_fmt->mode_flags; =20 bridge =3D devm_drm_of_get_bridge(dsi2->dev, dsi2->dev->of_node, 1, 0); if (IS_ERR(bridge)) @@ -687,7 +687,7 @@ static ssize_t dw_mipi_dsi2_host_transfer(struct mipi_d= si_host *host, } =20 static const struct mipi_dsi_host_ops dw_mipi_dsi2_host_ops =3D { - .attach =3D dw_mipi_dsi2_host_attach, + .attach_new =3D dw_mipi_dsi2_host_attach, .detach =3D dw_mipi_dsi2_host_detach, .transfer =3D dw_mipi_dsi2_host_transfer, }; --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 2901F2F94B6 for ; Wed, 25 Jun 2025 16:46:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869975; cv=none; b=BWEn3cDz5bhh4Yhk1+zf2EP80Et5rCsZXditW04IMDo9+tduU2Mp3a5xhdt1kO4j/lu4hzuRvHb6p80k6uQyVxOaxnkFRXKoLQtcEja0w8zjzokj9a5lTnTrAumMEjf/arRsL7xVXfK7zP1IMmDKwFick/hacc0iF5Dif1UCgFk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869975; c=relaxed/simple; bh=i356nV3E+WqRX4N4jyas7zC19vro1L1eMnCahJBbnSg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Lpb9lhWpFdAqYojhXCHoCUbHfHL4IeY8UrPuslNjKMo/OCbV4SwSP64pl0JTfZB6P+upayAIqWKstND5Ox6+9efoZMjBVJ1NViw7gsRA++eEfRMY1oeMmi5Pu6l/6KHqwP1HbbLpuDPdwBmcw9NLQCOV9lnc7rM6h22jHH+XmdY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=dOvyr7jG; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="dOvyr7jG" Received: by mail.gandi.net (Postfix) with ESMTPSA id 1B31744384; Wed, 25 Jun 2025 16:46:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869972; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7tzRXRqkINuJKPgE8lcyGCUuH8C2X0Lcpz0YAjSzs9I=; b=dOvyr7jGVevjvCZhQ6ESQmbdwjNNom9UwORfNKf9s/HQRhZyjUEpfGy6P30qbv9dD5CiN/ +muiQnGVvnzt/35i1zGk5YrbpfE+h3NQIrz4+NzF43/OwiQSjHrMBl2vuRB8Jbhav7p2f/ RpyvTPX92Kw/2iATbgGqJioBU368ryiPsl1qfrpVNERgekkV/ItR4MOGMOpPP2ylPQKR9N tx4rYidm6q1iYWZ4+sGPm8Jc7T5kFdi5+ZPNf2+idJAurv9IeMwaLyRXyJm3AYJZWwVqgM u9QtXAjzpUTFquO9ju0h1W4SUenEBcxmDNn0+xmDSOa9+dDnMVn/+G2/89+aZg== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:24 +0200 Subject: [PATCH 20/32] drm/msm/dsi: convert to the .attach_new op 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: <20250625-drm-dsi-host-no-device-ptr-v1-20-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepudejnecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com This op does not pass any pointer to the DSI device, so the DSI host driver cannot store it. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/msm/dsi/dsi_host.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c b/drivers/gpu/drm/msm/dsi/d= si_host.c index 4d75529c0e858160761f5eb55db65e5d7565c27b..79cdb34074de3662d535a8d9b38= 6c5399c8d23ba 100644 --- a/drivers/gpu/drm/msm/dsi/dsi_host.c +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c @@ -1610,20 +1610,20 @@ static irqreturn_t dsi_host_irq(int irq, void *ptr) } =20 static int dsi_host_attach(struct mipi_dsi_host *host, - struct mipi_dsi_device *dsi) + const struct mipi_dsi_bus_fmt *bus_fmt) { struct msm_dsi_host *msm_host =3D to_msm_dsi_host(host); int ret; =20 - if (dsi->lanes > msm_host->num_data_lanes) + if (bus_fmt->lanes > msm_host->num_data_lanes) return -EINVAL; =20 - msm_host->channel =3D dsi->channel; - msm_host->lanes =3D dsi->lanes; - msm_host->format =3D dsi->format; - msm_host->mode_flags =3D dsi->mode_flags; - if (dsi->dsc) - msm_host->dsc =3D dsi->dsc; + msm_host->channel =3D bus_fmt->channel; + msm_host->lanes =3D bus_fmt->lanes; + msm_host->format =3D bus_fmt->format; + msm_host->mode_flags =3D bus_fmt->mode_flags; + if (bus_fmt->dsc) + msm_host->dsc =3D bus_fmt->dsc; =20 ret =3D dsi_dev_attach(msm_host->pdev); if (ret) @@ -1663,7 +1663,7 @@ static ssize_t dsi_host_transfer(struct mipi_dsi_host= *host, } =20 static const struct mipi_dsi_host_ops dsi_host_ops =3D { - .attach =3D dsi_host_attach, + .attach_new =3D dsi_host_attach, .detach =3D dsi_host_detach, .transfer =3D dsi_host_transfer, }; --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 8819B2FA639 for ; Wed, 25 Jun 2025 16:46:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869977; cv=none; b=AmfkxpBVn78mKMG1COvXPc0hUKseH0qLVKx00D/w6BSIZp7nX9bQ63f8gLQ76vx9JcCq+1tu9OvNQNjPezBeKQnBIrbOQ2hAwuOZ3H3gFW8DXVlXfsB/ci5DM5x5QvOYeol41gEw2GXMEgRfdO24de5/UTGV+rT7QHarHJGvbiA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869977; c=relaxed/simple; bh=nA1zWVM/YtAm+NPi1x9Ld7toUFuwhoCZ8Ye1fcHcqo4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lKyW8AXGU6IO9xy8kOQzBVuCHzYDkJaGf/w48AJ6fdsteZ+IZiVj6NcZpoO0p3ra5OcYmBGu50fmHWvuhEN0S7Dpu8AWg/40yL1YSuXy+NRLFaIBsWDRidah/TQ/pwA4HYt7e0qXYNVpmrpPYSFDj4AAmkhQ5GnYTZVBrLRuXkA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=O56iL9dA; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="O56iL9dA" Received: by mail.gandi.net (Postfix) with ESMTPSA id B83E044386; Wed, 25 Jun 2025 16:46:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869974; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=i4IDqZBo2l355tzElODGXZ/VGni71FImSIpCMtPQkh8=; b=O56iL9dAGRzlmWsbYSbLELfADRegEMmtIrXUAzy+XYoHRmgmmX0se94FHlPTXJ+uNNAnKL 73vm2774ER0F51TG5bj05k+ZseqkXwtOo9v5xiUzbfrgvd48anVc7lxTwQiZdVQKQQnm+q lz03Wpa/0/36dHSplSlHBo5V24CjSEWc2agKcaNXFYl1Fe6v+0uSKM2nju9sS2WUIpWgus 2RASSpw5M3v2Qr/B9Pe63ciXnDCWrFi1GZdyumoTbGl/5oYRGBlZhS6svuDgq7L+H9WJxk wFOFyjhFnCaq62qqyC1kvcl2hwpLIQFSgYzFfxsjU34MzeJ5ALtTBToAafO2sA== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:25 +0200 Subject: [PATCH 21/32] drm/rcar-du: dsi: convert to the .attach_new op 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: <20250625-drm-dsi-host-no-device-ptr-v1-21-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepudejnecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com This op does not pass any pointer to the DSI device, so the DSI host driver cannot store it. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c b/drivers/gpu/= drm/renesas/rcar-du/rcar_mipi_dsi.c index 1af4c73f7a887712aef8c8176b0d0338d9ca9727..e46f194a15aaa9ba7dc22362e59= 561fe4f17721b 100644 --- a/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c +++ b/drivers/gpu/drm/renesas/rcar-du/rcar_mipi_dsi.c @@ -898,16 +898,16 @@ static const struct drm_bridge_funcs rcar_mipi_dsi_br= idge_ops =3D { */ =20 static int rcar_mipi_dsi_host_attach(struct mipi_dsi_host *host, - struct mipi_dsi_device *device) + const struct mipi_dsi_bus_fmt *bus_fmt) { struct rcar_mipi_dsi *dsi =3D host_to_rcar_mipi_dsi(host); int ret; =20 - if (device->lanes > dsi->num_data_lanes) + if (bus_fmt->lanes > dsi->num_data_lanes) return -EINVAL; =20 - dsi->lanes =3D device->lanes; - dsi->format =3D device->format; + dsi->lanes =3D bus_fmt->lanes; + dsi->format =3D bus_fmt->format; =20 dsi->next_bridge =3D devm_drm_of_get_bridge(dsi->dev, dsi->dev->of_node, 1, 0); @@ -935,7 +935,7 @@ static int rcar_mipi_dsi_host_detach(struct mipi_dsi_ho= st *host, } =20 static const struct mipi_dsi_host_ops rcar_mipi_dsi_host_ops =3D { - .attach =3D rcar_mipi_dsi_host_attach, + .attach_new =3D rcar_mipi_dsi_host_attach, .detach =3D rcar_mipi_dsi_host_detach, }; =20 --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 33B1A2FBFE3 for ; Wed, 25 Jun 2025 16:46:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869978; cv=none; b=ZdgAA/d//zRjAMZdtHnpIR60mB/fD1mcf8XrNpahTn4tu4+Q/H8jonruAJ7k11aElHjTTE7r2Qi6wo6VyRR7ShWn2kCqnKwCGdVUfY0y4RQCJ5qMEq5QYmJI0VZNwb6s7z2lY8+gz0UdwsS2kcf12wkYqSEjigPxYmC4P9a6j+I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869978; c=relaxed/simple; bh=OpYt6E/hbN4bGMAxASt1t1qYM6tzjEATKSuDpkA4Lb0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NDmieZgqY/Umw/JRSOVeP2vdPqw8Fq9j2eAOo/LmryHawZVSIRVQRpAKaoD91N9NM6Y5RkHkuwWF2zHb58h5rOjz25lne70hne1akFLRxQlejwLwD7LWean3A+TEqEsNkFVjU6LsmUk/wg0U2s+RLIMccA99PwO1d1yDfTZ98io= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=bp2YaUqp; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="bp2YaUqp" Received: by mail.gandi.net (Postfix) with ESMTPSA id 55D5A4437D; Wed, 25 Jun 2025 16:46:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869975; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=i2DgotHDRY1XfhgzndMELOLgB59sfvOiTaLxF7FKBHs=; b=bp2YaUqp2D3r55E/tkkaCKc9BT5GcfiMX3qVk8vQ6pldtV74OvEUf4W8pKewkQcHw6EsZB oVuIUEDXfaynmbvlhGotEoQ4k7l7D2Jd6VrRvdnnK3yW0yCVzuIFpA5fNXtIRjhBmP3DxD snWf13vTrrtjgY9wHpQijhkGAD7JDEQjTWraHRZTI+KRugT1esJNz9S4VCSbuSaS+s0dcC kuHWmFIoIpPNjd9BXho0RSRqLjwVwapnJyeH/0E6ya4bBK8mNjdBnJMkpwylfNRzln3QZl TbdoG5bl7ViyJJG3vDGUhN7RLU01d7T310VUfbEPIuSHBex+HgrVUFXgxwFtoA== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:26 +0200 Subject: [PATCH 22/32] drm: renesas: rz-du: rzg2l_mipi_dsi: convert to the .attach_new op 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: <20250625-drm-dsi-host-no-device-ptr-v1-22-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepvddunecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com This op does not pass any pointer to the DSI device, so the DSI host driver cannot store it. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c b/drivers/gpu/d= rm/renesas/rz-du/rzg2l_mipi_dsi.c index f87337c3cbb54559e9e8d416cbe801647f4a7688..33bd2d20be9c3f8d0c43b67d21e= 0e86566b48ab3 100644 --- a/drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c +++ b/drivers/gpu/drm/renesas/rz-du/rzg2l_mipi_dsi.c @@ -689,19 +689,19 @@ static const struct drm_bridge_funcs rzg2l_mipi_dsi_b= ridge_ops =3D { */ =20 static int rzg2l_mipi_dsi_host_attach(struct mipi_dsi_host *host, - struct mipi_dsi_device *device) + const struct mipi_dsi_bus_fmt *bus_fmt) { struct rzg2l_mipi_dsi *dsi =3D host_to_rzg2l_mipi_dsi(host); int ret; =20 - if (device->lanes > dsi->num_data_lanes) { + if (bus_fmt->lanes > dsi->num_data_lanes) { dev_err(dsi->dev, "Number of lines of device (%u) exceeds host (%u)\n", - device->lanes, dsi->num_data_lanes); + bus_fmt->lanes, dsi->num_data_lanes); return -EINVAL; } =20 - switch (mipi_dsi_pixel_format_to_bpp(device->format)) { + switch (mipi_dsi_pixel_format_to_bpp(bus_fmt->format)) { case 24: break; case 18: @@ -714,13 +714,13 @@ static int rzg2l_mipi_dsi_host_attach(struct mipi_dsi= _host *host, } break; default: - dev_err(dsi->dev, "Unsupported format 0x%04x\n", device->format); + dev_err(dsi->dev, "Unsupported format 0x%04x\n", bus_fmt->format); return -EINVAL; } =20 - dsi->lanes =3D device->lanes; - dsi->format =3D device->format; - dsi->mode_flags =3D device->mode_flags; + dsi->lanes =3D bus_fmt->lanes; + dsi->format =3D bus_fmt->format; + dsi->mode_flags =3D bus_fmt->mode_flags; =20 dsi->next_bridge =3D devm_drm_of_get_bridge(dsi->dev, dsi->dev->of_node, 1, 0); @@ -904,7 +904,7 @@ static ssize_t rzg2l_mipi_dsi_host_transfer(struct mipi= _dsi_host *host, } =20 static const struct mipi_dsi_host_ops rzg2l_mipi_dsi_host_ops =3D { - .attach =3D rzg2l_mipi_dsi_host_attach, + .attach_new =3D rzg2l_mipi_dsi_host_attach, .detach =3D rzg2l_mipi_dsi_host_detach, .transfer =3D rzg2l_mipi_dsi_host_transfer, }; --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 E30402D6633 for ; Wed, 25 Jun 2025 16:46:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869980; cv=none; b=La1rN/t3dWMGl8ETOS+RKv6MkoDlkK6gQkvPutJmnof3ILY7qw3H8WkuNGn53OUvfRUkWWhd1R5at8KbqBsDv9Z+IyCkMaOb0sVK/A3wXh+SBAxD7lIwIgZmR7uiAELkoU5qfDmbL2zfqsQ4M+d/wucKYzGVceu6B3R8AQ5zzvQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869980; c=relaxed/simple; bh=ScBzIxbkU9Q8Lfw34qQueQksgiFxJy6guudrCqEcMWY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oUVr5SZ1D5xCFvdVUAtfNk3emfqzvm6/s6pMU10PMMzChQPFmBdoOfybMNA/P1WHJIOOBGF4e7QS4ETr5c8I3wQUwO47RYXTXd9pwLhZ4adVgzAjgdkzmjjOBHmQpJDz0nFCjLse0XvPsopNvIB9D+vbrupc384xTEl2KdaCfvQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=IyrRuf5S; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="IyrRuf5S" Received: by mail.gandi.net (Postfix) with ESMTPSA id E772C4437E; Wed, 25 Jun 2025 16:46:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869977; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=aQJl6IORmPHfgsGfIEeKz8bIR/qWXwS4qAAA9KXtaPA=; b=IyrRuf5SHwiGfsPal1VLpygfkJ1pVxYtkb7NRojrHcL0n3Hm2JFjL3XXt/nVbOCp/90p1O IQjTAAB6MO/kipXM4VH6YlBNxYP4R54U+wC+6n81m9+TfUSaGj6UYqjnSQ5namCeWkAGoY +jER2uOibgujKsHtoJ14EUZYugO0/UJhzSO5+VUNRrrJgM2duHs5D/PSZtC46J/zS9+FyL FCZKeS+/GFrJCCGmJkNBv2Ug8iUQqaxOI3YVz+ohBbqZoSCOZWLdTWN/FbKkQ6qaqPEIhv TqA1rpXy3rryhBg5X9S7fGl0rMHCrq7jdunfV6heewVAXd6GlW12P3mMaiHW+A== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:27 +0200 Subject: [PATCH 23/32] drm/vc4: dsi: convert to the .attach_new op 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: <20250625-drm-dsi-host-no-device-ptr-v1-23-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepvddunecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com This op does not pass any pointer to the DSI device, so the DSI host driver cannot store it. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/vc4/vc4_dsi.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_dsi.c b/drivers/gpu/drm/vc4/vc4_dsi.c index 458e5d9879645f18bcbcaeeb71b5f1038f9581da..b623e013747522b524ee00aede8= 97ecafbc88e2a 100644 --- a/drivers/gpu/drm/vc4/vc4_dsi.c +++ b/drivers/gpu/drm/vc4/vc4_dsi.c @@ -1342,16 +1342,16 @@ static ssize_t vc4_dsi_host_transfer(struct mipi_ds= i_host *host, =20 static const struct component_ops vc4_dsi_ops; static int vc4_dsi_host_attach(struct mipi_dsi_host *host, - struct mipi_dsi_device *device) + const struct mipi_dsi_bus_fmt *bus_fmt) { struct vc4_dsi *dsi =3D host_to_dsi(host); int ret; =20 - dsi->lanes =3D device->lanes; - dsi->channel =3D device->channel; - dsi->mode_flags =3D device->mode_flags; + dsi->lanes =3D bus_fmt->lanes; + dsi->channel =3D bus_fmt->channel; + dsi->mode_flags =3D bus_fmt->mode_flags; =20 - switch (device->format) { + switch (bus_fmt->format) { case MIPI_DSI_FMT_RGB888: dsi->format =3D DSI_PFORMAT_RGB888; dsi->divider =3D 24 / dsi->lanes; @@ -1402,7 +1402,7 @@ static int vc4_dsi_host_detach(struct mipi_dsi_host *= host, } =20 static const struct mipi_dsi_host_ops vc4_dsi_host_ops =3D { - .attach =3D vc4_dsi_host_attach, + .attach_new =3D vc4_dsi_host_attach, .detach =3D vc4_dsi_host_detach, .transfer =3D vc4_dsi_host_transfer, }; --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 6E4E92E613C for ; Wed, 25 Jun 2025 16:46:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869982; cv=none; b=EGpTBrBBFWaKG83spo+EdS2IGAtPOOPEVlBTGPNbwI3YNlSmWSwz1YCaGZpv3FmT3ooO2YZ7lsBbvMIOjeg2HJCIyEEa/oCSd5e/YzXSlIjzcLGoidjYFQFZVvUKg2aWM2NzjW4NKeiOwPKGK5BEoQP8I1tnoS3mb9qOfKcnIpU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869982; c=relaxed/simple; bh=jFPjaQyDfx3K7LORcO8ofmw1d/WW3dXz7wnA0ovIXwA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YKXL+MHPPXAu7VuU2LbXHOKHn23i4bOjV/AzAdWPU+ZizSLm31qjPt0ksnSkPE5viNGQRW/7sGOhmHp6Oax/AR4bwWJ/0edVxiekMm5Xei9rwVuk3WHKB/Nt9q6En32d0g3Hl6DkM1q0VlzC5wBFafT+pkMy576DrI24jpmdXiw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=cCbq2e80; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="cCbq2e80" Received: by mail.gandi.net (Postfix) with ESMTPSA id 8578E44385; Wed, 25 Jun 2025 16:46:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869979; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OMrBQHofuunDvUQikxi1pZO0MydXHJ5subj9NVDlS4c=; b=cCbq2e80DMR9Z+uXH4CjM37FE/hy/mDf5oU/BbZDXYiBan2Uho5YheY844B00h2IGJL+4u tDAkt9du1EaZJiUZbJMr3q30RnWkGuibNSelEboMsXClKmilZfgmRsgWroQCZcCer+cY5T iT1w20j3pRReDBpbhw6wZJXrqOLbrFhnSr/jly1qaDD4OwQoPPdeEfM4izQrUSrIO/N0ch ayKZm5iFx7yPTpe0Cwk2Cs3Or0cCR06DA4OKvSzm5eznhvUMZDTc/4F4YiNju5L4FjPshD Tp2laWvscaRp4TUfBb/gYRmiA7Rt+dk/+erdF0YgZt2slKgme8x9UsLa3YGocA== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:28 +0200 Subject: [PATCH 24/32] drm/mediatek: dsi: convert to the .attach_new op 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: <20250625-drm-dsi-host-no-device-ptr-v1-24-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepvddunecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com This op does not pass any pointer to the DSI device, so the DSI host driver cannot store it. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/mediatek/mtk_dsi.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/= mtk_dsi.c index d7726091819c4762698b41060b3d4d8d27940238..33475a5c18c1146cd4ea40c3c6c= caba1271a6cd9 100644 --- a/drivers/gpu/drm/mediatek/mtk_dsi.c +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c @@ -981,15 +981,15 @@ static const struct component_ops mtk_dsi_component_o= ps =3D { }; =20 static int mtk_dsi_host_attach(struct mipi_dsi_host *host, - struct mipi_dsi_device *device) + const struct mipi_dsi_bus_fmt *bus_fmt) { struct mtk_dsi *dsi =3D host_to_dsi(host); struct device *dev =3D host->dev; int ret; =20 - dsi->lanes =3D device->lanes; - dsi->format =3D device->format; - dsi->mode_flags =3D device->mode_flags; + dsi->lanes =3D bus_fmt->lanes; + dsi->format =3D bus_fmt->format; + dsi->mode_flags =3D bus_fmt->mode_flags; dsi->next_bridge =3D devm_drm_of_get_bridge(dev, dev->of_node, 1, 0); if (IS_ERR(dsi->next_bridge)) { ret =3D PTR_ERR(dsi->next_bridge); @@ -1184,7 +1184,7 @@ static ssize_t mtk_dsi_host_transfer(struct mipi_dsi_= host *host, } =20 static const struct mipi_dsi_host_ops mtk_dsi_ops =3D { - .attach =3D mtk_dsi_host_attach, + .attach_new =3D mtk_dsi_host_attach, .detach =3D mtk_dsi_host_detach, .transfer =3D mtk_dsi_host_transfer, }; --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 1C4262FCE16 for ; Wed, 25 Jun 2025 16:46:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869983; cv=none; b=l2TAL8srNatNsYIrjAg+F96tkypVleZRD1qviFaqnLCxFZXAeY6Ge5NKV8wW2RqGAGU2fARbFVqWEI/VTnFnRYhCCLSHD7NtgszmcHJ74y8RSaW+/QzNqxqmw1GkLTGVrIlkyjn4MoVhX3J/uvtaYuE4rwNxOHuSlDsya7WhFz4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869983; c=relaxed/simple; bh=7PRJH/dT13k6RVi5NSrh9Q6C4l9q9tJAoPffsopcK5c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IdNMbLdEbPDg4IjvP7dnrr8CEoPJPq8722cvELzc1hwQ8pSBNTrTrwUNTvsOcSo8NrfFS2f0MA25FOWpS0XFHC9UVzL79Y7g0VwNAJktptCtbG6zM3FGuqZwlTZ7QlEz5QxNI7zTBSbutV2miVvlVPhscBlixFB6hH9OXPQSGQY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=OIP5dYf/; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="OIP5dYf/" Received: by mail.gandi.net (Postfix) with ESMTPSA id 2E96644384; Wed, 25 Jun 2025 16:46:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869980; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mucDypvpJQb6uuO38z8Z55M0U8UDlvuva+sDU8/tA5o=; b=OIP5dYf/5y3G9FULZfWtt32dq9hHIwM0W4olxVJ2JrppKfQ+rSrhZGPfQp/17MfFcL7TsG HE1EVBSb54FLfh43bmMIUMDkdc+mcEZFZdYMXieg0BwlWjw9JvVCYZ7DhnmvzbF14tNEc5 PFRR6uQwERx2VWr7F6j8ch4JqDDUgd71ZALV6gPGAVmZHOjI7qwopFdHOuhcOKVLA2hQ04 IeV5mrU64s0rsZHNIgh0IVJF4i3eMx4NMp4qxHakfpq4qYQwHQ0Lwak1eurfVLeJSaVCgq RGSQTXIrqkIGLk/mL1Pwztn5Ks6D+WdiQFyYOJDbG2A8xqRJa6iA3DrHb4qQUQ== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:29 +0200 Subject: [PATCH 25/32] drm/bridge: nwl-dsi: convert to the .attach_new op 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: <20250625-drm-dsi-host-no-device-ptr-v1-25-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepvddunecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com This op does not pass any pointer to the DSI device, so the DSI host driver cannot store it. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/bridge/nwl-dsi.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/bridge/nwl-dsi.c b/drivers/gpu/drm/bridge/nwl-= dsi.c index 94356d02a7009a4d333f2df6c628d57c4bf66fdb..76bb3828a615d75161aa7910a18= ed909ee9cad2d 100644 --- a/drivers/gpu/drm/bridge/nwl-dsi.c +++ b/drivers/gpu/drm/bridge/nwl-dsi.c @@ -344,16 +344,16 @@ static int nwl_dsi_init_interrupts(struct nwl_dsi *ds= i) } =20 static int nwl_dsi_host_attach(struct mipi_dsi_host *dsi_host, - struct mipi_dsi_device *device) + const struct mipi_dsi_bus_fmt *bus_fmt) { struct nwl_dsi *dsi =3D container_of(dsi_host, struct nwl_dsi, dsi_host); =20 - if (device->lanes > 4) + if (bus_fmt->lanes > 4) return -EINVAL; =20 - dsi->lanes =3D device->lanes; - dsi->format =3D device->format; - dsi->dsi_mode_flags =3D device->mode_flags; + dsi->lanes =3D bus_fmt->lanes; + dsi->format =3D bus_fmt->format; + dsi->dsi_mode_flags =3D bus_fmt->mode_flags; =20 return 0; } @@ -620,7 +620,7 @@ static ssize_t nwl_dsi_host_transfer(struct mipi_dsi_ho= st *dsi_host, } =20 static const struct mipi_dsi_host_ops nwl_dsi_host_ops =3D { - .attach =3D nwl_dsi_host_attach, + .attach_new =3D nwl_dsi_host_attach, .transfer =3D nwl_dsi_host_transfer, }; =20 --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 C4AC42FCE33 for ; Wed, 25 Jun 2025 16:46:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869985; cv=none; b=JZYDP2RlGxW36IGNuC5aKJ9n4iTmBIBi5VITKvSzeTJmT3yBl15hk2lMCptyAm5a2mG5yIdzirt6B9lzcxsJ3gccTiLpKxVSrLgKuai3K7ISWpnAa8PW5cDLEes4+gFXI5hN/30WJPBmrnNNZxxUUHjxZ4+RWhw6mgKzi3JPgsA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869985; c=relaxed/simple; bh=btkUD3js9fZmPERHdg4b2imu/6qqDfNt+jC1CiXGkOg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=gdgq6pU7NkOd9GdmUpvZDlKkR96N8gkQhk4vlpdOE1HGU6ae+lW7w6oUBV676qHPJ9KlQmeTreqgEkZezie7c1fP3LquuDeKw44c/zIxxztcviTjwZlDv3tCS+AcHMGsuDDYROhf8M54RBTAj+ehWkUsbdzm17bfqgXZp3YzwVg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=KwMhO1fW; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="KwMhO1fW" Received: by mail.gandi.net (Postfix) with ESMTPSA id C94EF44386; Wed, 25 Jun 2025 16:46:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869982; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PhdruiDO3p/+Z0EKuOpJRIFOGJMP+PiOgTpEv4z015E=; b=KwMhO1fWnjVqOOMp6urimEkFl+ESq42B9iNjuacKArivE5QzI6MWLywJPvNxn5dKh/ECzi IVhsNaHW52CFt14jRY+8f/Pb50qMh3M6ymA4W9s7Vgdjpevj/nlFAUJ3zd3zl3axXq5y9I YLOj8+Zw4atqfyjX1pYJMAqHUIeQT85MkZRpmQQqE4rbj7BuaaLqG42LIroiBqweNflh7d H+QR2juwwKA1jFqs8usmdfolQOp+omTQar/sOVos/nAQz9BR1WMdlGA1yuXtxTt14eezIl OZm0UE+uNUFaJzIu2VNIF0e1yj8UyyE+1cBaPh+ZeqjAzDaLNxxi2SaO5+bRxg== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:30 +0200 Subject: [PATCH 26/32] drm/bridge: cdns-dsi: convert to the .attach_new op 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: <20250625-drm-dsi-host-no-device-ptr-v1-26-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepvdehnecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com This op does not pass any pointer to the DSI device, so the DSI host driver cannot store it. This driver uses the DSI device format parameters in various places outside the .attach op, and currently it does so by storing a pointer to the struct mipi_dsi_device. That's exactly what .attach_new aims at removing. Store a copy of the format parameters instead of the struct mipi_dsi_device pointer. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c | 57 +++++++++++++---------= ---- drivers/gpu/drm/bridge/cadence/cdns-dsi-core.h | 2 +- 2 files changed, 29 insertions(+), 30 deletions(-) diff --git a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c b/drivers/gpu/d= rm/bridge/cadence/cdns-dsi-core.c index 005aa6121227b2f7ac682f3b724e4518e8e5f721..15743d29a8d4fb9074f04b65a3c= 4bb390a5829d2 100644 --- a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c +++ b/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c @@ -487,10 +487,10 @@ static int cdns_dsi_mode2cfg(struct cdns_dsi *dsi, =20 memset(dsi_cfg, 0, sizeof(*dsi_cfg)); =20 - if (output->dev->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) + if (output->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) sync_pulse =3D true; =20 - bpp =3D mipi_dsi_pixel_format_to_bpp(output->dev->format); + bpp =3D mipi_dsi_pixel_format_to_bpp(output->bus_fmt.format); =20 if (mode_valid_check) tmp =3D mode->htotal - @@ -534,10 +534,10 @@ static int cdns_dsi_adjust_phy_config(struct cdns_dsi= *dsi, unsigned long dpi_htotal; unsigned long dpi_hz; unsigned int dsi_hfp_ext; - unsigned int lanes =3D output->dev->lanes; + unsigned int lanes =3D output->bus_fmt.lanes; =20 dsi_htotal =3D dsi_cfg->hbp + DSI_HBP_FRAME_OVERHEAD; - if (output->dev->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) + if (output->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) dsi_htotal +=3D dsi_cfg->hsa + DSI_HSA_FRAME_OVERHEAD; =20 dsi_htotal +=3D dsi_cfg->hact; @@ -578,7 +578,7 @@ static int cdns_dsi_check_conf(struct cdns_dsi *dsi, struct cdns_dsi_output *output =3D &dsi->output; struct phy_configure_opts_mipi_dphy *phy_cfg =3D &output->phy_opts.mipi_d= phy; unsigned long dsi_hss_hsa_hse_hbp; - unsigned int nlanes =3D output->dev->lanes; + unsigned int nlanes =3D output->bus_fmt.lanes; int mode_clock =3D (mode_valid_check ? mode->clock : mode->crtc_clock); int ret; =20 @@ -587,7 +587,7 @@ static int cdns_dsi_check_conf(struct cdns_dsi *dsi, return ret; =20 ret =3D phy_mipi_dphy_get_default_config(mode_clock * 1000, - mipi_dsi_pixel_format_to_bpp(output->dev->format), + mipi_dsi_pixel_format_to_bpp(output->bus_fmt.format), nlanes, phy_cfg); if (ret) return ret; @@ -601,7 +601,7 @@ static int cdns_dsi_check_conf(struct cdns_dsi *dsi, return ret; =20 dsi_hss_hsa_hse_hbp =3D dsi_cfg->hbp + DSI_HBP_FRAME_OVERHEAD; - if (output->dev->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) + if (output->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) dsi_hss_hsa_hse_hbp +=3D dsi_cfg->hsa + DSI_HSA_FRAME_OVERHEAD; =20 /* @@ -659,7 +659,7 @@ cdns_dsi_bridge_mode_valid(struct drm_bridge *bridge, return MODE_V_ILLEGAL; =20 /* HACT must be 32-bits aligned. */ - bpp =3D mipi_dsi_pixel_format_to_bpp(output->dev->format); + bpp =3D mipi_dsi_pixel_format_to_bpp(output->bus_fmt.format); if ((mode->hdisplay * bpp) % 32) return MODE_H_ILLEGAL; =20 @@ -739,7 +739,7 @@ static void cdns_dsi_hs_init(struct cdns_dsi *dsi) status & PLL_LOCKED, 100, 100)); /* De-assert data and clock reset lines. */ writel(DPHY_CMN_PSO | DPHY_ALL_D_PDN | DPHY_C_PDN | DPHY_CMN_PDN | - DPHY_D_RSTB(output->dev->lanes) | DPHY_C_RSTB, + DPHY_D_RSTB(output->bus_fmt.lanes) | DPHY_C_RSTB, dsi->regs + MCTL_DPHY_CFG0); dsi->phy_initialized =3D true; } @@ -755,10 +755,10 @@ static void cdns_dsi_init_link(struct cdns_dsi *dsi) return; =20 val =3D 0; - for (i =3D 1; i < output->dev->lanes; i++) + for (i =3D 1; i < output->bus_fmt.lanes; i++) val |=3D DATA_LANE_EN(i); =20 - if (!(output->dev->mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS)) + if (!(output->bus_fmt.mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS)) val |=3D CLK_CONTINUOUS; =20 writel(val, dsi->regs + MCTL_MAIN_PHY_CTL); @@ -772,7 +772,7 @@ static void cdns_dsi_init_link(struct cdns_dsi *dsi) writel(LINK_EN, dsi->regs + MCTL_MAIN_DATA_CTL); =20 val =3D CLK_LANE_EN | PLL_START; - for (i =3D 0; i < output->dev->lanes; i++) + for (i =3D 0; i < output->bus_fmt.lanes; i++) val |=3D DATA_LANE_START(i); =20 writel(val, dsi->regs + MCTL_MAIN_EN); @@ -830,7 +830,7 @@ static void cdns_dsi_bridge_atomic_pre_enable(struct dr= m_bridge *bridge, conn_state =3D drm_atomic_get_new_connector_state(state, connector); crtc_state =3D drm_atomic_get_new_crtc_state(state, conn_state->crtc); mode =3D &crtc_state->adjusted_mode; - nlanes =3D output->dev->lanes; + nlanes =3D output->bus_fmt.lanes; =20 cdns_dsi_init_link(dsi); cdns_dsi_hs_init(dsi); @@ -863,21 +863,21 @@ static void cdns_dsi_bridge_atomic_pre_enable(struct = drm_bridge *bridge, (dsi_cfg.hsa + DSI_BLANKING_FRAME_OVERHEAD + DSI_HSA_FRAME_OVERHEAD); writel(BLK_LINE_PULSE_PKT_LEN(tmp), dsi->regs + VID_BLKSIZE2); - if (output->dev->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) + if (output->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) writel(MAX_LINE_LIMIT(tmp - DSI_NULL_FRAME_OVERHEAD), dsi->regs + VID_VCA_SETTING2); =20 tmp =3D dsi_cfg.htotal - (DSI_HSS_VSS_VSE_FRAME_OVERHEAD + DSI_BLANKING_FRAME_OVERHEAD); writel(BLK_LINE_EVENT_PKT_LEN(tmp), dsi->regs + VID_BLKSIZE1); - if (!(output->dev->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE)) + if (!(output->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE)) writel(MAX_LINE_LIMIT(tmp - DSI_NULL_FRAME_OVERHEAD), dsi->regs + VID_VCA_SETTING2); =20 tmp =3D DIV_ROUND_UP(dsi_cfg.htotal, nlanes) - DIV_ROUND_UP(dsi_cfg.hsa, nlanes); =20 - if (!(output->dev->mode_flags & MIPI_DSI_MODE_NO_EOT_PACKET)) + if (!(output->bus_fmt.mode_flags & MIPI_DSI_MODE_NO_EOT_PACKET)) tmp -=3D DIV_ROUND_UP(DSI_EOT_PKT_SIZE, nlanes); =20 tx_byte_period =3D DIV_ROUND_DOWN_ULL((u64)NSEC_PER_SEC * 8, @@ -909,8 +909,8 @@ static void cdns_dsi_bridge_atomic_pre_enable(struct dr= m_bridge *bridge, =20 writel(LPRX_TIMEOUT(tmp), dsi->regs + MCTL_DPHY_TIMEOUT2); =20 - if (output->dev->mode_flags & MIPI_DSI_MODE_VIDEO) { - switch (output->dev->format) { + if (output->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO) { + switch (output->bus_fmt.format) { case MIPI_DSI_FMT_RGB888: tmp =3D VID_PIXEL_MODE_RGB888 | VID_DATATYPE(MIPI_DSI_PACKED_PIXEL_STREAM_24); @@ -936,7 +936,7 @@ static void cdns_dsi_bridge_atomic_pre_enable(struct dr= m_bridge *bridge, return; } =20 - if (output->dev->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) + if (output->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) tmp |=3D SYNC_PULSE_ACTIVE | SYNC_PULSE_HORIZONTAL; =20 tmp |=3D REG_BLKLINE_MODE(REG_BLK_MODE_BLANKING_PKT) | @@ -950,10 +950,10 @@ static void cdns_dsi_bridge_atomic_pre_enable(struct = drm_bridge *bridge, tmp =3D readl(dsi->regs + MCTL_MAIN_DATA_CTL); tmp &=3D ~(IF_VID_SELECT_MASK | HOST_EOT_GEN | IF_VID_MODE); =20 - if (!(output->dev->mode_flags & MIPI_DSI_MODE_NO_EOT_PACKET)) + if (!(output->bus_fmt.mode_flags & MIPI_DSI_MODE_NO_EOT_PACKET)) tmp |=3D HOST_EOT_GEN; =20 - if (output->dev->mode_flags & MIPI_DSI_MODE_VIDEO) + if (output->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO) tmp |=3D IF_VID_MODE | IF_VID_SELECT(input->id) | VID_EN; =20 writel(tmp, dsi->regs + MCTL_MAIN_DATA_CTL); @@ -980,7 +980,7 @@ static u32 *cdns_dsi_bridge_get_input_bus_fmts(struct d= rm_bridge *bridge, if (!input_fmts) return NULL; =20 - input_fmts[0] =3D drm_mipi_dsi_get_input_bus_fmt(output->dev->format); + input_fmts[0] =3D drm_mipi_dsi_get_input_bus_fmt(output->bus_fmt.format); if (!input_fmts[0]) return NULL; =20 @@ -1066,7 +1066,7 @@ static const struct drm_bridge_funcs cdns_dsi_bridge_= funcs =3D { }; =20 static int cdns_dsi_attach(struct mipi_dsi_host *host, - struct mipi_dsi_device *dev) + const struct mipi_dsi_bus_fmt *bus_fmt) { struct cdns_dsi *dsi =3D to_cdns_dsi(host); struct cdns_dsi_output *output =3D &dsi->output; @@ -1078,11 +1078,11 @@ static int cdns_dsi_attach(struct mipi_dsi_host *ho= st, * same host. In order to support that we'd need the DRM bridge * framework to allow dynamic reconfiguration of the bridge chain. */ - if (output->dev) + if (output->bus_fmt.lanes) return -EBUSY; =20 /* We do not support burst mode yet. */ - if (dev->mode_flags & MIPI_DSI_MODE_VIDEO_BURST) + if (bus_fmt->mode_flags & MIPI_DSI_MODE_VIDEO_BURST) return -ENOTSUPP; =20 /* @@ -1091,12 +1091,12 @@ static int cdns_dsi_attach(struct mipi_dsi_host *ho= st, * this representation. */ bridge =3D devm_drm_of_get_bridge(dsi->base.dev, dsi->base.dev->of_node, - DSI_OUTPUT_PORT, dev->channel); + DSI_OUTPUT_PORT, bus_fmt->channel); if (IS_ERR(bridge)) return PTR_ERR(bridge); =20 - output->dev =3D dev; output->bridge =3D bridge; + output->bus_fmt =3D *bus_fmt; =20 /* * The DSI output has been properly configured, we can now safely @@ -1254,7 +1254,7 @@ static ssize_t cdns_dsi_transfer(struct mipi_dsi_host= *host, } =20 static const struct mipi_dsi_host_ops cdns_dsi_ops =3D { - .attach =3D cdns_dsi_attach, + .attach_new =3D cdns_dsi_attach, .detach =3D cdns_dsi_detach, .transfer =3D cdns_dsi_transfer, }; @@ -1437,4 +1437,3 @@ MODULE_AUTHOR("Boris Brezillon "); MODULE_DESCRIPTION("Cadence DSI driver"); MODULE_LICENSE("GPL"); MODULE_ALIAS("platform:cdns-dsi"); - diff --git a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.h b/drivers/gpu/d= rm/bridge/cadence/cdns-dsi-core.h index 5db5dbbbcaadbe7a49596b349e381a671741a810..7439f88994cac1d454d7027fd88= abcd82b7847e3 100644 --- a/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.h +++ b/drivers/gpu/drm/bridge/cadence/cdns-dsi-core.h @@ -19,9 +19,9 @@ struct clk; struct reset_control; =20 struct cdns_dsi_output { - struct mipi_dsi_device *dev; struct drm_bridge *bridge; union phy_configure_opts phy_opts; + struct mipi_dsi_bus_fmt bus_fmt; }; =20 enum cdns_dsi_input_id { --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 69D4B2FCFCB for ; Wed, 25 Jun 2025 16:46:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869987; cv=none; b=NS/+AyWpmeFiXW8/UCBLRcJRcJY98A1OUxJ7EwFcbXxtPd0YtKMfudocAR0jLtkgs6JIvoWWAaDY3qt3RBPVRD6anDHzNgmKHzaeiPC5YjWEYSCBcSmxQkyqnAEmko+8dSa8equeKvR6LAfaEHWKO38V6buQh+5TYryqIOx+MRE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869987; c=relaxed/simple; bh=1v1dXKX4Z9FBCLW9sn1k/yoYvNjyZ949JsRDek4AbHc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kS46Ff/RwbEnZs5a3d66557EQxLQVsKErVZ2z0Dwlh7/kbC0K7o+yFS7sRFmn3V3wmG7rA+Unm9Uoj0FP7q7d1RYLdlPs3720Jxw2LLmJpo2PnUHT+bD7fJtfTPm5uLyRif8OsZhEsH6YuUIFYIDwtx9Fzj4vt1uiV/einVqHJM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=NmDmyhdf; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="NmDmyhdf" Received: by mail.gandi.net (Postfix) with ESMTPSA id 7B6A744387; Wed, 25 Jun 2025 16:46:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869984; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=e4mNy/xB+s/exlR2a9UXks6ohH9fLyh7nhMEelyG0HM=; b=NmDmyhdfcMhbh5CWpGyiY+iA8p4LqHvuiTBBLFaKib6G84EmAV6mmFvGTRzcyxndCvPBXE x30wghVMeb4vUgXfcPq8jgpvVKeiaVuC7oQewhstZRwH8ctZ0BUwQChy0ZGl/Q0OXsEIrs qokQo122CYd64GqI5MMsqU7aHgIYW2benSiXcwVg5egnpmCzhhxOMFyapcC3Au3LhxE3Uh tS9TncKsha1ckGD0Eub1hbPBvd5zEtxgvUoNAuZs3wv1rhvKNtJv0M72kZPNJ7qkSoKbA3 qeGk3otJ6Fdd8HE386udlGvQNBIoxiKxou8HzvzHzkLZXEH6LN/LVmPSNjjRYQ== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:31 +0200 Subject: [PATCH 27/32] drm/bridge: tc358768: convert to the .attach_new op 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: <20250625-drm-dsi-host-no-device-ptr-v1-27-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepvdehnecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com This op does not pass any pointer to the DSI device, so the DSI host driver cannot store it. This driver uses the DSI device format parameters in various places outside the .attach op, and currently it does so by storing a pointer to the struct mipi_dsi_device. That's exactly what .attach_new aims at removing. Store a copy of the format parameters instead of the struct mipi_dsi_device pointer. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/bridge/tc358768.c | 40 +++++++++++++++++++----------------= ---- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/drivers/gpu/drm/bridge/tc358768.c b/drivers/gpu/drm/bridge/tc3= 58768.c index fbdc44e162293f2f9b090bc956604184a2a406b2..5793e15f23e4f36cb967a5c32eb= 8463eb47beded 100644 --- a/drivers/gpu/drm/bridge/tc358768.c +++ b/drivers/gpu/drm/bridge/tc358768.c @@ -133,9 +133,9 @@ static const char * const tc358768_supplies[] =3D { }; =20 struct tc358768_dsi_output { - struct mipi_dsi_device *dev; struct drm_panel *panel; struct drm_bridge *bridge; + struct mipi_dsi_bus_fmt bus_fmt; }; =20 struct tc358768_priv { @@ -406,7 +406,7 @@ static int tc358768_calc_pll(struct tc358768_priv *priv, } =20 static int tc358768_dsi_host_attach(struct mipi_dsi_host *host, - struct mipi_dsi_device *dev) + const struct mipi_dsi_bus_fmt *bus_fmt) { struct tc358768_priv *priv =3D dsi_host_to_tc358768(host); struct drm_bridge *bridge; @@ -414,9 +414,9 @@ static int tc358768_dsi_host_attach(struct mipi_dsi_hos= t *host, struct device_node *ep; int ret; =20 - if (dev->lanes > 4) { + if (bus_fmt->lanes > 4) { dev_err(priv->dev, "unsupported number of data lanes(%u)\n", - dev->lanes); + bus_fmt->lanes); return -EINVAL; } =20 @@ -424,7 +424,7 @@ static int tc358768_dsi_host_attach(struct mipi_dsi_hos= t *host, * tc358768 supports both Video and Pulse mode, but the driver only * implements Video (event) mode currently */ - if (!(dev->mode_flags & MIPI_DSI_MODE_VIDEO)) { + if (!(bus_fmt->mode_flags & MIPI_DSI_MODE_VIDEO)) { dev_err(priv->dev, "Only MIPI_DSI_MODE_VIDEO is supported\n"); return -ENOTSUPP; } @@ -433,7 +433,7 @@ static int tc358768_dsi_host_attach(struct mipi_dsi_hos= t *host, * tc358768 supports RGB888, RGB666, RGB666_PACKED and RGB565, but only * RGB888 is verified. */ - if (dev->format !=3D MIPI_DSI_FMT_RGB888) { + if (bus_fmt->format !=3D MIPI_DSI_FMT_RGB888) { dev_warn(priv->dev, "Only MIPI_DSI_FMT_RGB888 tested!\n"); return -ENOTSUPP; } @@ -450,12 +450,12 @@ static int tc358768_dsi_host_attach(struct mipi_dsi_h= ost *host, return PTR_ERR(bridge); } =20 - priv->output.dev =3D dev; + priv->output.bus_fmt =3D *bus_fmt; priv->output.bridge =3D bridge; priv->output.panel =3D panel; =20 - priv->dsi_lanes =3D dev->lanes; - priv->dsi_bpp =3D mipi_dsi_pixel_format_to_bpp(dev->format); + priv->dsi_lanes =3D bus_fmt->lanes; + priv->dsi_bpp =3D mipi_dsi_pixel_format_to_bpp(bus_fmt->format); =20 /* get input ep (port0/endpoint0) */ ret =3D -EINVAL; @@ -548,7 +548,7 @@ static ssize_t tc358768_dsi_host_transfer(struct mipi_d= si_host *host, } =20 static const struct mipi_dsi_host_ops tc358768_dsi_host_ops =3D { - .attach =3D tc358768_dsi_host_attach, + .attach_new =3D tc358768_dsi_host_attach, .detach =3D tc358768_dsi_host_detach, .transfer =3D tc358768_dsi_host_transfer, }; @@ -689,8 +689,8 @@ static void tc358768_bridge_atomic_pre_enable(struct dr= m_bridge *bridge, struct drm_atomic_state *state) { struct tc358768_priv *priv =3D bridge_to_tc358768(bridge); - struct mipi_dsi_device *dsi_dev =3D priv->output.dev; - unsigned long mode_flags =3D dsi_dev->mode_flags; + const struct mipi_dsi_bus_fmt *bus_fmt =3D &priv->output.bus_fmt; + unsigned long mode_flags =3D bus_fmt->mode_flags; u32 val, val2, lptxcnt, hact, data_type; s32 raw_val; struct drm_crtc_state *crtc_state; @@ -744,7 +744,7 @@ static void tc358768_bridge_atomic_pre_enable(struct dr= m_bridge *bridge, =20 /* Data Format Control Register */ val =3D BIT(2) | BIT(1) | BIT(0); /* rdswap_en | dsitx_en | txdt_en */ - switch (dsi_dev->format) { + switch (bus_fmt->format) { case MIPI_DSI_FMT_RGB888: val |=3D (0x3 << 4); hact =3D vm.hactive * 3; @@ -769,7 +769,7 @@ static void tc358768_bridge_atomic_pre_enable(struct dr= m_bridge *bridge, break; default: dev_err(dev, "Invalid data format (%u)\n", - dsi_dev->format); + bus_fmt->format); tc358768_hw_disable(priv); return; } @@ -811,7 +811,7 @@ static void tc358768_bridge_atomic_pre_enable(struct dr= m_bridge *bridge, dsi_dpi_htot =3D tc358768_dpi_to_dsi_bytes(priv, dpi_htot); dsi_dpi_data_start =3D tc358768_dpi_to_dsi_bytes(priv, dpi_data_start); =20 - if (dsi_dev->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) { + if (bus_fmt->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) { dsi_hsw =3D tc358768_dpi_to_dsi_bytes(priv, vm.hsync_len); dsi_hbp =3D tc358768_dpi_to_dsi_bytes(priv, vm.hback_porch); } else { @@ -927,7 +927,7 @@ static void tc358768_bridge_atomic_pre_enable(struct dr= m_bridge *bridge, /* Enable D-PHY (HiZ->LP11) */ tc358768_write(priv, TC358768_CLW_CNTRL, 0x0000); /* Enable lanes */ - for (i =3D 0; i < dsi_dev->lanes; i++) + for (i =3D 0; i < bus_fmt->lanes; i++) tc358768_write(priv, TC358768_D0W_CNTRL + i * 4, 0x0000); =20 /* DSI Timings */ @@ -995,7 +995,7 @@ static void tc358768_bridge_atomic_pre_enable(struct dr= m_bridge *bridge, tc358768_write(priv, TC358768_THS_TRAILCNT, val); =20 val =3D BIT(0); - for (i =3D 0; i < dsi_dev->lanes; i++) + for (i =3D 0; i < bus_fmt->lanes; i++) val |=3D BIT(i + 1); tc358768_write(priv, TC358768_HSTXVREGEN, val); =20 @@ -1015,7 +1015,7 @@ static void tc358768_bridge_atomic_pre_enable(struct = drm_bridge *bridge, /* START[0] */ tc358768_write(priv, TC358768_STARTCNTRL, 1); =20 - if (dsi_dev->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) { + if (bus_fmt->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) { /* Set pulse mode */ tc358768_write(priv, TC358768_DSI_EVENT, 0); =20 @@ -1069,14 +1069,14 @@ static void tc358768_bridge_atomic_pre_enable(struc= t drm_bridge *bridge, tc358768_write(priv, TC358768_DSI_CONFW, val); =20 val =3D TC358768_DSI_CONFW_MODE_SET | TC358768_DSI_CONFW_ADDR_DSI_CONTROL; - val |=3D (dsi_dev->lanes - 1) << 1; + val |=3D (bus_fmt->lanes - 1) << 1; =20 val |=3D TC358768_DSI_CONTROL_TXMD; =20 if (!(mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS)) val |=3D TC358768_DSI_CONTROL_HSCKMD; =20 - if (dsi_dev->mode_flags & MIPI_DSI_MODE_NO_EOT_PACKET) + if (bus_fmt->mode_flags & MIPI_DSI_MODE_NO_EOT_PACKET) val |=3D TC358768_DSI_CONTROL_EOTDIS; =20 tc358768_write(priv, TC358768_DSI_CONFW, val); --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 3A9172FCFDC for ; Wed, 25 Jun 2025 16:46:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869989; cv=none; b=SnCp+L/wZP/XjKlA+2FLjDWbHs3RzlL3VsJpmfYade1qvmm3Yq/eTZHWc6Hzwb9+ZTRd0PMvDS1Nj24uA0Qyfts89O3NiBqMHP33QyDB4pxxVV0ZwXv7tUBuCfZ1PdKF/57zDQTtBEYKOXYc6jusz7I9LyRew+wV0HRoa4zz4wk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869989; c=relaxed/simple; bh=jagoe3b8bPBhOceWjwVnKXLG/3ro/xaSNep42HIZhtw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=cf5w3XbnMMS43+lYicVTM8RbyjpiYzKCFQzHM7isJZEk4A/QG/OiXxihahQE11/YQ5sShBGRpVmUIv5yfZTah9zpf6Ul4B+4qODDNXVDgXrGtP5cKiY2vmaCRgQv8qXigulz+hBv7MkasO9J419SyVnyyDHa2cpPub2zEugKZzU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=TTc8qGLZ; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="TTc8qGLZ" Received: by mail.gandi.net (Postfix) with ESMTPSA id 2C9044437D; Wed, 25 Jun 2025 16:46:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=yyKj3c5L5BuZvNV4ZLjrnBDkRs6hAEEv2OmhUgxrNYk=; b=TTc8qGLZbmH2lrJ7I4Ut4zddsfGTxXplvQf9BdenMFswH/fL8ptgwoRtI6J0OjI/6q9oLK KiSYsLh9BNAVDE9qf/qZ4fqNdu3va15R03Z7MmcMR/gUG0FNC05ON78ILiihN6doEHxEbu AC32Ql7/MFxOYm2v0MTd8TIgElntrtZSwj4rmi93A4jq7xI4mmFDI1B0QawXbQk9Jbnjhv ncad1319v6vtiPmveV+r4i8stissMCQU13Q2pcB39WinZIoxEVkVvuxhwKkIjCISbbjA5o 4aJPDNQ5gFGFZYBLlDNbFAGqaQy2adMMdQI7GaqdTRb1YEcn/Yqu2EW0RhyOpg== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:32 +0200 Subject: [PATCH 28/32] drm/sprd: convert to the .attach_new op 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: <20250625-drm-dsi-host-no-device-ptr-v1-28-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepvdehnecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com This op does not pass any pointer to the DSI device, so the DSI host driver cannot store it. This driver uses the DSI device format parameters in various places outside the .attach op, and currently it does so by storing a pointer to the struct mipi_dsi_device. That's exactly what .attach_new aims at removing. Store a copy of the format parameters instead of the struct mipi_dsi_device pointer. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/sprd/megacores_pll.c | 2 +- drivers/gpu/drm/sprd/sprd_dpu.c | 2 +- drivers/gpu/drm/sprd/sprd_dsi.c | 28 ++++++++++++++-------------- drivers/gpu/drm/sprd/sprd_dsi.h | 2 +- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/sprd/megacores_pll.c b/drivers/gpu/drm/sprd/me= gacores_pll.c index 3091dfdc11e3b547a05a9edaa4047a1e367c1596..e2558b77f4d4100052327c370fc= 4ba9eb5f722f1 100644 --- a/drivers/gpu/drm/sprd/megacores_pll.c +++ b/drivers/gpu/drm/sprd/megacores_pll.c @@ -111,7 +111,7 @@ int dphy_pll_config(struct dsi_context *ctx) struct dphy_pll *pll =3D &ctx->pll; int ret; =20 - pll->freq =3D dsi->slave->hs_rate; + pll->freq =3D dsi->bus_fmt.hs_rate; =20 /* FREQ =3D 26M * (NINT + KINT / 2^20) / out_sel */ ret =3D dphy_calc_pll_param(pll); diff --git a/drivers/gpu/drm/sprd/sprd_dpu.c b/drivers/gpu/drm/sprd/sprd_dp= u.c index a3447622a33cd612e34be038e833222567bdcd2c..c1996fb72a52c7483dc68bfd515= 6ddfaa065aa57 100644 --- a/drivers/gpu/drm/sprd/sprd_dpu.c +++ b/drivers/gpu/drm/sprd/sprd_dpu.c @@ -626,7 +626,7 @@ static void sprd_crtc_mode_set_nofb(struct drm_crtc *cr= tc) crtc->state->encoder_mask) { dsi =3D encoder_to_dsi(encoder); =20 - if (dsi->slave->mode_flags & MIPI_DSI_MODE_VIDEO) + if (dsi->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO) dpu->ctx.if_type =3D SPRD_DPU_IF_DPI; else dpu->ctx.if_type =3D SPRD_DPU_IF_EDPI; diff --git a/drivers/gpu/drm/sprd/sprd_dsi.c b/drivers/gpu/drm/sprd/sprd_ds= i.c index 23b0e1dc547a5023ee6ad7d5e1c49e2cec986bf0..2962836e34c0c6f6b2ed615f66d= 149af2aac48bd 100644 --- a/drivers/gpu/drm/sprd/sprd_dsi.c +++ b/drivers/gpu/drm/sprd/sprd_dsi.c @@ -389,7 +389,7 @@ static u32 fmt_to_coding(u32 fmt) static void sprd_dsi_init(struct dsi_context *ctx) { struct sprd_dsi *dsi =3D container_of(ctx, struct sprd_dsi, ctx); - u32 byte_clk =3D dsi->slave->hs_rate / 8; + u32 byte_clk =3D dsi->bus_fmt.hs_rate / 8; u16 data_hs2lp, data_lp2hs, clk_hs2lp, clk_lp2hs; u16 max_rd_time; int div; @@ -406,7 +406,7 @@ static void sprd_dsi_init(struct dsi_context *ctx) dsi_reg_up(ctx, VIRTUAL_CHANNEL_ID, VIDEO_PKT_VCID, 0); dsi_reg_up(ctx, VIRTUAL_CHANNEL_ID, GEN_RX_VCID, 0); =20 - div =3D DIV_ROUND_UP(byte_clk, dsi->slave->lp_rate); + div =3D DIV_ROUND_UP(byte_clk, dsi->bus_fmt.lp_rate); writel(div, ctx->base + TX_ESC_CLK_CONFIG); =20 max_rd_time =3D ns_to_cycle(ctx->max_rd_time, byte_clk); @@ -448,7 +448,7 @@ static int sprd_dsi_dpi_video(struct dsi_context *ctx) { struct sprd_dsi *dsi =3D container_of(ctx, struct sprd_dsi, ctx); struct videomode *vm =3D &ctx->vm; - u32 byte_clk =3D dsi->slave->hs_rate / 8; + u32 byte_clk =3D dsi->bus_fmt.hs_rate / 8; u16 bpp_x100; u16 video_size; u32 ratio_x1000; @@ -466,7 +466,7 @@ static int sprd_dsi_dpi_video(struct dsi_context *ctx) u16 hline; u16 byte_cycle; =20 - coding =3D fmt_to_coding(dsi->slave->format); + coding =3D fmt_to_coding(dsi->bus_fmt.format); video_size =3D round_video_size(coding, vm->hactive); bpp_x100 =3D calc_bytes_per_pixel_x100(coding); video_size_step =3D calc_video_size_step(coding); @@ -517,7 +517,7 @@ static int sprd_dsi_dpi_video(struct dsi_context *ctx) =20 /* hline total bytes from the DPI interface */ total_bytes =3D (vm->hactive + vm->hfront_porch) * - ratio_x1000 / dsi->slave->lanes / 1000; + ratio_x1000 / dsi->bus_fmt.lanes / 1000; =20 /* check if the pixels actually fit on the DSI link */ if (total_bytes < bytes_per_chunk) { @@ -588,7 +588,7 @@ static void sprd_dsi_edpi_video(struct dsi_context *ctx) u32 max_fifo_len; u8 coding; =20 - coding =3D fmt_to_coding(dsi->slave->format); + coding =3D fmt_to_coding(dsi->bus_fmt.format); bpp_x100 =3D calc_bytes_per_pixel_x100(coding); max_fifo_len =3D word_length * fifo_depth * 100 / bpp_x100; =20 @@ -760,7 +760,7 @@ static int sprd_dphy_init(struct dsi_context *ctx) dsi_reg_up(ctx, PHY_INTERFACE_CTRL, RF_PHY_RESET_N, RF_PHY_RESET_N); writel(0x1C, ctx->base + PHY_MIN_STOP_TIME); dsi_reg_up(ctx, PHY_INTERFACE_CTRL, RF_PHY_CLK_EN, RF_PHY_CLK_EN); - writel(dsi->slave->lanes - 1, ctx->base + PHY_LANE_NUM_CONFIG); + writel(dsi->bus_fmt.lanes - 1, ctx->base + PHY_LANE_NUM_CONFIG); =20 ret =3D dphy_wait_pll_locked(ctx); if (ret) { @@ -809,7 +809,7 @@ static void sprd_dsi_encoder_enable(struct drm_encoder = *encoder) sprd_dsi_set_work_mode(ctx, ctx->work_mode); sprd_dsi_state_reset(ctx); =20 - if (dsi->slave->mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS) { + if (dsi->bus_fmt.mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS) { dsi_reg_up(ctx, PHY_CLK_LANE_LP_CTRL, AUTO_CLKLANE_CTRL_EN, AUTO_CLKLANE_CTRL_EN); } else { @@ -965,21 +965,21 @@ static const struct component_ops dsi_component_ops = =3D { }; =20 static int sprd_dsi_host_attach(struct mipi_dsi_host *host, - struct mipi_dsi_device *slave) + const struct mipi_dsi_bus_fmt *bus_fmt) { struct sprd_dsi *dsi =3D host_to_dsi(host); struct dsi_context *ctx =3D &dsi->ctx; =20 - dsi->slave =3D slave; + dsi->bus_fmt =3D *bus_fmt; =20 - if (slave->mode_flags & MIPI_DSI_MODE_VIDEO) + if (bus_fmt->mode_flags & MIPI_DSI_MODE_VIDEO) ctx->work_mode =3D DSI_MODE_VIDEO; else ctx->work_mode =3D DSI_MODE_CMD; =20 - if (slave->mode_flags & MIPI_DSI_MODE_VIDEO_BURST) + if (bus_fmt->mode_flags & MIPI_DSI_MODE_VIDEO_BURST) ctx->burst_mode =3D VIDEO_BURST_WITH_SYNC_PULSES; - else if (slave->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) + else if (bus_fmt->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) ctx->burst_mode =3D VIDEO_NON_BURST_WITH_SYNC_PULSES; else ctx->burst_mode =3D VIDEO_NON_BURST_WITH_SYNC_EVENTS; @@ -1017,7 +1017,7 @@ static ssize_t sprd_dsi_host_transfer(struct mipi_dsi= _host *host, } =20 static const struct mipi_dsi_host_ops sprd_dsi_host_ops =3D { - .attach =3D sprd_dsi_host_attach, + .attach_new =3D sprd_dsi_host_attach, .detach =3D sprd_dsi_host_detach, .transfer =3D sprd_dsi_host_transfer, }; diff --git a/drivers/gpu/drm/sprd/sprd_dsi.h b/drivers/gpu/drm/sprd/sprd_ds= i.h index d858ebb111150546e99403a87bc7cea42cad0158..2a0a5700d93c30bda5e33f2142c= ef8a7cce0271c 100644 --- a/drivers/gpu/drm/sprd/sprd_dsi.h +++ b/drivers/gpu/drm/sprd/sprd_dsi.h @@ -114,7 +114,7 @@ struct dsi_context { struct sprd_dsi { struct drm_device *drm; struct mipi_dsi_host host; - struct mipi_dsi_device *slave; + struct mipi_dsi_bus_fmt bus_fmt; struct drm_encoder encoder; struct drm_bridge *panel_bridge; struct dsi_context ctx; --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 CE8862FCFE8 for ; Wed, 25 Jun 2025 16:46:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869990; cv=none; b=fInJnDG2MTiCoSCc8MWgZ6VooCNk9vUpImaYt8WJYhVqaWXLi2popPvA2s28nOECQHuDLUsrV6VQiNvCOi9hUJ5no69iu3BBgjOMIGOyPy5b1TlFdRKHpMdbg2v3ADyygSPIU0LSEsp+kq1J9jyAVwsgu7koRdpc6j1/h9YAHgM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869990; c=relaxed/simple; bh=j0l0ZjU43QQC4HrQG71y9KMmNZX2uOZiGpVn77BnE1A=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=mUa2AwHcP/GWZbszyFbZnnRhwuAWSOeJbmdPxgAXjzu0YUeohJ5pAJI3UWtV51aXlkRSRnxajI68tcVqUxer8JvT0H0bv/aPNi+5oWtRlugyzLBJv6Y+iKq1jAUa7JZ4dAigbTcD6Ed9EsBZu83T9peYHSad9fNgnsopCPELdhs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=f3ZG4WsA; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="f3ZG4WsA" Received: by mail.gandi.net (Postfix) with ESMTPSA id C41094437E; Wed, 25 Jun 2025 16:46:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869987; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=fWAgdYIhe6WRxC8lPfOBRIJNcNMxQ9jgzYlq7+Z1pYI=; b=f3ZG4WsAd8pCNZFsWigf1jN4+wCzNAyxyqy7bG4EkmH1wpIQ7NM9UJzwsLLMj7n/YqZbKQ fvTiBHGbpnHGz5FZBscC+Jrg4yOAViIKjVTl/I6haOGJJHCcJWoPL0k+Fu8ErB+zYpXl4U gf33JNIosj8d0suoHVPuL78ZmiK//2oHQJ+7ymWOKu2qplqhcQLrOyIapLEft1JZaXhpXx s+ihgISCTX9IEHZT3Regv4hRN2Q4VFn/dfH0wDjUMWbKF2DrnetgUGlFZu6V+MtBWxOs1W w5bBaaL2ol/9BW+9Wl9ChPitf5Y3wBbne7+XC5wYJuFaiOiRaqGddjRf4NbWmw== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:33 +0200 Subject: [PATCH 29/32] drm/bridge: synopsys: dw-mipi-dsi: convert to the .attach_new op 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: <20250625-drm-dsi-host-no-device-ptr-v1-29-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepvdeknecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com This op does not pass any pointer to the DSI device, so the DSI host driver cannot store it. This requires propagating the change to the dw-mipi-dsi-specific host op in struct dw_mipi_dsi_host_ops and thus to the drivers based on dw-mipi-dsi.c. Among those, the meson driver uses the DSI device format parameters in various places outside the .attach op, and currently it does so by storing a pointer to the struct mipi_dsi_device. That's exactly what .attach_new aims at removing, so store a copy of the format parameters instead of the struct mipi_dsi_device pointer. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/bridge/imx/imx93-mipi-dsi.c | 4 ++-- drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 18 +++++++++--------- drivers/gpu/drm/meson/meson_dw_mipi_dsi.c | 16 ++++++++-------- drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c | 2 +- include/drm/bridge/dw_mipi_dsi.h | 3 ++- 5 files changed, 22 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/bridge/imx/imx93-mipi-dsi.c b/drivers/gpu/drm/= bridge/imx/imx93-mipi-dsi.c index bea8346515b8c8ce150040f58d288ac564eeb563..7bd48952cee571709a39fdf969f= 05ac61422862a 100644 --- a/drivers/gpu/drm/bridge/imx/imx93-mipi-dsi.c +++ b/drivers/gpu/drm/bridge/imx/imx93-mipi-dsi.c @@ -816,11 +816,11 @@ static const struct dw_mipi_dsi_phy_ops imx93_dsi_phy= _ops =3D { .get_timing =3D imx93_dsi_phy_get_timing, }; =20 -static int imx93_dsi_host_attach(void *priv_data, struct mipi_dsi_device *= device) +static int imx93_dsi_host_attach(void *priv_data, const struct mipi_dsi_bu= s_fmt *bus_fmt) { struct imx93_dsi *dsi =3D priv_data; =20 - dsi->format =3D device->format; + dsi->format =3D bus_fmt->format; =20 return 0; } diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c b/drivers/gpu/dr= m/bridge/synopsys/dw-mipi-dsi.c index 8fc2e282ff114db363a6cf0fe085684449b26438..ee84e773215c106651dad30de36= e76a5be480553 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c @@ -315,23 +315,23 @@ static inline u32 dsi_read(struct dw_mipi_dsi *dsi, u= 32 reg) } =20 static int dw_mipi_dsi_host_attach(struct mipi_dsi_host *host, - struct mipi_dsi_device *device) + const struct mipi_dsi_bus_fmt *bus_fmt) { struct dw_mipi_dsi *dsi =3D host_to_dsi(host); const struct dw_mipi_dsi_plat_data *pdata =3D dsi->plat_data; struct drm_bridge *bridge; int ret; =20 - if (device->lanes > dsi->plat_data->max_data_lanes) { + if (bus_fmt->lanes > dsi->plat_data->max_data_lanes) { dev_err(dsi->dev, "the number of data lanes(%u) is too many\n", - device->lanes); + bus_fmt->lanes); return -EINVAL; } =20 - dsi->lanes =3D device->lanes; - dsi->channel =3D device->channel; - dsi->format =3D device->format; - dsi->mode_flags =3D device->mode_flags; + dsi->lanes =3D bus_fmt->lanes; + dsi->channel =3D bus_fmt->channel; + dsi->format =3D bus_fmt->format; + dsi->mode_flags =3D bus_fmt->mode_flags; =20 bridge =3D devm_drm_of_get_bridge(dsi->dev, dsi->dev->of_node, 1, 0); if (IS_ERR(bridge)) @@ -343,7 +343,7 @@ static int dw_mipi_dsi_host_attach(struct mipi_dsi_host= *host, drm_bridge_add(&dsi->bridge); =20 if (pdata->host_ops && pdata->host_ops->attach) { - ret =3D pdata->host_ops->attach(pdata->priv_data, device); + ret =3D pdata->host_ops->attach(pdata->priv_data, bus_fmt); if (ret < 0) return ret; } @@ -537,7 +537,7 @@ static ssize_t dw_mipi_dsi_host_transfer(struct mipi_ds= i_host *host, } =20 static const struct mipi_dsi_host_ops dw_mipi_dsi_host_ops =3D { - .attach =3D dw_mipi_dsi_host_attach, + .attach_new =3D dw_mipi_dsi_host_attach, .detach =3D dw_mipi_dsi_host_detach, .transfer =3D dw_mipi_dsi_host_transfer, }; diff --git a/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c b/drivers/gpu/drm/me= son/meson_dw_mipi_dsi.c index 4dc726cef5455075def7927a469ae23020ebfec7..b3354243a5b22d46f1cf3d8f75e= 602f4fc26081f 100644 --- a/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c +++ b/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c @@ -41,7 +41,7 @@ struct meson_dw_mipi_dsi { union phy_configure_opts phy_opts; struct dw_mipi_dsi *dmd; struct dw_mipi_dsi_plat_data pdata; - struct mipi_dsi_device *dsi_device; + struct mipi_dsi_bus_fmt bus_fmt; const struct drm_display_mode *mode; struct clk *bit_clk; struct clk *px_clk; @@ -110,7 +110,7 @@ static int dw_mipi_dsi_phy_init(void *priv_data) return ret; } =20 - switch (mipi_dsi->dsi_device->format) { + switch (mipi_dsi->bus_fmt.format) { case MIPI_DSI_FMT_RGB888: dpi_data_format =3D DPI_COLOR_24BIT; venc_data_width =3D VENC_IN_COLOR_24B; @@ -164,10 +164,10 @@ dw_mipi_dsi_get_lane_mbps(void *priv_data, const stru= ct drm_display_mode *mode, =20 mipi_dsi->mode =3D mode; =20 - bpp =3D mipi_dsi_pixel_format_to_bpp(mipi_dsi->dsi_device->format); + bpp =3D mipi_dsi_pixel_format_to_bpp(mipi_dsi->bus_fmt.format); =20 phy_mipi_dphy_get_default_config(mode->clock * 1000, - bpp, mipi_dsi->dsi_device->lanes, + bpp, mipi_dsi->bus_fmt.lanes, &mipi_dsi->phy_opts.mipi_dphy); =20 *lane_mbps =3D DIV_ROUND_UP(mipi_dsi->phy_opts.mipi_dphy.hs_clk_rate, USE= C_PER_SEC); @@ -220,21 +220,21 @@ static const struct dw_mipi_dsi_phy_ops meson_dw_mipi= _dsi_phy_ops =3D { }; =20 static int meson_dw_mipi_dsi_host_attach(void *priv_data, - struct mipi_dsi_device *device) + const struct mipi_dsi_bus_fmt *bus_fmt) { struct meson_dw_mipi_dsi *mipi_dsi =3D priv_data; int ret; =20 - mipi_dsi->dsi_device =3D device; + mipi_dsi->bus_fmt =3D *bus_fmt; =20 - switch (device->format) { + switch (bus_fmt->format) { case MIPI_DSI_FMT_RGB888: break; case MIPI_DSI_FMT_RGB666: break; case MIPI_DSI_FMT_RGB666_PACKED: case MIPI_DSI_FMT_RGB565: - dev_err(mipi_dsi->dev, "invalid pixel format %d\n", device->format); + dev_err(mipi_dsi->dev, "invalid pixel format %d\n", bus_fmt->format); return -EINVAL; } =20 diff --git a/drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c b/drivers/gpu/= drm/rockchip/dw-mipi-dsi-rockchip.c index 3398160ad75e4a9629082bc47491eab473caecc0..5d360d7bea9b4a6663133b440dd= 70cc19abee2f0 100644 --- a/drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c +++ b/drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c @@ -1030,7 +1030,7 @@ static const struct component_ops dw_mipi_dsi_rockchi= p_ops =3D { }; =20 static int dw_mipi_dsi_rockchip_host_attach(void *priv_data, - struct mipi_dsi_device *device) + const struct mipi_dsi_bus_fmt *bus_fmt) { struct dw_mipi_dsi_rockchip *dsi =3D priv_data; struct device *second; diff --git a/include/drm/bridge/dw_mipi_dsi.h b/include/drm/bridge/dw_mipi_= dsi.h index 65d5e68065e3d8bd38986b993653c467a18e3a58..452218cb03d91fa4cdc9cd67004= 395bd20a9a748 100644 --- a/include/drm/bridge/dw_mipi_dsi.h +++ b/include/drm/bridge/dw_mipi_dsi.h @@ -15,6 +15,7 @@ #include #include #include +#include #include =20 struct drm_display_mode; @@ -45,7 +46,7 @@ struct dw_mipi_dsi_phy_ops { =20 struct dw_mipi_dsi_host_ops { int (*attach)(void *priv_data, - struct mipi_dsi_device *dsi); + const struct mipi_dsi_bus_fmt *bus_fmt); int (*detach)(void *priv_data, struct mipi_dsi_device *dsi); }; --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 7E5382DBF7A for ; Wed, 25 Jun 2025 16:46:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869992; cv=none; b=gbwxRUFDwAe06+N8LnrlRtRg6pknxGsC21bMQgfJ43uKf0HWJSexv/MmWjXNuwlrwV8wdcDQzC1gvhLTHZCeGd9j/rdbGjVEy/jJkPnePaeig6us43om7oPAlf65Qi2IDarjEFMrGgZP4ii/yZ8+W0x/RdqTkhv5eaRJ4kJ1PMU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869992; c=relaxed/simple; bh=PIHSwBStIdaGTSjzIF+1L+l4cVXefkT9SMvkSbtJ6UU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JKijs8TCNClQ4k9KAK5OrMQIAe/0UVvRJT5pelShwKRl2PuevU5SpCyvz90NAZq1gJd/LbuOnBHWTMEZkmjCtKhWj5wcJn7M4X5BQzl62HCxz+D4345A0KIhSWb29V6hl3jiqolFCOU3SBy0rX/4hDOtJ6lybEYJ+ZC2Dqsrs0M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=CNNRYbXq; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="CNNRYbXq" Received: by mail.gandi.net (Postfix) with ESMTPSA id 6E22544385; Wed, 25 Jun 2025 16:46:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869988; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bDJ3EtpkuDN9Ku0moJtIwyqVQ/u80fKaKJRdWczN4K4=; b=CNNRYbXqLHwCsIX3UNkvqSM7Wh3C/KnZMZ+HZlIBgspOqvRUY1N3Pl75Yidp7GrKT4EOo4 WhLfhl3Z8yUFrbVqo9+sWh64y/xLG+77F4TO9kF2+5s6iUgc5M1QXLV7QW9VZmg0H7/PI5 WVaUBzpRDSYGODTKf+lM71oIUlP0ORDekyWKaxJNOGIw4LoWhfFNsXT8woP6wKnXhIjCM9 BhnpDqfUqzZzJ3x86pZWmEjn8PColHDZ3LP1VcbAaZyAiuMHaq6UBD1+10y8fFUKRLnEjK GzN9uqu/Wutg8DX6b3Gh85xyCR4UF6Orm4XsEOz3IY+Dz0KbPeXgPHF0DCipPA== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:34 +0200 Subject: [PATCH 30/32] drm/mcde: store a pointer to mipi_dsi_host to perform TE requests 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: <20250625-drm-dsi-host-no-device-ptr-v1-30-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepvdeknecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com The MCDE driver stores a struct mipi_dsi_device pointer in struct mcde for two uses: sending commands via mcde_dsi_te_request() and accessing the DSI bus format parameters (lanes, channel etc). We want to get rid of mipi_dsi_device pointers in host drivers. This patch removes the first usage by additionally storing a pointer to the struct mipi_dsi_host, and using it in host_to_mcde_dsi(). The second usage is removed in a following patch. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/mcde/mcde_display.c | 2 +- drivers/gpu/drm/mcde/mcde_drm.h | 3 ++- drivers/gpu/drm/mcde/mcde_dsi.c | 9 ++++++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/mcde/mcde_display.c b/drivers/gpu/drm/mcde/mcd= e_display.c index 52043a12a2e8e5ae2f0d6d279b2314ba31c98b5b..18b8ed1456d436dc8e7b7778461= d76a251509ecf 100644 --- a/drivers/gpu/drm/mcde/mcde_display.c +++ b/drivers/gpu/drm/mcde/mcde_display.c @@ -1339,7 +1339,7 @@ static void mcde_start_flow(struct mcde *mcde) { /* Request a TE ACK only in TE+BTA mode */ if (mcde->flow_mode =3D=3D MCDE_COMMAND_BTA_TE_FLOW) - mcde_dsi_te_request(mcde->mdsi); + mcde_dsi_te_request(mcde); =20 /* Enable FIFO A flow */ mcde_enable_fifo(mcde, MCDE_FIFO_A); diff --git a/drivers/gpu/drm/mcde/mcde_drm.h b/drivers/gpu/drm/mcde/mcde_dr= m.h index ecb70b4b737c0e74b93c6f3e81f1170774303f78..4ae32e92d7f36707dfd91adb2cc= 9c76ec32a677e 100644 --- a/drivers/gpu/drm/mcde/mcde_drm.h +++ b/drivers/gpu/drm/mcde/mcde_drm.h @@ -73,6 +73,7 @@ struct mcde { struct drm_bridge *bridge; struct drm_connector *connector; struct drm_simple_display_pipe pipe; + struct mipi_dsi_host *dsi_host; struct mipi_dsi_device *mdsi; bool dpi_output; s16 stride; @@ -104,7 +105,7 @@ static inline bool mcde_flow_is_video(struct mcde *mcde) } =20 bool mcde_dsi_irq(struct mipi_dsi_device *mdsi); -void mcde_dsi_te_request(struct mipi_dsi_device *mdsi); +void mcde_dsi_te_request(struct mcde *mcde); void mcde_dsi_enable(struct drm_bridge *bridge); void mcde_dsi_disable(struct drm_bridge *bridge); extern struct platform_driver mcde_dsi_driver; diff --git a/drivers/gpu/drm/mcde/mcde_dsi.c b/drivers/gpu/drm/mcde/mcde_ds= i.c index 04041ad9231bd53cf4bfa18ad41caa19df3b838a..2df2fdf45bd7d6259c631f1c402= 191db49336cd0 100644 --- a/drivers/gpu/drm/mcde/mcde_dsi.c +++ b/drivers/gpu/drm/mcde/mcde_dsi.c @@ -148,6 +148,7 @@ bool mcde_dsi_irq(struct mipi_dsi_device *mdsi) static void mcde_dsi_attach_to_mcde(struct mcde_dsi *d) { d->mcde->mdsi =3D d->mdsi; + d->mcde->dsi_host =3D &d->dsi_host; =20 /* * Select the way the DSI data flow is pushing to the display: @@ -190,8 +191,10 @@ static int mcde_dsi_host_detach(struct mipi_dsi_host *= host, struct mcde_dsi *d =3D host_to_mcde_dsi(host); =20 d->mdsi =3D NULL; - if (d->mcde) + if (d->mcde) { d->mcde->mdsi =3D NULL; + d->mcde->dsi_host =3D NULL; + } =20 return 0; } @@ -381,12 +384,12 @@ static const struct mipi_dsi_host_ops mcde_dsi_host_o= ps =3D { }; =20 /* This sends a direct (short) command to request TE */ -void mcde_dsi_te_request(struct mipi_dsi_device *mdsi) +void mcde_dsi_te_request(struct mcde *mcde) { struct mcde_dsi *d; u32 val; =20 - d =3D host_to_mcde_dsi(mdsi->host); + d =3D host_to_mcde_dsi(mcde->dsi_host); =20 /* Command "nature" TE request */ val =3D DSI_DIRECT_CMD_MAIN_SETTINGS_CMD_NAT_TE_REQ; --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 1BC162FD87D for ; Wed, 25 Jun 2025 16:46:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869993; cv=none; b=RO2h+GXFg98JQI2MHJk2IWvphODnEfU3iUjP550aEK4MP/JJI2xNS/vfbgcvlioUkmUPlvGR2fbmOT883003mqxCvHuNnxM5/AEZTYXZjrYPYur8x2cCH4olhRU3zGe4bpRc4HL6L3mH1uEh/ooSecoAKcmWmVff5iyppTe9+bw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869993; c=relaxed/simple; bh=KFbpQC0mNw0uLBx6k3A83cPY4Wfvde9DzQS09c3sEzc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BhVxx0q0AVHBOBLwoELR3pTfFx7kbJj5xJshb5m2u8Mw9lKnCKWsZ0YrNpxn5AtziKgxLWTY+Hfr/YY/C2nCVlOor9CXWJgfN8HljsEElAMpnJj0Q7csMkEx6/5ibGxtrdi8BWotvv5RHJIRLY01QEChvMr1oj12X9hcBPNi884= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=QDi7yTgx; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="QDi7yTgx" Received: by mail.gandi.net (Postfix) with ESMTPSA id 1470344386; Wed, 25 Jun 2025 16:46:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5cWt4DQ5z/OAZZXRdVZQGA3iOK8m5DLnXiWLrcVyqfk=; b=QDi7yTgx9bfCMGT1OziOEhW2QV3zPR3QIERv1kIwcdYQzUrwGh1ojuRb+9RU3y+EZagkT8 ga+Aot/Nt3lTh3E1GVuqNoCZ2EnWzhSZbdWQc81yGupwENqZEXUILO4g95d1zgThdI2wML RzK+R5bCj3N8TEy7bxsQpm7FsBCyaGTRruMhsf6XT5sytqUj6wfeea45zSBbbFknQ/p8XA 0so0RW6xyHjQS6Ih9SHFnwKoetXm0O1S7xq68ek3gALBVgwejXSsnMt54bDv33ULGQixj5 FJUhUJ3rWmW844thWEsR9ubTBNnl0GIv6pgZ8vnCYyjERZTCn2xEoPzG4/uXUg== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:35 +0200 Subject: [PATCH 31/32] drm/mcde: use the DSI host pointer in mcde_dsi_irq 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: <20250625-drm-dsi-host-no-device-ptr-v1-31-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepvdeknecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com mcde_dsi_irq() takes a struct mipi_dsi_device which it uses solely to get the struct mipi_dsi_host pointer. We want to get rid of mipi_dsi_device pointers in host drivers, so use directly the struct dsi_host pointer which is now stored in struct mcde. Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/mcde/mcde_display.c | 2 +- drivers/gpu/drm/mcde/mcde_drm.h | 2 +- drivers/gpu/drm/mcde/mcde_dsi.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/mcde/mcde_display.c b/drivers/gpu/drm/mcde/mcd= e_display.c index 18b8ed1456d436dc8e7b7778461d76a251509ecf..70f8d92ed23a192f4cdb51c7f68= b9973147b2113 100644 --- a/drivers/gpu/drm/mcde/mcde_display.c +++ b/drivers/gpu/drm/mcde/mcde_display.c @@ -89,7 +89,7 @@ void mcde_display_irq(struct mcde *mcde) * * TODO: Currently only one DSI link is supported. */ - if (!mcde->dpi_output && mcde_dsi_irq(mcde->mdsi)) { + if (!mcde->dpi_output && mcde_dsi_irq(mcde->dsi_host)) { u32 val; =20 /* diff --git a/drivers/gpu/drm/mcde/mcde_drm.h b/drivers/gpu/drm/mcde/mcde_dr= m.h index 4ae32e92d7f36707dfd91adb2cc9c76ec32a677e..23f9a6473d8ac0f91b3e3665f22= e52ef8e696a17 100644 --- a/drivers/gpu/drm/mcde/mcde_drm.h +++ b/drivers/gpu/drm/mcde/mcde_drm.h @@ -104,7 +104,7 @@ static inline bool mcde_flow_is_video(struct mcde *mcde) mcde->flow_mode =3D=3D MCDE_VIDEO_FORMATTER_FLOW); } =20 -bool mcde_dsi_irq(struct mipi_dsi_device *mdsi); +bool mcde_dsi_irq(struct mipi_dsi_host *host); void mcde_dsi_te_request(struct mcde *mcde); void mcde_dsi_enable(struct drm_bridge *bridge); void mcde_dsi_disable(struct drm_bridge *bridge); diff --git a/drivers/gpu/drm/mcde/mcde_dsi.c b/drivers/gpu/drm/mcde/mcde_ds= i.c index 2df2fdf45bd7d6259c631f1c402191db49336cd0..b97b9541b6277ad3e024845d3bb= 61c9e73d627f7 100644 --- a/drivers/gpu/drm/mcde/mcde_dsi.c +++ b/drivers/gpu/drm/mcde/mcde_dsi.c @@ -64,13 +64,13 @@ static inline struct mcde_dsi *host_to_mcde_dsi(struct = mipi_dsi_host *h) return container_of(h, struct mcde_dsi, dsi_host); } =20 -bool mcde_dsi_irq(struct mipi_dsi_device *mdsi) +bool mcde_dsi_irq(struct mipi_dsi_host *host) { struct mcde_dsi *d; u32 val; bool te_received =3D false; =20 - d =3D host_to_mcde_dsi(mdsi->host); + d =3D host_to_mcde_dsi(host); =20 dev_dbg(d->dev, "%s called\n", __func__); =20 --=20 2.49.0 From nobody Wed Oct 8 17:29:51 2025 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) (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 B0C272FD898 for ; Wed, 25 Jun 2025 16:46:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=217.70.183.197 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869996; cv=none; b=lddB0BZh7rB1dyl5D4jjkamqs9yFAeinb04mOmkU/Zj6LbcP4W7cvIblaPQcZRYkdNiMmyIzypW8366d1LgRScNxkgEMcObD2ws1XkPK4SXk2Vl7h/bmaHeS9C9FHQ2DzB/6JhAGAxhtPWis5VdFQfdPRjAvq8LQuw5rSaFmzuc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750869996; c=relaxed/simple; bh=DA5tJI8u7p012a2ao+miV1C4Mleqf32OubhzFQ2ViO8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=CMaTwPfthslXmIhgQTszUiRDMwzXAnobPZH5BfKqbvNge2IMWjmShZZbk27bmBQ6leUYIvycQPDpWsK/JYhMOoR3Nc/rnC4TOEtT7Vhp1EHvvwVhqCMi14OnR11jd1Womhbb7Wqf1tnffreJesVp56h7VYyWKOz2W/BOqEdGFDw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com; spf=pass smtp.mailfrom=bootlin.com; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b=i4irj6ZO; arc=none smtp.client-ip=217.70.183.197 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=bootlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bootlin.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bootlin.com header.i=@bootlin.com header.b="i4irj6ZO" Received: by mail.gandi.net (Postfix) with ESMTPSA id BBA1544384; Wed, 25 Jun 2025 16:46:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1750869992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zbSpydz2eJQQP997xNonpSsdHolKUbUJfT+KnBTHW6I=; b=i4irj6ZOqZOCZtYn7GpCYJ8Yeh21ysw9X3NjMEmJmQ+M0Q4AnnOgvo6ndo6g8/yTfXA7eK BNNzwqTqdR+ECFFrTh1Tp7ZaxEGS+HrpZyrWtKb8m0dqKAukTelaiYddO4MtTVlJwi/ycu 1HIqJ3s/NrZRRkdPfj1Oef+OD/aXmyFaQxEJLPj+xuou5tYQKxKOqM4dJ+8ISg2Pa8GrtK lmTMubR7YB9FJ5XcNtbHbHqyzF8QaZ2mKIDldJu8dAKc6usGweFWXt6oHr9V2uNHkaPcJM P8UZw1arHz/NIcAN7en0b8YQhM/dfB1PBBNbpAtHmYM6Slx55ZFigY0c1jdlng== From: Luca Ceresoli Date: Wed, 25 Jun 2025 18:45:36 +0200 Subject: [PATCH 32/32] drm/mcde: convert to the .attach_new op 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: <20250625-drm-dsi-host-no-device-ptr-v1-32-e36bc258a7c5@bootlin.com> References: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> In-Reply-To: <20250625-drm-dsi-host-no-device-ptr-v1-0-e36bc258a7c5@bootlin.com> To: Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Inki Dae , Jagan Teki , Marek Szyprowski , Jani Nikula , Dmitry Baryshkov Cc: Hui Pu , Thomas Petazzoni , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-sunxi@lists.linux.dev, Luca Ceresoli X-Mailer: b4 0.14.2 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddvgddvfedvkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertdertdejnecuhfhrohhmpefnuhgtrgcuvegvrhgvshholhhiuceolhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepieeiuedvffetgfeuudelheeutefggfejieettdetteekueeuueeukeevvedvueevnecukfhppedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvnecuvehluhhsthgvrhfuihiivgepvdeknecurfgrrhgrmhepihhnvghtpedvrgdtvdemieejtdemvddtvddtmegvrgdtudemsggvgedumeelhegvjeemfeegfeemledufegvpdhhvghloheplgduledvrdduieekrddujeekrdejhegnpdhmrghilhhfrhhomheplhhutggrrdgtvghrvghsohhlihessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvddvpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehthhhomhgrshdrphgvthgriiiiohhnihessghoohhtlhhinhdrtghomhdprhgtphhtthhopehlihhnuhigqdhsuhhngihisehlihhsthhsrdhlihhnuhigrdguvghvp dhrtghpthhtohepmhdrshiihihprhhofihskhhisehsrghmshhunhhgrdgtohhmpdhrtghpthhtoheprhhfohhssheskhgvrhhnvghlrdhorhhgpdhrtghpthhtohepmhgrrghrthgvnhdrlhgrnhhkhhhorhhstheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopehnvghilhdrrghrmhhsthhrohhngheslhhinhgrrhhordhorhhgpdhrtghpthhtohepjhgrnhhirdhnihhkuhhlrgeslhhinhhugidrihhnthgvlhdrtghomh X-GND-Sasl: luca.ceresoli@bootlin.com This op does not pass any pointer to the DSI device, so the DSI host driver cannot store it. This driver uses the DSI device format parameters in various places outside the .attach op, and currently it does so by storing a pointer to the struct mipi_dsi_device in two places: struct mcde and struct mcde_dsi. That's exactly what .attach_new aims at removing. Instead of the struct mipi_dsi_device, store: * a copy of the format parameters in struct mcde_dsi * a pointer to it in struct mcde Signed-off-by: Luca Ceresoli --- drivers/gpu/drm/mcde/mcde_display.c | 14 +++---- drivers/gpu/drm/mcde/mcde_drm.h | 3 +- drivers/gpu/drm/mcde/mcde_dsi.c | 78 ++++++++++++++++++---------------= ---- 3 files changed, 48 insertions(+), 47 deletions(-) diff --git a/drivers/gpu/drm/mcde/mcde_display.c b/drivers/gpu/drm/mcde/mcd= e_display.c index 70f8d92ed23a192f4cdb51c7f68b9973147b2113..6898353e944479b4fe8cdaa632e= f87e062299c57 100644 --- a/drivers/gpu/drm/mcde/mcde_display.c +++ b/drivers/gpu/drm/mcde/mcde_display.c @@ -796,9 +796,9 @@ static void mcde_configure_dsi_formatter(struct mcde *m= cde, * 8 bit commands and DCS commands (notgen =3D not generic) */ val =3D MCDE_DSICONF0_CMD8 | MCDE_DSICONF0_DCSVID_NOTGEN; - if (mcde->mdsi->mode_flags & MIPI_DSI_MODE_VIDEO) + if (mcde->bus_fmt->mode_flags & MIPI_DSI_MODE_VIDEO) val |=3D MCDE_DSICONF0_VID_MODE_VID; - switch (mcde->mdsi->format) { + switch (mcde->bus_fmt->format) { case MIPI_DSI_FMT_RGB888: val |=3D MCDE_DSICONF0_PACKING_RGB888 << MCDE_DSICONF0_PACKING_SHIFT; @@ -1081,11 +1081,11 @@ static void mcde_setup_dsi(struct mcde *mcde, const= struct drm_display_mode *mod u32 val; =20 dev_info(mcde->dev, "output in %s mode, format %dbpp\n", - (mcde->mdsi->mode_flags & MIPI_DSI_MODE_VIDEO) ? + (mcde->bus_fmt->mode_flags & MIPI_DSI_MODE_VIDEO) ? "VIDEO" : "CMD", - mipi_dsi_pixel_format_to_bpp(mcde->mdsi->format)); + mipi_dsi_pixel_format_to_bpp(mcde->bus_fmt->format)); formatter_cpp =3D - mipi_dsi_pixel_format_to_bpp(mcde->mdsi->format) / 8; + mipi_dsi_pixel_format_to_bpp(mcde->bus_fmt->format) / 8; dev_info(mcde->dev, "Overlay CPP: %d bytes, DSI formatter CPP %d bytes\n", cpp, formatter_cpp); =20 @@ -1117,7 +1117,7 @@ static void mcde_setup_dsi(struct mcde *mcde, const s= truct drm_display_mode *mod * 192 for HDMI 16bpp */ fifo_wtrmrk =3D mode->hdisplay; - if (mcde->mdsi->mode_flags & MIPI_DSI_MODE_VIDEO) { + if (mcde->bus_fmt->mode_flags & MIPI_DSI_MODE_VIDEO) { fifo_wtrmrk =3D min(fifo_wtrmrk, 128); pkt_div =3D 1; } else { @@ -1132,7 +1132,7 @@ static void mcde_setup_dsi(struct mcde *mcde, const s= truct drm_display_mode *mod /* NOTE: pkt_div is 1 for video mode */ pkt_size =3D (formatter_ppl * formatter_cpp) / pkt_div; /* Commands CMD8 need one extra byte */ - if (!(mcde->mdsi->mode_flags & MIPI_DSI_MODE_VIDEO)) + if (!(mcde->bus_fmt->mode_flags & MIPI_DSI_MODE_VIDEO)) pkt_size++; =20 dev_dbg(mcde->dev, "DSI packet size: %d * %d bytes per line\n", diff --git a/drivers/gpu/drm/mcde/mcde_drm.h b/drivers/gpu/drm/mcde/mcde_dr= m.h index 23f9a6473d8ac0f91b3e3665f22e52ef8e696a17..842ca58543da7a075976cc33df7= 07d78e096e82e 100644 --- a/drivers/gpu/drm/mcde/mcde_drm.h +++ b/drivers/gpu/drm/mcde/mcde_drm.h @@ -5,6 +5,7 @@ * (C) ST-Ericsson SA 2013 */ #include +#include =20 #ifndef _MCDE_DRM_H_ #define _MCDE_DRM_H_ @@ -74,7 +75,7 @@ struct mcde { struct drm_connector *connector; struct drm_simple_display_pipe pipe; struct mipi_dsi_host *dsi_host; - struct mipi_dsi_device *mdsi; + struct mipi_dsi_bus_fmt *bus_fmt; bool dpi_output; s16 stride; enum mcde_flow_mode flow_mode; diff --git a/drivers/gpu/drm/mcde/mcde_dsi.c b/drivers/gpu/drm/mcde/mcde_ds= i.c index b97b9541b6277ad3e024845d3bb61c9e73d627f7..c4225875b04ab440e3e926c976d= d981f46dd3461 100644 --- a/drivers/gpu/drm/mcde/mcde_dsi.c +++ b/drivers/gpu/drm/mcde/mcde_dsi.c @@ -42,7 +42,7 @@ struct mcde_dsi { struct drm_panel *panel; struct drm_bridge *bridge_out; struct mipi_dsi_host dsi_host; - struct mipi_dsi_device *mdsi; + struct mipi_dsi_bus_fmt bus_fmt; const struct drm_display_mode *mode; struct clk *hs_clk; struct clk *lp_clk; @@ -147,8 +147,8 @@ bool mcde_dsi_irq(struct mipi_dsi_host *host) =20 static void mcde_dsi_attach_to_mcde(struct mcde_dsi *d) { - d->mcde->mdsi =3D d->mdsi; d->mcde->dsi_host =3D &d->dsi_host; + d->mcde->bus_fmt =3D &d->bus_fmt; =20 /* * Select the way the DSI data flow is pushing to the display: @@ -162,23 +162,23 @@ static void mcde_dsi_attach_to_mcde(struct mcde_dsi *= d) * single frame on-demand updates with DRM for command mode * displays (MCDE_COMMAND_ONESHOT_FLOW). */ - if (d->mdsi->mode_flags & MIPI_DSI_MODE_VIDEO) + if (d->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO) d->mcde->flow_mode =3D MCDE_VIDEO_FORMATTER_FLOW; else d->mcde->flow_mode =3D MCDE_COMMAND_TE_FLOW; } =20 static int mcde_dsi_host_attach(struct mipi_dsi_host *host, - struct mipi_dsi_device *mdsi) + const struct mipi_dsi_bus_fmt *bus_fmt) { struct mcde_dsi *d =3D host_to_mcde_dsi(host); =20 - if (mdsi->lanes > 2) { + if (bus_fmt->lanes > 2) { DRM_ERROR("dsi device params invalid, 1 or 2 lanes supported\n"); return -EINVAL; } =20 - d->mdsi =3D mdsi; + d->bus_fmt =3D *bus_fmt; if (d->mcde) mcde_dsi_attach_to_mcde(d); =20 @@ -190,10 +190,10 @@ static int mcde_dsi_host_detach(struct mipi_dsi_host = *host, { struct mcde_dsi *d =3D host_to_mcde_dsi(host); =20 - d->mdsi =3D NULL; + memset(&d->mcde->bus_fmt, 0, sizeof(d->mcde->bus_fmt)); if (d->mcde) { - d->mcde->mdsi =3D NULL; d->mcde->dsi_host =3D NULL; + d->mcde->bus_fmt =3D NULL; } =20 return 0; @@ -378,7 +378,7 @@ static ssize_t mcde_dsi_host_transfer(struct mipi_dsi_h= ost *host, } =20 static const struct mipi_dsi_host_ops mcde_dsi_host_ops =3D { - .attach =3D mcde_dsi_host_attach, + .attach_new =3D mcde_dsi_host_attach, .detach =3D mcde_dsi_host_detach, .transfer =3D mcde_dsi_host_transfer, }; @@ -426,7 +426,7 @@ static void mcde_dsi_setup_video_mode(struct mcde_dsi *= d, const struct drm_display_mode *mode) { /* cpp, characters per pixel, number of bytes per pixel */ - u8 cpp =3D mipi_dsi_pixel_format_to_bpp(d->mdsi->format) / 8; + u8 cpp =3D mipi_dsi_pixel_format_to_bpp(d->bus_fmt.format) / 8; u64 pclk; u64 bpl; int hfp; @@ -436,14 +436,14 @@ static void mcde_dsi_setup_video_mode(struct mcde_dsi= *d, u32 val; =20 val =3D 0; - if (d->mdsi->mode_flags & MIPI_DSI_MODE_VIDEO_BURST) + if (d->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO_BURST) val |=3D DSI_VID_MAIN_CTL_BURST_MODE; - if (d->mdsi->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) { + if (d->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) { val |=3D DSI_VID_MAIN_CTL_SYNC_PULSE_ACTIVE; val |=3D DSI_VID_MAIN_CTL_SYNC_PULSE_HORIZONTAL; } /* RGB header and pixel mode */ - switch (d->mdsi->format) { + switch (d->bus_fmt.format) { case MIPI_DSI_FMT_RGB565: val |=3D MIPI_DSI_PACKED_PIXEL_STREAM_16 << DSI_VID_MAIN_CTL_HEADER_SHIFT; @@ -516,7 +516,7 @@ static void mcde_dsi_setup_video_mode(struct mcde_dsi *= d, * 6 + 2 is HFP header + checksum */ hfp =3D (mode->hsync_start - mode->hdisplay) * cpp - 6 - 2; - if (d->mdsi->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) { + if (d->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) { /* * Use sync pulse for sync: explicit HSA time * 6 is HBP header + checksum @@ -596,21 +596,21 @@ static void mcde_dsi_setup_video_mode(struct mcde_dsi= *d, bpl =3D pclk * mode->htotal; /* (1) picoseconds per line */ dev_dbg(d->dev, "picoseconds per line: %llu\n", bpl); /* Multiply with bytes per second (3) */ - bpl *=3D (d->mdsi->hs_rate / 8); + bpl *=3D (d->bus_fmt.hs_rate / 8); /* Pixels per second (2) */ bpl =3D DIV_ROUND_DOWN_ULL(bpl, 1000000); /* microseconds */ bpl =3D DIV_ROUND_DOWN_ULL(bpl, 1000000); /* seconds */ /* parallel transactions in all lanes */ - bpl *=3D d->mdsi->lanes; + bpl *=3D d->bus_fmt.lanes; dev_dbg(d->dev, "calculated bytes per line: %llu @ %d Hz with HS %lu Hz\n", - bpl, drm_mode_vrefresh(mode), d->mdsi->hs_rate); + bpl, drm_mode_vrefresh(mode), d->bus_fmt.hs_rate); =20 /* * 6 is header + checksum, header =3D 4 bytes, checksum =3D 2 bytes * 4 is short packet for vsync/hsync */ - if (d->mdsi->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) { + if (d->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE) { /* Set the event packet size to 0 (not used) */ writel(0, d->regs + DSI_VID_BLKSIZE1); /* @@ -646,10 +646,10 @@ static void mcde_dsi_setup_video_mode(struct mcde_dsi= *d, * the line duration by 1 under very specific circumstances. * Here we also imply that LP is used during burst EOL. */ - if (d->mdsi->lanes =3D=3D 2 && (hsa & 0x01) && (hfp & 0x01) - && (d->mdsi->mode_flags & MIPI_DSI_MODE_VIDEO_BURST)) + if (d->bus_fmt.lanes =3D=3D 2 && (hsa & 0x01) && (hfp & 0x01) + && (d->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO_BURST)) line_duration--; - line_duration =3D DIV_ROUND_CLOSEST(line_duration, d->mdsi->lanes); + line_duration =3D DIV_ROUND_CLOSEST(line_duration, d->bus_fmt.lanes); dev_dbg(d->dev, "line duration %u bytes\n", line_duration); val =3D line_duration << DSI_VID_DPHY_TIME_REG_LINE_DURATION_SHIFT; /* @@ -665,7 +665,7 @@ static void mcde_dsi_setup_video_mode(struct mcde_dsi *= d, * See the manual figure 657 page 2203 for understanding the impact * of the different burst mode settings. */ - if (d->mdsi->mode_flags & MIPI_DSI_MODE_VIDEO_BURST) { + if (d->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO_BURST) { int blkeol_pck, blkeol_duration; /* * Packet size at EOL for burst mode, this is only used @@ -716,7 +716,7 @@ static void mcde_dsi_setup_video_mode(struct mcde_dsi *= d, * according to figure 565 page 2202? */ blkeol_duration =3D DIV_ROUND_CLOSEST(blkeol_pck + 6, - d->mdsi->lanes); + d->bus_fmt.lanes); dev_dbg(d->dev, "BLKEOL duration: %d clock cycles\n", blkeol_duration); =20 @@ -757,7 +757,7 @@ static void mcde_dsi_start(struct mcde_dsi *d) DSI_MCTL_MAIN_DATA_CTL_BTA_EN | DSI_MCTL_MAIN_DATA_CTL_READ_EN | DSI_MCTL_MAIN_DATA_CTL_REG_TE_EN; - if (!(d->mdsi->mode_flags & MIPI_DSI_MODE_NO_EOT_PACKET)) + if (!(d->bus_fmt.mode_flags & MIPI_DSI_MODE_NO_EOT_PACKET)) val |=3D DSI_MCTL_MAIN_DATA_CTL_HOST_EOT_GEN; writel(val, d->regs + DSI_MCTL_MAIN_DATA_CTL); =20 @@ -785,9 +785,9 @@ static void mcde_dsi_start(struct mcde_dsi *d) * all the lines. */ val =3D 0x0f << DSI_MCTL_MAIN_PHY_CTL_WAIT_BURST_TIME_SHIFT; - if (d->mdsi->lanes =3D=3D 2) + if (d->bus_fmt.lanes =3D=3D 2) val |=3D DSI_MCTL_MAIN_PHY_CTL_LANE2_EN; - if (!(d->mdsi->mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS)) + if (!(d->bus_fmt.mode_flags & MIPI_DSI_CLOCK_NON_CONTINUOUS)) val |=3D DSI_MCTL_MAIN_PHY_CTL_CLK_CONTINUOUS; val |=3D DSI_MCTL_MAIN_PHY_CTL_CLK_ULPM_EN | DSI_MCTL_MAIN_PHY_CTL_DAT1_ULPM_EN | @@ -811,7 +811,7 @@ static void mcde_dsi_start(struct mcde_dsi *d) DSI_MCTL_MAIN_EN_CKLANE_EN | DSI_MCTL_MAIN_EN_DAT1_EN | DSI_MCTL_MAIN_EN_IF1_EN; - if (d->mdsi->lanes =3D=3D 2) + if (d->bus_fmt.lanes =3D=3D 2) val |=3D DSI_MCTL_MAIN_EN_DAT2_EN; writel(val, d->regs + DSI_MCTL_MAIN_EN); =20 @@ -820,7 +820,7 @@ static void mcde_dsi_start(struct mcde_dsi *d) val =3D DSI_MCTL_MAIN_STS_PLL_LOCK | DSI_MCTL_MAIN_STS_CLKLANE_READY | DSI_MCTL_MAIN_STS_DAT1_READY; - if (d->mdsi->lanes =3D=3D 2) + if (d->bus_fmt.lanes =3D=3D 2) val |=3D DSI_MCTL_MAIN_STS_DAT2_READY; while ((readl(d->regs + DSI_MCTL_MAIN_STS) & val) !=3D val) { /* Sleep for a millisecond */ @@ -839,7 +839,7 @@ static void mcde_dsi_start(struct mcde_dsi *d) * If we enable low-power mode here, * then display updates become really slow. */ - if (d->mdsi->mode_flags & MIPI_DSI_MODE_LPM) + if (d->bus_fmt.mode_flags & MIPI_DSI_MODE_LPM) val |=3D DSI_CMD_MODE_CTL_IF1_LP_EN; val &=3D ~DSI_CMD_MODE_CTL_IF1_ID_MASK; writel(val, d->regs + DSI_CMD_MODE_CTL); @@ -861,12 +861,12 @@ void mcde_dsi_enable(struct drm_bridge *bridge) int ret; =20 /* Copy maximum clock frequencies */ - if (d->mdsi->lp_rate) - lp_freq =3D d->mdsi->lp_rate; + if (d->bus_fmt.lp_rate) + lp_freq =3D d->bus_fmt.lp_rate; else lp_freq =3D DSI_DEFAULT_LP_FREQ_HZ; - if (d->mdsi->hs_rate) - hs_freq =3D d->mdsi->hs_rate; + if (d->bus_fmt.hs_rate) + hs_freq =3D d->bus_fmt.hs_rate; else hs_freq =3D DSI_DEFAULT_HS_FREQ_HZ; =20 @@ -912,7 +912,7 @@ void mcde_dsi_enable(struct drm_bridge *bridge) /* Start up the hardware */ mcde_dsi_start(d); =20 - if (d->mdsi->mode_flags & MIPI_DSI_MODE_VIDEO) { + if (d->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO) { /* Set up the video mode from the DRM mode */ mcde_dsi_setup_video_mode(d, d->mode); =20 @@ -943,7 +943,7 @@ void mcde_dsi_enable(struct drm_bridge *bridge) * If we enable low-power mode here * the display updates become really slow. */ - if (d->mdsi->mode_flags & MIPI_DSI_MODE_LPM) + if (d->bus_fmt.mode_flags & MIPI_DSI_MODE_LPM) val |=3D DSI_CMD_MODE_CTL_IF1_LP_EN; val &=3D ~DSI_CMD_MODE_CTL_IF1_ID_MASK; writel(val, d->regs + DSI_CMD_MODE_CTL); @@ -958,7 +958,7 @@ static void mcde_dsi_bridge_mode_set(struct drm_bridge = *bridge, { struct mcde_dsi *d =3D bridge_to_mcde_dsi(bridge); =20 - if (!d->mdsi) { + if (!d->bus_fmt.lanes) { dev_err(d->dev, "no DSI device attached to encoder!\n"); return; } @@ -967,7 +967,7 @@ static void mcde_dsi_bridge_mode_set(struct drm_bridge = *bridge, =20 dev_info(d->dev, "set DSI master to %dx%d %u Hz %s mode\n", mode->hdisplay, mode->vdisplay, mode->clock * 1000, - (d->mdsi->mode_flags & MIPI_DSI_MODE_VIDEO) ? "VIDEO" : "CMD" + (d->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO) ? "VIDEO" : "CMD" ); } =20 @@ -1021,7 +1021,7 @@ void mcde_dsi_disable(struct drm_bridge *bridge) struct mcde_dsi *d =3D bridge_to_mcde_dsi(bridge); u32 val; =20 - if (d->mdsi->mode_flags & MIPI_DSI_MODE_VIDEO) { + if (d->bus_fmt.mode_flags & MIPI_DSI_MODE_VIDEO) { /* Stop video mode */ val =3D readl(d->regs + DSI_MCTL_MAIN_DATA_CTL); val &=3D ~DSI_MCTL_MAIN_DATA_CTL_VID_EN; @@ -1082,7 +1082,7 @@ static int mcde_dsi_bind(struct device *dev, struct d= evice *master, } d->mcde =3D mcde; /* If the display attached before binding, set this up */ - if (d->mdsi) + if (d->bus_fmt.lanes) mcde_dsi_attach_to_mcde(d); =20 /* Obtain the clocks */ --=20 2.49.0