[PATCH] drm/panel: samsung-sofef00: Drop s6e3fc2x01 support

David Heidelberg via B4 Relay posted 1 patch 7 months, 4 weeks ago
drivers/gpu/drm/panel/panel-samsung-sofef00.c | 34 ++-------------------------
1 file changed, 2 insertions(+), 32 deletions(-)
[PATCH] drm/panel: samsung-sofef00: Drop s6e3fc2x01 support
Posted by David Heidelberg via B4 Relay 7 months, 4 weeks ago
From: Casey Connolly <casey.connolly@linaro.org>

We never properly supported this panel and always used the wrong init
sequence. Drop support so we can move it to it's own proper driver.

Fixes: 5933baa36e26 ("drm/panel/samsung-sofef00: Add panel for OnePlus 6/T devices")
Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
Signed-off-by: David Heidelberg <david@ixit.cz>
---
 drivers/gpu/drm/panel/panel-samsung-sofef00.c | 34 ++-------------------------
 1 file changed, 2 insertions(+), 32 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-samsung-sofef00.c b/drivers/gpu/drm/panel/panel-samsung-sofef00.c
index 04ce925b3d9dbd91841f4b4e4a12320eac8e03af..49cfa84b34f0ca75394b74b5765a0931d9fefba0 100644
--- a/drivers/gpu/drm/panel/panel-samsung-sofef00.c
+++ b/drivers/gpu/drm/panel/panel-samsung-sofef00.c
@@ -22,7 +22,6 @@ struct sofef00_panel {
 	struct mipi_dsi_device *dsi;
 	struct regulator *supply;
 	struct gpio_desc *reset_gpio;
-	const struct drm_display_mode *mode;
 };
 
 static inline
@@ -159,26 +158,11 @@ static const struct drm_display_mode enchilada_panel_mode = {
 	.height_mm = 145,
 };
 
