From nobody Fri Oct 2 13:03:58 2026 Received: from smtp-8fab.mail.infomaniak.ch (smtp-8fab.mail.infomaniak.ch [83.166.143.171]) (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 1F0BB3FC5AE for ; Fri, 31 Jul 2026 11:53:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=83.166.143.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785498796; cv=none; b=oWLFYitxltMWekPsMbixoeUujr/cUSw2cHaT+nQj5TV91zx6tvK16GnRhZKv1QiKttheUZtgNt7tBbQ+Sbez0nbxUkOYHEuTKZdrZ4GzhnhDJdIUdB7e4WLknyA4N/P5yeZl0MbBgXcIQY7owpmeVFvLtyHGs9BwUyiXqjfzg/U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785498796; c=relaxed/simple; bh=HrO7dj8YSIDPzFOM6u/9lL6xSVSA6icE7NNGfK9IB2s=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=WX1gDBvS3w/JVE/esbx+ZqlvEFeugZCpkJwpRxyP2QU2AAbS0RzYn7WCw5oLMY0Kl1YXDQKDSFYdkq7nIbI5wCZCeN8t7a+4n7b46PAQj1CEochMcC+nCM/6CA5GLGNL+P+OV75ivPipy2hnjiMvpvJUWYmj682sxEu27Qb9v+c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=humanlearning.ch; spf=none smtp.mailfrom=humanlearning.ch; dkim=pass (2048-bit key) header.d=humanlearning.ch header.i=@humanlearning.ch header.b=gt2nED50; arc=none smtp.client-ip=83.166.143.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=humanlearning.ch Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=humanlearning.ch Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=humanlearning.ch header.i=@humanlearning.ch header.b="gt2nED50" Received: from smtp-4-0000.mail.infomaniak.ch (smtp-4-0000.mail.infomaniak.ch [10.7.10.107]) by smtp-4-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4hBPb569lGz19yV; Fri, 31 Jul 2026 13:53:05 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=humanlearning.ch; s=20250828; t=1785498785; bh=mcYTy2HUkE85PNUNK6bLabAB0KpvYXZIPEVAc6pR1e8=; h=From:To:Cc:Subject:Date:From; b=gt2nED504Ah3cNcBxmi1Hz8lA5luWOO53pcg+n8XaVK82TRcNXW+M9C9phW9FY4Au HtKdnZJ7WpL9A+Eh8C9DYl0YFyGf5wedqURMLapSvwTsUUSMxtPkt+d242AKctNvGM rvTy4BxFcX5bkDCfQGLnOSwD6TorqnC3Nz9mO44IyoLSDfKLG58DnuezUoshwt5agY UrMKLKhcgQOD0nvxS+lde16OoCeuvu4djtE5kk60c7KI9KTD7Hv2QGA/Aqq+vVqpbv cTkauMJCiaFohyByIHbtFfqHrVxjM9vRaChUs0WzCdRgq0JLijRx57Y9h7vdpFIxD7 t9kcvgEBD7BSA== Received: from unknown by smtp-4-0000.mail.infomaniak.ch (Postfix) with ESMTPA id 4hBPb46rWBzKjV; Fri, 31 Jul 2026 13:53:04 +0200 (CEST) From: franzelverbier To: Douglas Anderson , Neil Armstrong Cc: Jessica Zhang , Maxime Ripard , Thomas Zimmermann , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, franzelverbier Subject: [PATCH] drm/panel-edp: Add Sharp SHP 0x15a7 (Surface Pro 12in 1st Ed.) Date: Fri, 31 Jul 2026 13:52:53 +0200 Message-ID: <20260731115253.15234-1-info@humanlearning.ch> X-Mailer: git-send-email 2.55.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Infomaniak-Routing: alpha Content-Type: text/plain; charset="utf-8" The internal eDP panel of the Microsoft Surface Pro 12in 1st Edition (Snapdragon X Plus, X1P42100) is not in edp_panels[], so every boot produces the deliberate WARN_ON splat in panel_edp_probe() and the panel falls back to conservative timings: WARNING: drivers/gpu/drm/panel/panel-edp.c:814 panel_edp_probe+0x53c/0x56c panel-simple-dp-aux aux-aea0000.displayport-controller: Unknown panel SHP 0x15a7, using conservative timings The exact model string is not known: the device tree uses the generic "edp-panel" compatible and the driver does not expose the EDID it reads, so the entry is named "Unknown" as is done for 32 other entries. Timings are deliberately cautious rather than datasheet-derived. The conservative fallback sets unprepare=3D2000 and enable=3D200; unprepare=3D2= 000 is a safety margin for unknown panels only and is the single occurrence of that value in the file -- no real panel entry uses it. delay_200_500_e200 keeps the same generous 200 ms enable delay while using the 500 ms unprepare shared by every actual panel in the table. A shorter enable delay may well be fine, but has not been validated here. Signed-off-by: franzelverbier --- drivers/gpu/drm/panel/panel-edp.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/panel/panel-edp.c b/drivers/gpu/drm/panel/pane= l-edp.c index 13ce277d7..3cc7d916a 100644 --- a/drivers/gpu/drm/panel/panel-edp.c +++ b/drivers/gpu/drm/panel/panel-edp.c @@ -2145,6 +2145,7 @@ static const struct edp_panel_entry edp_panels[] =3D { EDP_PANEL_ENTRY('S', 'H', 'P', 0x154c, &delay_200_500_p2e100, "LQ116M1JW1= 0"), EDP_PANEL_ENTRY('S', 'H', 'P', 0x158f, &delay_200_500_p2e100, "LQ134Z1"), EDP_PANEL_ENTRY('S', 'H', 'P', 0x1593, &delay_200_500_p2e100, "LQ134N1"), + EDP_PANEL_ENTRY('S', 'H', 'P', 0x15a7, &delay_200_500_e200, "Unknown"), =20 EDP_PANEL_ENTRY('S', 'T', 'A', 0x0004, &delay_200_500_e200, "116KHD024006= "), EDP_PANEL_ENTRY('S', 'T', 'A', 0x0009, &delay_200_500_e250, "116QHD024002= "),