Hi
Am 22.06.26 um 18:17 schrieb Thierry Reding:
On Mon, Jun 22, 2026 at 03:19:40PM +0200, Thomas Zimmermann wrote:
A DeviceTree panel node can specify the panel's rotation in steps
of 90 degrees. Set the DRM connector orientation from the field.
Do nothing if the field is missing or invalid.
Signed-off-by: Thomas Zimmermann <[email protected]>
---
drivers/gpu/drm/sysfb/simpledrm.c | 32 +++++++++++++++++++++++++++++--
1 file changed, 30 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/sysfb/simpledrm.c
b/drivers/gpu/drm/sysfb/simpledrm.c
index a04f0c852ea4..b585d17ca817 100644
--- a/drivers/gpu/drm/sysfb/simpledrm.c
+++ b/drivers/gpu/drm/sysfb/simpledrm.c
@@ -221,6 +221,33 @@ simplefb_get_panel_height_mm_of(struct drm_device *dev,
struct device_node *of_p
return __simplefb_get_panel_size_mm_of(dev, of_panel_node, "height-mm");
}
+static enum drm_panel_orientation
+simplefb_get_panel_orientation_of(struct drm_device *dev, struct device_node
*of_panel_node)
+{
+ int ret;
+ u32 rotation;
+
+ ret = of_property_read_u32(of_panel_node, "rotation", &rotation);
+ if (ret) {
+ drm_dbg(dev, "simplefb: cannot parse panel rotation: error
%d\n", ret);
Why is this debug level? Maybe we don't want an error if the property is
absent, but if it really can't be parsed, why not print out a proper
error?
+ return DRM_MODE_PANEL_ORIENTATION_UNKNOWN;
+ }
+
+ switch (rotation) {
+ case 0:
+ return DRM_MODE_PANEL_ORIENTATION_NORMAL;
+ case 90:
+ return DRM_MODE_PANEL_ORIENTATION_RIGHT_UP;
+ case 180:
+ return DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP;
+ case 270:
+ return DRM_MODE_PANEL_ORIENTATION_LEFT_UP;
+ default:
+ drm_dbg(dev, "simplefb: cannot parse panel rotation: value
%u\n", rotation);
Same here. Seems like we should be verbose when this contains an invalid
value. DT checkers should catch these already, so if the invalid value
makes it here, maybe we should sound the alarm.
Ok. The review bot told me about of_drm_get_panel_orientation(). I
intent to reimplement this patch on top of that helper.
Best regards
Thomas
Thierry
--
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, Werner Knoblich, (HRB 36809, AG Nürnberg)