-static const struct drm_display_mode fajita_panel_mode = {
-	.clock = (1080 + 72 + 16 + 36) * (2340 + 32 + 4 + 18) * 60 / 1000,
-	.hdisplay = 1080,
-	.hsync_start = 1080 + 72,
-	.hsync_end = 1080 + 72 + 16,
-	.htotal = 1080 + 72 + 16 + 36,
-	.vdisplay = 2340,
-	.vsync_start = 2340 + 32,
-	.vsync_end = 2340 + 32 + 4,
-	.vtotal = 2340 + 32 + 4 + 18,
-	.width_mm = 68,
-	.height_mm = 145,
-};
-
 static int sofef00_panel_get_modes(struct drm_panel *panel, struct drm_connector *connector)
 {
 	struct drm_display_mode *mode;
-	struct sofef00_panel *ctx = to_sofef00_panel(panel);
 
-	mode = drm_mode_duplicate(connector->dev, ctx->mode);
+	mode = drm_mode_duplicate(connector->dev, &enchilada_panel_mode);
 	if (!mode)
 		return -ENOMEM;
 
@@ -239,13 +223,6 @@ static int sofef00_panel_probe(struct mipi_dsi_device *dsi)
 	if (!ctx)
 		return -ENOMEM;
 
-	ctx->mode = of_device_get_match_data(dev);
-
-	if (!ctx->mode) {
-		dev_err(dev, "Missing device mode\n");
-		return -ENODEV;
-	}
-
 	ctx->supply = devm_regulator_get(dev, "vddio");
 	if (IS_ERR(ctx->supply))
 		return dev_err_probe(dev, PTR_ERR(ctx->supply),
@@ -295,14 +272,7 @@ static void sofef00_panel_remove(struct mipi_dsi_device *dsi)
 }
 
 static const struct of_device_id sofef00_panel_of_match[] = {
-	{ // OnePlus 6 / enchilada
-		.compatible = "samsung,sofef00",
-		.data = &enchilada_panel_mode,
-	},
-	{ // OnePlus 6T / fajita
-		.compatible = "samsung,s6e3fc2x01",
-		.data = &fajita_panel_mode,
-	},
+	{ .compatible = "samsung,sofef00" },
 	{ /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, sofef00_panel_of_match);

---
base-commit: bc8aa6cdadcc00862f2b5720e5de2e17f696a081
change-id: 20250419-drop-s6e3fc2x01-support-d060a14a4791

Best regards,
-- 
David Heidelberg <david@ixit.cz>
Re: [PATCH] drm/panel: samsung-sofef00: Drop s6e3fc2x01 support
Posted by Neil Armstrong 7 months, 3 weeks ago
Hi,

On Sat, 19 Apr 2025 18:31:44 +0200, David Heidelberg wrote:
> We never properly supported this panel and always used the wrong init
> sequence. Drop support so we can move it to it's own proper driver.
> 
> 

Thanks, Applied to https://gitlab.freedesktop.org/drm/misc/kernel.git (drm-misc-next)

[1/1] drm/panel: samsung-sofef00: Drop s6e3fc2x01 support
      https://gitlab.freedesktop.org/drm/misc/kernel/-/commit/e1eb7293ab4107e9e19fa609835e657fe30dfec7

-- 
Neil
Re: [PATCH] drm/panel: samsung-sofef00: Drop s6e3fc2x01 support
Posted by Neil Armstrong 7 months, 3 weeks ago
On 19/04/2025 18:31, David Heidelberg via B4 Relay wrote:
> From: Casey Connolly <casey.connolly@linaro.org>
> 
> We never properly supported this panel and always used the wrong init
> sequence. Drop support so we can move it to it's own proper driver.
> 
> Fixes: 5933baa36e26 ("drm/panel/samsung-sofef00: Add panel for OnePlus 6/T devices")
> Signed-off-by: Casey Connolly <casey.connolly@linaro.org>
> Signed-off-by: David Heidelberg <david@ixit.cz>
> ---
>   drivers/gpu/drm/panel/panel-samsung-sofef00.c | 34 ++-------------------------
>   1 file changed, 2 insertions(+), 32 deletions(-)
> 
> diff --git a/drivers/gpu/drm/panel/panel-samsung-sofef00.c b/drivers/gpu/drm/panel/panel-samsung-sofef00.c
> index 04ce925b3d9dbd91841f4b4e4a12320eac8e03af..49cfa84b34f0ca75394b74b5765a0931d9fefba0 100644
> --- a/drivers/gpu/drm/panel/panel-samsung-sofef00.c
> +++ b/drivers/gpu/drm/panel/panel-samsung-sofef00.c
> @@ -22,7 +22,6 @@ struct sofef00_panel {
>   	struct mipi_dsi_device *dsi;
>   	struct regulator *supply;
>   	struct gpio_desc *reset_gpio;
> -	const struct drm_display_mode *mode;
>   };
>   
>   static inline
> @@ -159,26 +158,11 @@ static const struct drm_display_mode enchilada_panel_mode = {
>   	.height_mm = 145,
>   };
>   
> -static const struct drm_display_mode fajita_panel_mode = {
> -	.clock = (1080 + 72 + 16 + 36) * (2340 + 32 + 4 + 18) * 60 / 1000,
> -	.hdisplay = 1080,
> -	.hsync_start = 1080 + 72,
> -	.hsync_end = 1080 + 72 + 16,
> -	.htotal = 1080 + 72 + 16 + 36,
> -	.vdisplay = 2340,
> -	.vsync_start = 2340 + 32,
> -	.vsync_end = 2340 + 32 + 4,
> -	.vtotal = 2340 + 32 + 4 + 18,
> -	.width_mm = 68,
> -	.height_mm = 145,
> -};
> -
>   static int sofef00_panel_get_modes(struct drm_panel *panel, struct drm_connector *connector)
>   {
>   	struct drm_display_mode *mode;
> -	struct sofef00_panel *ctx = to_sofef00_panel(panel);
>   
> -	mode = drm_mode_duplicate(connector->dev, ctx->mode);
> +	mode = drm_mode_duplicate(connector->dev, &enchilada_panel_mode);
>   	if (!mode)
>   		return -ENOMEM;
>   
> @@ -239,13 +223,6 @@ static int sofef00_panel_probe(struct mipi_dsi_device *dsi)
>   	if (!ctx)
>   		return -ENOMEM;
>   
> -	ctx->mode = of_device_get_match_data(dev);
> -
> -	if (!ctx->mode) {
> -		dev_err(dev, "Missing device mode\n");
> -		return -ENODEV;
> -	}
> -
>   	ctx->supply = devm_regulator_get(dev, "vddio");
>   	if (IS_ERR(ctx->supply))
>   		return dev_err_probe(dev, PTR_ERR(ctx->supply),
> @@ -295,14 +272,7 @@ static void sofef00_panel_remove(struct mipi_dsi_device *dsi)
>   }
>   
>   static const struct of_device_id sofef00_panel_of_match[] = {
> -	{ // OnePlus 6 / enchilada
> -		.compatible = "samsung,sofef00",
> -		.data = &enchilada_panel_mode,
> -	},
> -	{ // OnePlus 6T / fajita
> -		.compatible = "samsung,s6e3fc2x01",
> -		.data = &fajita_panel_mode,
> -	},
> +	{ .compatible = "samsung,sofef00" },
>   	{ /* sentinel */ }
>   };
>   MODULE_DEVICE_TABLE(of, sofef00_panel_of_match);
> 
> ---
> base-commit: bc8aa6cdadcc00862f2b5720e5de2e17f696a081
> change-id: 20250419-drop-s6e3fc2x01-support-d060a14a4791
> 
> Best regards,

Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>