From nobody Wed Oct 8 23:42:16 2025 Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 831A81E22E6 for ; Mon, 23 Jun 2025 06:44:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750661100; cv=none; b=A9ejtYCTZX0dKNq7YwCYv1RNP34365O2iI1yzrANrO7JAcuay9uL8fIfdKmueFCAw7/WLeyGq9YH88tehilrWAmhu9Ao+JNcCKFXDchMhBSvE8xjrqnk8OJIWxghLwfO2WEO/I7wCKtqJdHnFxAj1/u+oO0Nn4IYJYJ0gy7r0Gw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750661100; c=relaxed/simple; bh=P/y3z3w1bngNRTUAIAgXINyaHlzNiSUuhAN9U3zpOWw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qfSZ45EmMEXWXznMqeTJ+Gg/+9gymijjrwIaZyG/2ngMtHapnucEv1j1IvMpBJWF3Go/WOOdKD7nOuXAi8a880ysE8W5snh3OSV/YNWusZ4ruoYl1AYCHMX9RzyZBLDNqC6JJay9mMbSWSwKXOsGJL9JabJI3xoz7NrQQl769wo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=zClBLkYV; arc=none smtp.client-ip=209.85.208.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="zClBLkYV" Received: by mail-ed1-f49.google.com with SMTP id 4fb4d7f45d1cf-6088d856c6eso7388621a12.0 for ; Sun, 22 Jun 2025 23:44:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1750661097; x=1751265897; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=JCS5FhWMALYSCiWPAUtyrj6QhDfP/0lmNW3Nr7cvou0=; b=zClBLkYVl/L0cfN73dDvFKluhkWFpYpnFd3Y22fzEBu1MZ144r0GvS4zXSGzyh3WgC BLHk5YniDmsHPyLnVX4W4DFwnal1ijNXsRWu3zNYluPG0g84/Y003ggZcYiQMZFEVS6l 90r9J/TUgpa9WjRBzQBNL8TJK2wWKg/tMmcdRO4Ks4JWQk5KzfVR+4qCkW5DAFTGfbSL rZhYs8WMw7LWP1A20UGhR7JE1zWqR+tTKFKZjsrpYIz/3rt2thuGjmdSgma7nZauQXay jL621F2ISoFXkb1o0ryJZvpoAvK3hTMgR1QvR7Udy7W2QWaZO6JD1pqwOQ8ZnXUHcqn6 2XQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750661097; x=1751265897; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=JCS5FhWMALYSCiWPAUtyrj6QhDfP/0lmNW3Nr7cvou0=; b=AeuqM7r7r9ai3ARkK8ZhtA/ihhgBX3M2k0qBAieXzs+oKyixumGSfAgn/uNPFzW3gE NV/zh5OhnQjtgv8ZVFWcyj834G7EBDZ2zzS6OsNVP1q+Jd6jg1nqG4UClVLpydVtO3V/ Oq/cMaIqvd9DA8NACBRPURfI8uLDC+3brftxKQGsB2T9foBijKfI7Gwxo9IM7ndEknjM l7krL7fX557RFxXulIF51YAxEhYkkOAXVmsL/LV/A9davdnORfC9v0OKnmozE9PQY/A9 oitSv2aHYXTXLV2jW8MUwrHzb6ZYRSR2l6tILy68/82RjBppS/gRssdafDgy9xCs10Yo XkBw== X-Forwarded-Encrypted: i=1; AJvYcCX7TyndJXm204M1MHIvyHF4tM1MZ9Jg6/RQYKilx2XptlY1C2hXmZ/lsHiRljCpZaRIDZ7kycE0ZmFCxrM=@vger.kernel.org X-Gm-Message-State: AOJu0YzUeKulR/rr8nmL3nQkm+XDXMtWpD5wGVc8MJDpghHJlzRBNFAg cbSXTx4LgaOQBrezq2DTqx9f/Q+JgBFDVbKbSvjSDoujceNN+kuo9RkRVYiqBpeR/xg= X-Gm-Gg: ASbGnctnmqIOgMs47hk7acpRAIMLSlXW01D42JmXfcazy17HsX/LuNM54WR28x+Gj0U qSk8ABTih32CFYFxaPox5A36eaV1S0VJPmYq3KFIc+U+IPhceM4UWcyxQ+cpiiwyulKOOTgQ6gg Efk+jACiSCgb6X2AzlLNO5ZNLzGdjpGGig/R64iitR9omzPdkO8vVrbkv6JSihOinhzQXCe/lzj eei57M7HGomsuZ8lZTqpNScZyFa50rddACadRZs49qAfmKb45beaOBEPwWN5SekzFXmoK7cy3t0 kdVpP0LRCOnkQ5ATsIabh9SSELpRbJMnuu7BorX92MHWU1og1A7aYqOaLIBelwaMgey0XB+iY1M BcyJhTx5ZzmVpWXE9wQpV9zIKcHXBVpJQ X-Google-Smtp-Source: AGHT+IGsh9xvJEArfar+Dr0uRl16EBYyKnUhy6OWWKR/qb5aCazP3FzJZEQo/dxm9nUzIFyPy5Bewg== X-Received: by 2002:a17:907:d8f:b0:ad8:8c09:a51a with SMTP id a640c23a62f3a-ae0578f5642mr1122704566b.4.1750661096907; Sun, 22 Jun 2025 23:44:56 -0700 (PDT) Received: from otso.local (144-178-202-138.static.ef-service.nl. [144.178.202.138]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ae053ee4ce9sm659258266b.69.2025.06.22.23.44.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 22 Jun 2025 23:44:56 -0700 (PDT) From: Luca Weiss Date: Mon, 23 Jun 2025 08:44:45 +0200 Subject: [PATCH v2 1/5] dt-bindings: display: simple-framebuffer: Add interconnects property 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: <20250623-simple-drm-fb-icc-v2-1-f69b86cd3d7d@fairphone.com> References: <20250623-simple-drm-fb-icc-v2-0-f69b86cd3d7d@fairphone.com> In-Reply-To: <20250623-simple-drm-fb-icc-v2-0-f69b86cd3d7d@fairphone.com> To: Hans de Goede , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Javier Martinez Canillas , Helge Deller Cc: linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Luca Weiss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1750661095; l=1141; i=luca.weiss@fairphone.com; s=20250611; h=from:subject:message-id; bh=P/y3z3w1bngNRTUAIAgXINyaHlzNiSUuhAN9U3zpOWw=; b=6pjVbQkuIUa2qv2HWVS78fdybrtLmM+hDbK9+CQFefqu+4O7IH7z+Lx0F9v1sVHODRyMqXBxS 7Wh2+Zt4EiKC+fvVHgIMp5BhnDBPnUj+x9vrujCz05xSnU29wMieOM9 X-Developer-Key: i=luca.weiss@fairphone.com; a=ed25519; pk=O1aw+AAust5lEmgrNJ1Bs7PTY0fEsJm+mdkjExA69q8= Document the interconnects property which is a list of interconnect paths that is used by the framebuffer and therefore needs to be kept alive when the framebuffer is being used. Acked-by: Thomas Zimmermann Signed-off-by: Luca Weiss Reviewed-by: Hans de Goede Reviewed-by: Javier Martinez Canillas --- Documentation/devicetree/bindings/display/simple-framebuffer.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Documentation/devicetree/bindings/display/simple-framebuffer.y= aml b/Documentation/devicetree/bindings/display/simple-framebuffer.yaml index 296500f9da05e296dbbeec50ba5186b6b30aaffc..f0fa0ef23d91043dfb2b220c654= b80e2e80850cd 100644 --- a/Documentation/devicetree/bindings/display/simple-framebuffer.yaml +++ b/Documentation/devicetree/bindings/display/simple-framebuffer.yaml @@ -79,6 +79,9 @@ properties: power-domains: description: List of power domains used by the framebuffer. =20 + interconnects: + description: List of interconnect paths used by the framebuffer. + width: $ref: /schemas/types.yaml#/definitions/uint32 description: Width of the framebuffer in pixels --=20 2.50.0 From nobody Wed Oct 8 23:42:16 2025 Received: from mail-ej1-f49.google.com (mail-ej1-f49.google.com [209.85.218.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 701FA1E2852 for ; Mon, 23 Jun 2025 06:44:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750661101; cv=none; b=XpC9pb7NkawpG+JbXODkLl5sc8Ec3w2QUINIkCDQYmB/MBpOQIiHbp9aNlrWGx4RSUghTUGjshcyD25B+pJlSAyDjv0zuLJlRaDYPDL4RcLlDYFoiy7mPSdV7Kn5I6dL3K3oZtI25Cf1mPV8pGkqtzfsnSY4FznLNueS8V5bJWk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750661101; c=relaxed/simple; bh=D5wB8GTFVDuCJiFhGrONiRmhnC4J1aRZ8kfkMi+2S7c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IN3YrLR2eMz1VYLr8WCi7FoQUr5++OFMnrTr1Bq90Zf86CuzaoNGnfrrDn3GNd+jKCME8cTj67FccAYfnwUurh/ZBiYwgJB9C68P3bCIRVICfGjCDORfhhpLAm1EI1CJnC5ow/MxiFofTOdg8I1PhRBcHDNu90exz36zkVoyZVE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=c/w3szZ8; arc=none smtp.client-ip=209.85.218.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="c/w3szZ8" Received: by mail-ej1-f49.google.com with SMTP id a640c23a62f3a-ae04d3d63e6so480112066b.2 for ; Sun, 22 Jun 2025 23:44:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1750661098; x=1751265898; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=vbu48gx7NEhId69+qzMyPOiXCZJK31FbL3aO14F5yf4=; b=c/w3szZ85ohMGqFSsB9gaUZl9R9aJ9UCT9FESYf62/xJm0K0LI4gWQCsZFw4J7tXSC IdVgyxIsf4jtHrqnZgsRh3Rals+o8eJuzZcxB3H4jb3+6YLKsPV0HGwy2UBm+rjpEHSQ Hp3jkP/PsKYs9G/MhU+J200fIP7XP2ylUr27dgZ3jW8ZOPmh1f1Lb+q8Z5ZefKdcpwkU B8Pzrx2DU3iTHhvesHUgvAca0+eTdBiXW7AeA+h84tjz8uAc7Kt//lIFXHqJSAoO8UNV c8DzL8/sLbkx4QqIMzNDEeyfgjHU/Vj8PLrU0LtdxgyiGG3xKo5XaY4CRGbKWKsQUduZ h/4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750661098; x=1751265898; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vbu48gx7NEhId69+qzMyPOiXCZJK31FbL3aO14F5yf4=; b=SlCfRgBWCXuyoDBdodIMwGtPfd5udz8iUxMwPoJYQRfGq6UX1E7mxAJRPeSQLx52DW vEsZw8qESpNznDMqc5QWhLwSYmvwJUQbdMJGsnpBoD4ng9XBR8bxtGYR3Fr4Sk5s/u85 FbUQdio7GCu0Q55dBqFkFQkUEnj0ct73g4JPtNJGZjLfp+9fkxKFJfF+ehGOaHuyvUq2 2qElkoi2MfR7vCB9OtiJt0Z0U/5uX7nJKJhC60I0LniYqSLHL6r/HOhRi7YZAXiCm6Py bk1Wk37o3pYnqavQPokQPu9ZC5G4D3xNtX+hycwq/+Wj3MNrGZRmOPSiCft5Qgxg1pHI A7Lw== X-Forwarded-Encrypted: i=1; AJvYcCWLqMX/BkQ0djtm//kSRonadup8B61oWcJI0SndOZK8oUAXs8PDV8paoIBOAimwwLVeiTLNhXR6T76xeGQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxRJgBCEZykGWgGmzoMEGxjY06HDWScr7t7nSDSm0DrNI7C6G/x NMwBbG2kORCdEzq4Nz64Kq1gaPNWSDI8E9s2en5swN16fpVstD/f1CJwHjaLFgMeFxw= X-Gm-Gg: ASbGnctHgg7oQmZ97s7/zRMzTjC3QEd6YkI+Q9mdUodnBW7PoVZtGWytu7eUysClrii mTmOTSeVAIRZ12K5lqnL+goH4wQeAQz9RD/pSJFv7NJ74TfhVmDqeiceByQBHAwfADkemIM1uVj COEBqT2m+pn/3LLfOdVJl95X40pL/X+oZd+GbzX0Va808qv9GqtLCSD/RYmSShQmoKT2GADvIvU QJAp8vV8UKDnbvXx6B3Vj/AnWL0o2vu4xs+HpJJBVc9pVJcm6pCwpsn6QZsnNXO/ughdZDZxVWq gHgL9ieU/rayByEHYyCcdHXG+pnxqV9xx8q8KGaTKwhcuuis0RnnaAU47y0/dT/1eb4blH+ZjHq ELxxiE3E6RvDQUw1AKYkg1l+6qUAG8E5y X-Google-Smtp-Source: AGHT+IEOzTOG7c7R00rqnL+INk5sjS4mj52ZR4xU1BeF+DiFIb5jKd4us01mqAW9xyhdkYM3Dd47pg== X-Received: by 2002:a17:907:fd87:b0:ae0:6283:5d58 with SMTP id a640c23a62f3a-ae062835e1emr846280766b.1.1750661097735; Sun, 22 Jun 2025 23:44:57 -0700 (PDT) Received: from otso.local (144-178-202-138.static.ef-service.nl. [144.178.202.138]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ae053ee4ce9sm659258266b.69.2025.06.22.23.44.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 22 Jun 2025 23:44:57 -0700 (PDT) From: Luca Weiss Date: Mon, 23 Jun 2025 08:44:46 +0200 Subject: [PATCH v2 2/5] drm/sysfb: simpledrm: Sort headers correctly 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: <20250623-simple-drm-fb-icc-v2-2-f69b86cd3d7d@fairphone.com> References: <20250623-simple-drm-fb-icc-v2-0-f69b86cd3d7d@fairphone.com> In-Reply-To: <20250623-simple-drm-fb-icc-v2-0-f69b86cd3d7d@fairphone.com> To: Hans de Goede , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Javier Martinez Canillas , Helge Deller Cc: linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Luca Weiss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1750661095; l=812; i=luca.weiss@fairphone.com; s=20250611; h=from:subject:message-id; bh=D5wB8GTFVDuCJiFhGrONiRmhnC4J1aRZ8kfkMi+2S7c=; b=NmoLdHl/zy8/Ccu5xTGjwDXOdaQQcr3O/5YtL18RtixZv928CEKzL1gkps+b4W6pfu7E3uThf DcKk9lC2NhrC1nEiqi8avoRWgJ/zlM71+o1oVF8JKPfU6UAHI/If7RX X-Developer-Key: i=luca.weiss@fairphone.com; a=ed25519; pk=O1aw+AAust5lEmgrNJ1Bs7PTY0fEsJm+mdkjExA69q8= Make sure the headers are sorted alphabetically to ensure consistent code. Signed-off-by: Luca Weiss Reviewed-by: Hans de Goede Reviewed-by: Javier Martinez Canillas Reviewed-by: Thomas Zimmermann --- drivers/gpu/drm/sysfb/simpledrm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/sysfb/simpledrm.c b/drivers/gpu/drm/sysfb/simp= ledrm.c index a1c3119330deffc9e122b83941f3697e5b87f277..349219330314e3421a6bb26ad5c= f39a679a5cb7a 100644 --- a/drivers/gpu/drm/sysfb/simpledrm.c +++ b/drivers/gpu/drm/sysfb/simpledrm.c @@ -2,9 +2,9 @@ =20 #include #include -#include #include #include +#include #include #include #include --=20 2.50.0 From nobody Wed Oct 8 23:42:16 2025 Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com [209.85.218.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 706F71E834B for ; Mon, 23 Jun 2025 06:45:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.45 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750661102; cv=none; b=TWMT7ViKG5fWKNeRn37dG5yzdMrUxPVeV1qzp/t1VClZ9Oe0gBEQkxO2KieEosw/3307eB5TOGtzvjb8W10IDteOWoZhE1BiWhJK2zi/cC6etTEkGgni29HvfDYuSw13bO+RazfKsMGVOGaccq9RGlJxhlSsdVcNbgZY+1poOZY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750661102; c=relaxed/simple; bh=WFGg8eJbYpqqu4c1SsExqGZhg0kBCQL20U67P0aKA3M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Nj90M3krFRzD7QytFIpzSAmfUtjJZJjHHPsYuROiuoKob680IuJmM1LfV2+rhXCYGNEmSQXCKerNrF42wfV7UJALiF4hj9KDAlc2aKQd+njHQLWw1vusWo30tNIU2mgKGlQFi0R5f3I0yObpiSpEpw4rdn9SvCJ+Zl5Blha4XE0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=Bsjuqx3j; arc=none smtp.client-ip=209.85.218.45 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="Bsjuqx3j" Received: by mail-ej1-f45.google.com with SMTP id a640c23a62f3a-adfb562266cso684972966b.0 for ; Sun, 22 Jun 2025 23:45:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1750661099; x=1751265899; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=uTpIpbsJT9oUXdYXUp1B/jgdIiWHQ6mEsslmG5LurCE=; b=Bsjuqx3jum8oP5iT0t8fOWb99ofC0hhCl+eoDrmXznEAHRLSqzv1cYu2YSrEwEK66T ZVx6Jc12n6EKwnHi4/8AkQQneFafn8iAVXDwDsR6LgE1N8gdw3QlG3W4oRPx34K0Mpv7 3UDKrYU/l60nGSsoL5NkBxAQGDAKaxyPWh5PUFUUVfKoyOPdFDugzXDBqZ8Qi9DUjrN1 OlbapX0uBGFZoVQQbbrmwm81PVqYtyYKOEUXBMMy/EvRvniaVA8eOeUTWH1wW9naYAjs 2B6m98W1YfPSHqEWo87nBH9BCoE/x/jlAvRcH4mp7Zk9NiRGOm4kChfYnm4sVkhgv8JP zUIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750661099; x=1751265899; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uTpIpbsJT9oUXdYXUp1B/jgdIiWHQ6mEsslmG5LurCE=; b=V4X5wl69N3uo1RsP4JS+6kmvRhqNUWmn8dG1L6tpp1hlPds40loP+Bi8AdPhloSAvd TJRV46JUMVTdoN+TGNDCuXTpdPAwuQGkVrTVHCmpb1pB1nantybe9KdbkWK8ATsCx17F iJf4Fs0+b/N5hBnD0nAkT3G1IpaxGJSGULeAXGU4sISSJXI9UP11GsKpD4s+ohOiKczY DmBtNB8B1uLPdVySGtVu6nmHfx1ghtiAys5BgzsXlT3EBOwjjviVjMbZ4thjAeU+PVEN l/VbE0q2DpIbYkFAhQtoUrJdaFURjb/g+HbrAY+eIKhXPkTITEswQ2HbpcOcqrks3PHr ARNA== X-Forwarded-Encrypted: i=1; AJvYcCXz2/baJ59jh16eKFnjj2HwVF0q1soJYbQHtpykeSlRVfoShjP0bm5o0bg6tOhltpSnDwklfl17H+Vu6Sg=@vger.kernel.org X-Gm-Message-State: AOJu0Yw3mv/Y6KfqoGvpsJsvE6LxrDtOxi3c94rpwDidxBNByAtmM+tA 5f1trWtLDpkzaX1XS0DrrPPDN4srwhcvT3BHe7+3ibawWEa/JW4RXuewwtR0WbYtkn+wf1sK0zq DWbHe X-Gm-Gg: ASbGncstzXazPaMQzfiDowJlErGrL35lTTlm8BXsY8sROy2Tv3uVGrwD23qCzsMeTjU g4matwutlYiSa36AgkfyYvogq7pGzCgaJes4685Sy1txiimR6EpXAYVtIgESK2iSTneIgByQ/Yi AcphZnS6fpoMVCNg4lrseAPLVIqwRXzz/d2c8CidOZcXf0M7JnAxXllJOhRDsBhx/MuDMMuE5oD UdFY1F4OL34+riZcsewutigMqTO+NOAsKeLDGySTF2Rgsmndwwq+KUq+EE81M8DRQfCUbnmOZUu mkYTiylqMO2PXU6BmvikLIMlUsV9dtvbuZt9zY3nzukkbXxyNHjxFFvFY42dmP6B4xM6KTDYSBi 4/KH9z81SPk3/MTKF9uhY0xtZnIuJGs3A X-Google-Smtp-Source: AGHT+IFz7kDahVsqdTj+a5KcPoxkKtMDN2hTfcr/X8jn9acL7zz5DDVx99WzLXxoM8vxkoixi21RhQ== X-Received: by 2002:a17:907:3f85:b0:ae0:6620:7f with SMTP id a640c23a62f3a-ae066200670mr917673166b.44.1750661098692; Sun, 22 Jun 2025 23:44:58 -0700 (PDT) Received: from otso.local (144-178-202-138.static.ef-service.nl. [144.178.202.138]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ae053ee4ce9sm659258266b.69.2025.06.22.23.44.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 22 Jun 2025 23:44:58 -0700 (PDT) From: Luca Weiss Date: Mon, 23 Jun 2025 08:44:47 +0200 Subject: [PATCH v2 3/5] drm/sysfb: simpledrm: Add support for interconnect paths 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: <20250623-simple-drm-fb-icc-v2-3-f69b86cd3d7d@fairphone.com> References: <20250623-simple-drm-fb-icc-v2-0-f69b86cd3d7d@fairphone.com> In-Reply-To: <20250623-simple-drm-fb-icc-v2-0-f69b86cd3d7d@fairphone.com> To: Hans de Goede , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Javier Martinez Canillas , Helge Deller Cc: linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Luca Weiss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1750661095; l=3575; i=luca.weiss@fairphone.com; s=20250611; h=from:subject:message-id; bh=WFGg8eJbYpqqu4c1SsExqGZhg0kBCQL20U67P0aKA3M=; b=KSAo2uksGIm/+/BS8fjSyT+6mi+LRF2bl6GllAefMrpSwVVulFaiF5Qh5JwSjHsRXFQF/0C8X JOy9miznMoGB8qCL+OMaXK0deqERRAc76ov+tdX6Ihv+2jk92C4Abk6 X-Developer-Key: i=luca.weiss@fairphone.com; a=ed25519; pk=O1aw+AAust5lEmgrNJ1Bs7PTY0fEsJm+mdkjExA69q8= Some devices might require keeping an interconnect path alive so that the framebuffer continues working. Add support for that by setting the bandwidth requirements appropriately for all provided interconnect paths. Reviewed-by: Thomas Zimmermann Signed-off-by: Luca Weiss Reviewed-by: Hans de Goede Reviewed-by: Javier Martinez Canillas --- drivers/gpu/drm/sysfb/simpledrm.c | 83 +++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 83 insertions(+) diff --git a/drivers/gpu/drm/sysfb/simpledrm.c b/drivers/gpu/drm/sysfb/simp= ledrm.c index 349219330314e3421a6bb26ad5cf39a679a5cb7a..47d213e20cab1dd1e19528674a9= 5edea00f4bb30 100644 --- a/drivers/gpu/drm/sysfb/simpledrm.c +++ b/drivers/gpu/drm/sysfb/simpledrm.c @@ -2,6 +2,7 @@ =20 #include #include +#include #include #include #include @@ -225,6 +226,10 @@ struct simpledrm_device { struct device **pwr_dom_devs; struct device_link **pwr_dom_links; #endif +#if defined CONFIG_OF && defined CONFIG_INTERCONNECT + unsigned int icc_count; + struct icc_path **icc_paths; +#endif =20 /* modesetting */ u32 formats[DRM_SYSFB_PLANE_NFORMATS(1)]; @@ -547,6 +552,81 @@ static int simpledrm_device_attach_genpd(struct simple= drm_device *sdev) } #endif =20 +#if defined CONFIG_OF && defined CONFIG_INTERCONNECT +/* + * Generic interconnect path handling code. + */ +static void simpledrm_device_detach_icc(void *res) +{ + struct simpledrm_device *sdev =3D res; + int i; + + for (i =3D sdev->icc_count - 1; i >=3D 0; i--) { + if (!IS_ERR_OR_NULL(sdev->icc_paths[i])) + icc_put(sdev->icc_paths[i]); + } +} + +static int simpledrm_device_attach_icc(struct simpledrm_device *sdev) +{ + struct device *dev =3D sdev->sysfb.dev.dev; + int ret, count, i; + + count =3D of_count_phandle_with_args(dev->of_node, "interconnects", + "#interconnect-cells"); + if (count < 0) + return 0; + + /* An interconnect path consists of two elements */ + if (count % 2) { + drm_err(&sdev->sysfb.dev, + "invalid interconnects value\n"); + return -EINVAL; + } + sdev->icc_count =3D count / 2; + + sdev->icc_paths =3D devm_kcalloc(dev, sdev->icc_count, + sizeof(*sdev->icc_paths), + GFP_KERNEL); + if (!sdev->icc_paths) + return -ENOMEM; + + for (i =3D 0; i < sdev->icc_count; i++) { + sdev->icc_paths[i] =3D of_icc_get_by_index(dev, i); + if (IS_ERR_OR_NULL(sdev->icc_paths[i])) { + ret =3D PTR_ERR(sdev->icc_paths[i]); + if (ret =3D=3D -EPROBE_DEFER) + goto err; + drm_err(&sdev->sysfb.dev, "failed to get interconnect path %u: %d\n", + i, ret); + continue; + } + + ret =3D icc_set_bw(sdev->icc_paths[i], 0, UINT_MAX); + if (ret) { + drm_err(&sdev->sysfb.dev, "failed to set interconnect bandwidth %u: %d\= n", + i, ret); + continue; + } + } + + return devm_add_action_or_reset(dev, simpledrm_device_detach_icc, sdev); + +err: + while (i) { + --i; + if (!IS_ERR_OR_NULL(sdev->icc_paths[i])) + icc_put(sdev->icc_paths[i]); + } + return ret; +} +#else +static int simpledrm_device_attach_icc(struct simpledrm_device *sdev) +{ + return 0; +} +#endif + /* * Modesetting */ @@ -633,6 +713,9 @@ static struct simpledrm_device *simpledrm_device_create= (struct drm_driver *drv, if (ret) return ERR_PTR(ret); ret =3D simpledrm_device_attach_genpd(sdev); + if (ret) + return ERR_PTR(ret); + ret =3D simpledrm_device_attach_icc(sdev); if (ret) return ERR_PTR(ret); =20 --=20 2.50.0 From nobody Wed Oct 8 23:42:16 2025 Received: from mail-ed1-f49.google.com (mail-ed1-f49.google.com [209.85.208.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 472291EE01A for ; Mon, 23 Jun 2025 06:45:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750661103; cv=none; b=RFvetHXdMH7TfF2UQ1BnPWqI+iwvgoXXqWM7L4NYYeZcYy8SifWXniY2Vq0HU1cKDznhJLg+f5pWFhq940c6rk1QbBRmj/CL2569n6kPRs1rWkJDtHsJMdWVVXwNjKwUfxDM77P6xkD3/3jk2m6pKraj6MGea1lTd7N4nAQTz/c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750661103; c=relaxed/simple; bh=FuWpotRDIyEvFRCG/nxmNN/jO2swjOVfbhbhqHJw88c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IXsj67tK+iNwlzRBQ7a/IwXafSeh1lgjaoTX7ExA84WDSiva8aas9tHXs7kmrhwieoF4QATtrE/7SAmRTAqUihcafR8rr3c2Xg4oqXGpH2iBExEnor0++5vDOSq6e1VQWnVI7ZmcVehhOqwvosHOeg+sjZMLRafKc+aLyYA6tr8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=G1OUBWLo; arc=none smtp.client-ip=209.85.208.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="G1OUBWLo" Received: by mail-ed1-f49.google.com with SMTP id 4fb4d7f45d1cf-6077dea37easo7243026a12.3 for ; Sun, 22 Jun 2025 23:45:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1750661100; x=1751265900; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=W8j0earuMk91sZoSa/Jgd1WatXgxkmiiaUFmqx99Roc=; b=G1OUBWLoRGJO5hYXNyYDrAC9ZlJGqa6YS9GWQBWHQXacu1WKYLBvL+jI/JG94SplEK HVBxpc5HVXz1xFpG3n+TKkptVlCosGg1jMhKOi0crexvFzVlaLDKUMMLMYJBx9qwRgUu QOrI+iddwSwsFzXKIv75vNHGgD6bdIRhL8oa2lnrpsAmv+cQQ6bsh6620LiqrkIaTgXR brpgt3P2buMYeJpQW2vuQhBd+r7/IltDu6STgxfbNsk2ICN/Vh4g7P/1UOI18uxEFlHa CMNE+I97Jj/Kz1zlubLVfKdaSe1Sy2pl1eXOvTSXatGyQOMEDv1qSrRLKk0MFXJ3zHBT CAIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750661100; x=1751265900; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=W8j0earuMk91sZoSa/Jgd1WatXgxkmiiaUFmqx99Roc=; b=eOILiOgtp3kcudGpCcrVOH0zJY03sHDUya+2eu57OqXSEb/ArsV8cYmuEGsJPQQmo/ WrrHTIqaQ9V6pP9HXe4G5EksbT8LwISDk6XVnfDkCC1X/DA6Bv8FWLdJi4Q7QXEUY6om qIPA5f7O+2WBa+vsS2ywljR82jPBMzhiRGalYl+chWGQRAyA6Z8dVGOdb74vkjH2Y/mk lmqkWLSBhN5qZ//TaXuUMcRi7VtNWc85XA9KKYurCc6FtlaHcmrVbruZHsKUPfZgHA/O fiOLGLCpXAaOlOTWRpOSFuwsakH2ljQ7kZFO1SAaeM00mH6B0mujrsoU4CydyoDT5Ndt jdpA== X-Forwarded-Encrypted: i=1; AJvYcCVwwjlNBmggqENQqCnlgeGEx7i8uB0KYwxzVaVw9y7QZKnDE6JiuJCXf23DpgnKbuFqQxiCPGhkANbrfPw=@vger.kernel.org X-Gm-Message-State: AOJu0Yw0jbMM0rpAvu7g/bTpnQNoYeboGOgQw87xdSvg9pK0WhSrM0y9 z69JLyYnA5MaxLgtKg0Xz2FPOea4XC9rPg+ICAzEaNYpeLknBfgZFXNZBwfucJ4JigY= X-Gm-Gg: ASbGnctK9AbzAPn/YtvBZ0MeGLOLBNtvHeepIY2tiSXYTCHS0EVzy5U2WMgGu731psa +lAr88aIQguG5mGM2jYbsKRD/Jtos5Ey7cYgYrfhojRA/Ce5o/nR7i94vhnI5Fy/y67FRkUHZLX MOJQFKTOQUMs4PYGVeD8y9hFxWNNQjAO4JdF0ZDpiKdlohdB4CjS6xrNMpjp1n1wCCEJGwGNj3C nQ2QpnKftZXUD0mGOTFDBwMha+E7zAcI8ALW+KGmJZue8QMI3dIiHGRmuYL2LKU8tvbu8bU5QCP vWtx5gykxTF6j1N2EJXwNixw96lX8/bFlA6aJ6qenmVuaEItb19LdqKH2lsdUgq7GzAkxE4pq66 w8XHTOz0tuOpHKi3GJIvewDCYKOvqCaE/ X-Google-Smtp-Source: AGHT+IE8m6sV6mGT4W4Z3eOR9YDBYYzBxtwk7TVZKt44W93HSiVrTunOecK2T81aA/Q+qJNWY1i1yg== X-Received: by 2002:a17:907:1c95:b0:adb:449c:7621 with SMTP id a640c23a62f3a-ae057c0f672mr1169047266b.29.1750661099726; Sun, 22 Jun 2025 23:44:59 -0700 (PDT) Received: from otso.local (144-178-202-138.static.ef-service.nl. [144.178.202.138]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ae053ee4ce9sm659258266b.69.2025.06.22.23.44.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 22 Jun 2025 23:44:59 -0700 (PDT) From: Luca Weiss Date: Mon, 23 Jun 2025 08:44:48 +0200 Subject: [PATCH v2 4/5] fbdev/simplefb: Sort headers correctly 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: <20250623-simple-drm-fb-icc-v2-4-f69b86cd3d7d@fairphone.com> References: <20250623-simple-drm-fb-icc-v2-0-f69b86cd3d7d@fairphone.com> In-Reply-To: <20250623-simple-drm-fb-icc-v2-0-f69b86cd3d7d@fairphone.com> To: Hans de Goede , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Javier Martinez Canillas , Helge Deller Cc: linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Luca Weiss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1750661095; l=1094; i=luca.weiss@fairphone.com; s=20250611; h=from:subject:message-id; bh=FuWpotRDIyEvFRCG/nxmNN/jO2swjOVfbhbhqHJw88c=; b=kXVSPEOY4GhdxIVGXUvtFGyi8NaioGV03rhp+XgPSoKPhDZTGGSFak070HpEI5tJff8X94PQS azxFMPS9dLaDcaEfVYWwQaXl3Ps5kdOPKrCiKnmBij4JtYNIp525Z22 X-Developer-Key: i=luca.weiss@fairphone.com; a=ed25519; pk=O1aw+AAust5lEmgrNJ1Bs7PTY0fEsJm+mdkjExA69q8= Make sure the headers are sorted alphabetically to ensure consistent code. Signed-off-by: Luca Weiss Reviewed-by: Hans de Goede Reviewed-by: Javier Martinez Canillas Reviewed-by: Thomas Zimmermann --- drivers/video/fbdev/simplefb.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/video/fbdev/simplefb.c b/drivers/video/fbdev/simplefb.c index be95fcddce4c8ca794826b805cd7dad2985bd637..db27d51046af5cc3c46a0bc81ad= 9d9ed9a0783cc 100644 --- a/drivers/video/fbdev/simplefb.c +++ b/drivers/video/fbdev/simplefb.c @@ -13,18 +13,18 @@ */ =20 #include +#include #include #include #include #include -#include -#include -#include #include #include #include #include #include +#include +#include #include #include =20 --=20 2.50.0 From nobody Wed Oct 8 23:42:16 2025 Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 754161EF394 for ; Mon, 23 Jun 2025 06:45:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750661104; cv=none; b=fsoxygw95o2WvHZmEN0gygSqTUON9pDxNxdwF9goUQ8vFNOqyxUjjL1Tko3dplCxuwBcYBTTVdA8Dwx5peeoeUsr2Z8NGmyuui5YuG6BjXrROlkajjI57BQ47wPv3W2PJeIKaWGaKIUdi5JslbQR5obrz2f/fzqVmSt9341217k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750661104; c=relaxed/simple; bh=dQKTaoJFbvazyp9Q1oPhqhjuJEvK2SxhdOtUQkhZwj0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PquDkYxNxiiPY22IMuZtrzlxhqG1qpPCXKdQLw5BPLZ0FXQ07UU5OGWlgmE7RGbQFpy8jkv7bkFaUwTCAQXkdwFE3CPCdiDpGgtgvwIBz8SNzkTs4xaYytpDOK/9E62lTy9wWZcSK/5p10UgmWS1nQqqZ//AC22nV1ud7rgxdd8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com; spf=pass smtp.mailfrom=fairphone.com; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b=PHZY3hmZ; arc=none smtp.client-ip=209.85.218.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=fairphone.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=fairphone.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=fairphone.com header.i=@fairphone.com header.b="PHZY3hmZ" Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-ad8a8da2376so594782966b.3 for ; Sun, 22 Jun 2025 23:45:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fairphone.com; s=fair; t=1750661101; x=1751265901; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=pA+Rs4BuhZMiD1TZXkrsma5mRVhifaFNd7IRaZKnnaY=; b=PHZY3hmZQn71mQMQSJ2zBh6tgGFCeqIjhjvYBbBSlEknVYr7q3ZBRlViv9fl3hIFrZ AVMlgjTLwtuOtF/TfNWcH+ys9izx8EcFh5+Sf76wmezjhZe/VcaWndiP3o9dzs1ll3/Y i4b5l09UVs+ESttsJgy5tS6+1XJcvrownNcR2MvH9vtfjJpL30Zs6b2jI9apEE9P/vkW YKH0540Yg1QbLbgNB+cULzriOrZaeWBXYzM2qalYG1+iptNu9QGTWPcsxWgQdU4iQb12 1f2QejLzVDjfYN3jQxCjWIwk6aa5IBvuJm6UbHdUpaXxG446x/Kz22skauoyivsnt9+n 5afg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750661101; x=1751265901; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pA+Rs4BuhZMiD1TZXkrsma5mRVhifaFNd7IRaZKnnaY=; b=wWo54QESBokmaOf7yGKvvhnihyw4XC8I8vTI/H9tzc45tuJHpRJq2uG5It9m9LbaFH dInSp0R2MocuknbHr0aqCxhN8vAWOto/XWC2IxUM0qpL4d+4hlzqFW1Ts5hEiVfgML8u xfnM0eGME6Sa+GfhnrYCHV29sh4RxxO2T200Zlcdtn9zxdxG2gUKqId64mUQMEIIgSXF nm8060FydhOUOysILyanw1aWVLn0kVAS8MqYhvo3bQ4hVDWHXuKLwM0CPb3fRsuwQEns OuJVgy0uvhMJGdBJQrewO2v1YJUScZiSXW3utItDfX8IFYhKWv30k4fAZqlm+Y9YgH72 FO1g== X-Forwarded-Encrypted: i=1; AJvYcCXNw+bO346Ng/iBcwki1W/u9ZqIw0AUJXDkWrhTVMWlxpnoxCzPRK/TC07TqqjMa39xlzujst5S2FhovGA=@vger.kernel.org X-Gm-Message-State: AOJu0YzWjKmRBWT1OHDuXuQdGbrnuW2iaawxyuISUG2m50pFLSg1G4n/ 9WEv5PZ3nYgcAkq2ciXCuB+VgrwHNbjZhpcWGRDGfQuPhEwVgqt9sd0dU2htMl6/ZpY= X-Gm-Gg: ASbGncsh0+Vb3M4X+ZfXrDbeLpeZcA4ofjQqBt5MhWrk8fkMkyA5puqSLzPkr6hBihp QxlZsrwdTWbJcvkuEcidajs2dwUzZmvV/y5vmjvmqndhU/P2QShVV6Fxqq5CZyVz+CeHv7kwVQJ gCvWvallMuLXlrp4fSsY57mbzSrFFePoB10f12e8JsP14EB/iVJ3moMR0y+a8ZXqqw+lLwL9wCF wJrQj3QT16/i9wl4rkjQ/WkD9y23RiJavf5Kfay726JEZ3CMAhZGmkn4MkSDoo8cxFg5kK5Oax5 nvIYCI5DAujt38wfnlqWHFDI266OcSaNlWaQn3Fk4aV3QvjI4lzj9Q5Jo/s+JlW56BYQLtsMsez 3BPp6oTds7KCX/BzurlxrCdd8tGYjxMEU X-Google-Smtp-Source: AGHT+IEfG/ia8MXFZvWV63xW+2WDm+wmIGfKUT095APiD93iFktsSDhtmQlj2MFUGu0vl47bkbkh1w== X-Received: by 2002:a17:906:6a17:b0:adb:23e0:9297 with SMTP id a640c23a62f3a-ae057a51258mr1096084666b.17.1750661100690; Sun, 22 Jun 2025 23:45:00 -0700 (PDT) Received: from otso.local (144-178-202-138.static.ef-service.nl. [144.178.202.138]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ae053ee4ce9sm659258266b.69.2025.06.22.23.44.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 22 Jun 2025 23:45:00 -0700 (PDT) From: Luca Weiss Date: Mon, 23 Jun 2025 08:44:49 +0200 Subject: [PATCH v2 5/5] fbdev/simplefb: Add support for interconnect paths 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: <20250623-simple-drm-fb-icc-v2-5-f69b86cd3d7d@fairphone.com> References: <20250623-simple-drm-fb-icc-v2-0-f69b86cd3d7d@fairphone.com> In-Reply-To: <20250623-simple-drm-fb-icc-v2-0-f69b86cd3d7d@fairphone.com> To: Hans de Goede , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Javier Martinez Canillas , Helge Deller Cc: linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Luca Weiss X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1750661095; l=3530; i=luca.weiss@fairphone.com; s=20250611; h=from:subject:message-id; bh=dQKTaoJFbvazyp9Q1oPhqhjuJEvK2SxhdOtUQkhZwj0=; b=wtrWkFVrQxjznBKN4+vCIM0v5OnZoKSUD8HoOPwct17rZ2GLmAHgCNrxQRvIjIg0dfn6SBO3p fX8nbdxIEsCBstf3uSct7cS/lYQd1s5Ww4P7FLDYTDBXJ1Mt6boZXXC X-Developer-Key: i=luca.weiss@fairphone.com; a=ed25519; pk=O1aw+AAust5lEmgrNJ1Bs7PTY0fEsJm+mdkjExA69q8= Some devices might require keeping an interconnect path alive so that the framebuffer continues working. Add support for that by setting the bandwidth requirements appropriately for all provided interconnect paths. Reviewed-by: Thomas Zimmermann Signed-off-by: Luca Weiss Reviewed-by: Hans de Goede Reviewed-by: Javier Martinez Canillas --- drivers/video/fbdev/simplefb.c | 83 ++++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 83 insertions(+) diff --git a/drivers/video/fbdev/simplefb.c b/drivers/video/fbdev/simplefb.c index db27d51046af5cc3c46a0bc81ad9d9ed9a0783cc..b7e2f2374e3149866fd6f180393= 1e7f34dbbd75f 100644 --- a/drivers/video/fbdev/simplefb.c +++ b/drivers/video/fbdev/simplefb.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -89,6 +90,10 @@ struct simplefb_par { u32 regulator_count; struct regulator **regulators; #endif +#if defined CONFIG_OF && defined CONFIG_INTERCONNECT + unsigned int icc_count; + struct icc_path **icc_paths; +#endif }; =20 static void simplefb_clocks_destroy(struct simplefb_par *par); @@ -525,6 +530,80 @@ static int simplefb_attach_genpds(struct simplefb_par = *par, } #endif =20 +#if defined CONFIG_OF && defined CONFIG_INTERCONNECT +/* + * Generic interconnect path handling code. + */ +static void simplefb_detach_icc(void *res) +{ + struct simplefb_par *par =3D res; + int i; + + for (i =3D par->icc_count - 1; i >=3D 0; i--) { + if (!IS_ERR_OR_NULL(par->icc_paths[i])) + icc_put(par->icc_paths[i]); + } +} + +static int simplefb_attach_icc(struct simplefb_par *par, + struct platform_device *pdev) +{ + struct device *dev =3D &pdev->dev; + int ret, count, i; + + count =3D of_count_phandle_with_args(dev->of_node, "interconnects", + "#interconnect-cells"); + if (count < 0) + return 0; + + /* An interconnect path consists of two elements */ + if (count % 2) { + dev_err(dev, "invalid interconnects value\n"); + return -EINVAL; + } + par->icc_count =3D count / 2; + + par->icc_paths =3D devm_kcalloc(dev, par->icc_count, + sizeof(*par->icc_paths), + GFP_KERNEL); + if (!par->icc_paths) + return -ENOMEM; + + for (i =3D 0; i < par->icc_count; i++) { + par->icc_paths[i] =3D of_icc_get_by_index(dev, i); + if (IS_ERR_OR_NULL(par->icc_paths[i])) { + ret =3D PTR_ERR(par->icc_paths[i]); + if (ret =3D=3D -EPROBE_DEFER) + goto err; + dev_err(dev, "failed to get interconnect path %u: %d\n", i, ret); + continue; + } + + ret =3D icc_set_bw(par->icc_paths[i], 0, UINT_MAX); + if (ret) { + dev_err(dev, "failed to set interconnect bandwidth %u: %d\n", i, ret); + continue; + } + } + + return devm_add_action_or_reset(dev, simplefb_detach_icc, par); + +err: + while (i) { + --i; + if (!IS_ERR_OR_NULL(par->icc_paths[i])) + icc_put(par->icc_paths[i]); + } + return ret; +} +#else +static int simplefb_attach_icc(struct simplefb_par *par, + struct platform_device *pdev) +{ + return 0; +} +#endif + static int simplefb_probe(struct platform_device *pdev) { int ret; @@ -615,6 +694,10 @@ static int simplefb_probe(struct platform_device *pdev) if (ret < 0) goto error_regulators; =20 + ret =3D simplefb_attach_icc(par, pdev); + if (ret < 0) + goto error_regulators; + simplefb_clocks_enable(par, pdev); simplefb_regulators_enable(par, pdev); =20 --=20 2.50.0