* [PATCH v13 1/4] dt-bindings: gpu: mali-bifrost: Add Mediatek MT8183
2021-04-21 5:28 [PATCH v13 0/4] drm/panfrost: Add support for mt8183 GPU Nicolas Boichat
@ 2021-04-21 5:28 ` Nicolas Boichat
2021-04-21 16:59 ` Rob Herring
2021-04-21 5:28 ` [PATCH v13 2/4] arm64: dts: mt8183: Add node for the Mali GPU Nicolas Boichat
` (2 subsequent siblings)
3 siblings, 1 reply; 13+ messages in thread
From: Nicolas Boichat @ 2021-04-21 5:28 UTC (permalink / raw)
To: Rob Herring, Steven Price, Alyssa Rosenzweig
Cc: fshao, hsinyi, hoegsberg, Tomeu Vizoso, Neil Armstrong,
boris.brezillon, Nicolas Boichat, Daniel Vetter, David Airlie,
Matthias Brugger, Rob Herring, devicetree, dri-devel,
linux-arm-kernel, linux-kernel, linux-mediatek
Define a compatible string for the Mali Bifrost GPU found in
Mediatek's MT8183 SoCs.
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
---
(no changes since v12)
Changes in v12:
- binding: Fix min/maxItems logic (Rob Herring)
Changes in v11:
- binding: power-domain-names not power-domainS-names
Changes in v10:
- Fix the binding to make sure sram-supply property can be provided.
Changes in v6:
- Rebased, actually tested with recent mesa driver.
Changes in v5:
- Rename "2d" power domain to "core2"
Changes in v4:
- Add power-domain-names description
(kept Alyssa's reviewed-by as the change is minor)
.../bindings/gpu/arm,mali-bifrost.yaml | 30 ++++++++++++++++++-
1 file changed, 29 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/gpu/arm,mali-bifrost.yaml b/Documentation/devicetree/bindings/gpu/arm,mali-bifrost.yaml
index 184492162e7e..b22cd8f1b015 100644
--- a/Documentation/devicetree/bindings/gpu/arm,mali-bifrost.yaml
+++ b/Documentation/devicetree/bindings/gpu/arm,mali-bifrost.yaml
@@ -17,6 +17,7 @@ properties:
items:
- enum:
- amlogic,meson-g12a-mali
+ - mediatek,mt8183-mali
- realtek,rtd1619-mali
- rockchip,px30-mali
- const: arm,mali-bifrost # Mali Bifrost GPU model/revision is fully discoverable
@@ -41,10 +42,13 @@ properties:
mali-supply: true
+ sram-supply: true
+
operating-points-v2: true
power-domains:
- maxItems: 1
+ minItems: 1
+ maxItems: 3
resets:
maxItems: 2
@@ -87,6 +91,30 @@ allOf:
then:
required:
- resets
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: mediatek,mt8183-mali
+ then:
+ properties:
+ power-domains:
+ minItems: 3
+ power-domain-names:
+ items:
+ - const: core0
+ - const: core1
+ - const: core2
+
+ required:
+ - sram-supply
+ - power-domains
+ - power-domain-names
+ else:
+ properties:
+ power-domains:
+ maxItems: 1
+ sram-supply: false
examples:
- |
--
2.31.1.368.gbe11c130af-goog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v13 1/4] dt-bindings: gpu: mali-bifrost: Add Mediatek MT8183
2021-04-21 5:28 ` [PATCH v13 1/4] dt-bindings: gpu: mali-bifrost: Add Mediatek MT8183 Nicolas Boichat
@ 2021-04-21 16:59 ` Rob Herring
0 siblings, 0 replies; 13+ messages in thread
From: Rob Herring @ 2021-04-21 16:59 UTC (permalink / raw)
To: Nicolas Boichat
Cc: devicetree, Tomeu Vizoso, Steven Price, David Airlie, dri-devel,
Rob Herring, boris.brezillon, Alyssa Rosenzweig, hsinyi,
hoegsberg, Matthias Brugger, fshao, linux-mediatek,
linux-arm-kernel, linux-kernel, Neil Armstrong
On Wed, 21 Apr 2021 13:28:52 +0800, Nicolas Boichat wrote:
> Define a compatible string for the Mali Bifrost GPU found in
> Mediatek's MT8183 SoCs.
>
> Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
> ---
>
> (no changes since v12)
>
> Changes in v12:
> - binding: Fix min/maxItems logic (Rob Herring)
>
> Changes in v11:
> - binding: power-domain-names not power-domainS-names
>
> Changes in v10:
> - Fix the binding to make sure sram-supply property can be provided.
>
> Changes in v6:
> - Rebased, actually tested with recent mesa driver.
>
> Changes in v5:
> - Rename "2d" power domain to "core2"
>
> Changes in v4:
> - Add power-domain-names description
> (kept Alyssa's reviewed-by as the change is minor)
>
> .../bindings/gpu/arm,mali-bifrost.yaml | 30 ++++++++++++++++++-
> 1 file changed, 29 insertions(+), 1 deletion(-)
>
Reviewed-by: Rob Herring <robh@kernel.org>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v13 2/4] arm64: dts: mt8183: Add node for the Mali GPU
2021-04-21 5:28 [PATCH v13 0/4] drm/panfrost: Add support for mt8183 GPU Nicolas Boichat
2021-04-21 5:28 ` [PATCH v13 1/4] dt-bindings: gpu: mali-bifrost: Add Mediatek MT8183 Nicolas Boichat
@ 2021-04-21 5:28 ` Nicolas Boichat
2021-05-13 14:51 ` Ezequiel Garcia
2021-04-21 5:28 ` [PATCH v13 4/4] drm/panfrost: Add mt8183-mali compatible string Nicolas Boichat
2021-04-26 9:58 ` [PATCH v13 0/4] drm/panfrost: Add support for mt8183 GPU Neil Armstrong
3 siblings, 1 reply; 13+ messages in thread
From: Nicolas Boichat @ 2021-04-21 5:28 UTC (permalink / raw)
To: Rob Herring, Steven Price, Alyssa Rosenzweig
Cc: fshao, hsinyi, hoegsberg, Tomeu Vizoso, Neil Armstrong,
boris.brezillon, Nicolas Boichat, Matthias Brugger, Rob Herring,
devicetree, linux-arm-kernel, linux-kernel, linux-mediatek
Add a basic GPU node for mt8183.
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
---
The binding we use with out-of-tree Mali drivers includes more
clocks, this is used for devfreq: the out-of-tree driver switches
clk_mux to clk_sub_parent (26Mhz), adjusts clk_main_parent, then
switches clk_mux back to clk_main_parent:
(see https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-4.19/drivers/gpu/arm/midgard/platform/mediatek/mali_kbase_runtime_pm.c#423)
clocks =
<&topckgen CLK_TOP_MFGPLL_CK>,
<&topckgen CLK_TOP_MUX_MFG>,
<&clk26m>,
<&mfgcfg CLK_MFG_BG3D>;
clock-names =
"clk_main_parent",
"clk_mux",
"clk_sub_parent",
"subsys_mfg_cg";
(based on discussions, this probably belongs in the clock core)
This only matters for devfreq, that is disabled anyway as we don't
have platform-specific code to handle >1 supplies.
(no changes since v12)
Changes in v12:
- Add gpu node to mt8183-pumpkin.dts as well (Neil Armstrong).
Changes in v11:
- mt8183*.dts: remove incorrect supply-names
Changes in v6:
- Add gpu regulators to kukui dtsi as well.
- Power domains are now attached to spm, not scpsys
- Drop R-B.
Changes in v5:
- Rename "2d" power domain to "core2" (keep R-B again).
Changes in v4:
- Add power-domain-names to describe the 3 domains.
(kept Alyssa's reviewed-by as the change is minor)
Changes in v2:
- Use sram instead of mali_sram as SRAM supply name.
- Rename mali@ to gpu@.
arch/arm64/boot/dts/mediatek/mt8183-evb.dts | 5 +
.../arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 5 +
.../boot/dts/mediatek/mt8183-pumpkin.dts | 5 +
arch/arm64/boot/dts/mediatek/mt8183.dtsi | 105 ++++++++++++++++++
4 files changed, 120 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8183-evb.dts b/arch/arm64/boot/dts/mediatek/mt8183-evb.dts
index edff1e03e6fe..7bc0a6a7fadf 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183-evb.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8183-evb.dts
@@ -42,6 +42,11 @@ &auxadc {
status = "okay";
};
+&gpu {
+ mali-supply = <&mt6358_vgpu_reg>;
+ sram-supply = <&mt6358_vsram_gpu_reg>;
+};
+
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c_pins_0>;
diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
index ff56bcfa3370..e4e54be1c2b2 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
@@ -279,6 +279,11 @@ dsi_out: endpoint {
};
};
+&gpu {
+ mali-supply = <&mt6358_vgpu_reg>;
+ sram-supply = <&mt6358_vsram_gpu_reg>;
+};
+
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;
diff --git a/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts b/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts
index 0aff5eb52e88..ee912825cfc6 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts
@@ -68,6 +68,11 @@ &auxadc {
status = "okay";
};
+&gpu {
+ mali-supply = <&mt6358_vgpu_reg>;
+ sram-supply = <&mt6358_vsram_gpu_reg>;
+};
+
&i2c0 {
pinctrl-names = "default";
pinctrl-0 = <&i2c_pins_0>;
diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
index c5e822b6b77a..c75fdeea8aa4 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
@@ -1118,6 +1118,111 @@ mfgcfg: syscon@13000000 {
#clock-cells = <1>;
};
+ gpu: gpu@13040000 {
+ compatible = "mediatek,mt8183-mali", "arm,mali-bifrost";
+ reg = <0 0x13040000 0 0x4000>;
+ interrupts =
+ <GIC_SPI 280 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_SPI 279 IRQ_TYPE_LEVEL_LOW>,
+ <GIC_SPI 278 IRQ_TYPE_LEVEL_LOW>;
+ interrupt-names = "job", "mmu", "gpu";
+
+ clocks = <&topckgen CLK_TOP_MFGPLL_CK>;
+
+ power-domains =
+ <&spm MT8183_POWER_DOMAIN_MFG_CORE0>,
+ <&spm MT8183_POWER_DOMAIN_MFG_CORE1>,
+ <&spm MT8183_POWER_DOMAIN_MFG_2D>;
+ power-domain-names = "core0", "core1", "core2";
+
+ operating-points-v2 = <&gpu_opp_table>;
+ };
+
+ gpu_opp_table: opp_table0 {
+ compatible = "operating-points-v2";
+ opp-shared;
+
+ opp-300000000 {
+ opp-hz = /bits/ 64 <300000000>;
+ opp-microvolt = <625000>, <850000>;
+ };
+
+ opp-320000000 {
+ opp-hz = /bits/ 64 <320000000>;
+ opp-microvolt = <631250>, <850000>;
+ };
+
+ opp-340000000 {
+ opp-hz = /bits/ 64 <340000000>;
+ opp-microvolt = <637500>, <850000>;
+ };
+
+ opp-360000000 {
+ opp-hz = /bits/ 64 <360000000>;
+ opp-microvolt = <643750>, <850000>;
+ };
+
+ opp-380000000 {
+ opp-hz = /bits/ 64 <380000000>;
+ opp-microvolt = <650000>, <850000>;
+ };
+
+ opp-400000000 {
+ opp-hz = /bits/ 64 <400000000>;
+ opp-microvolt = <656250>, <850000>;
+ };
+
+ opp-420000000 {
+ opp-hz = /bits/ 64 <420000000>;
+ opp-microvolt = <662500>, <850000>;
+ };
+
+ opp-460000000 {
+ opp-hz = /bits/ 64 <460000000>;
+ opp-microvolt = <675000>, <850000>;
+ };
+
+ opp-500000000 {
+ opp-hz = /bits/ 64 <500000000>;
+ opp-microvolt = <687500>, <850000>;
+ };
+
+ opp-540000000 {
+ opp-hz = /bits/ 64 <540000000>;
+ opp-microvolt = <700000>, <850000>;
+ };
+
+ opp-580000000 {
+ opp-hz = /bits/ 64 <580000000>;
+ opp-microvolt = <712500>, <850000>;
+ };
+
+ opp-620000000 {
+ opp-hz = /bits/ 64 <620000000>;
+ opp-microvolt = <725000>, <850000>;
+ };
+
+ opp-653000000 {
+ opp-hz = /bits/ 64 <653000000>;
+ opp-microvolt = <743750>, <850000>;
+ };
+
+ opp-698000000 {
+ opp-hz = /bits/ 64 <698000000>;
+ opp-microvolt = <768750>, <868750>;
+ };
+
+ opp-743000000 {
+ opp-hz = /bits/ 64 <743000000>;
+ opp-microvolt = <793750>, <893750>;
+ };
+
+ opp-800000000 {
+ opp-hz = /bits/ 64 <800000000>;
+ opp-microvolt = <825000>, <925000>;
+ };
+ };
+
mmsys: syscon@14000000 {
compatible = "mediatek,mt8183-mmsys", "syscon";
reg = <0 0x14000000 0 0x1000>;
--
2.31.1.368.gbe11c130af-goog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v13 2/4] arm64: dts: mt8183: Add node for the Mali GPU
2021-04-21 5:28 ` [PATCH v13 2/4] arm64: dts: mt8183: Add node for the Mali GPU Nicolas Boichat
@ 2021-05-13 14:51 ` Ezequiel Garcia
0 siblings, 0 replies; 13+ messages in thread
From: Ezequiel Garcia @ 2021-05-13 14:51 UTC (permalink / raw)
To: Nicolas Boichat
Cc: Rob Herring, Steven Price, Alyssa Rosenzweig, fshao, hsinyi,
hoegsberg, Tomeu Vizoso, Neil Armstrong, Boris Brezillon,
Matthias Brugger, Rob Herring, devicetree, linux-arm-kernel,
Linux Kernel Mailing List,
moderated list:ARM/Mediatek SoC support
Hi Nicolas,
On Wed, 21 Apr 2021 at 02:29, Nicolas Boichat <drinkcat@chromium.org> wrote:
>
> Add a basic GPU node for mt8183.
>
> Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
> ---
> The binding we use with out-of-tree Mali drivers includes more
> clocks, this is used for devfreq: the out-of-tree driver switches
> clk_mux to clk_sub_parent (26Mhz), adjusts clk_main_parent, then
> switches clk_mux back to clk_main_parent:
> (see https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-4.19/drivers/gpu/arm/midgard/platform/mediatek/mali_kbase_runtime_pm.c#423)
> clocks =
> <&topckgen CLK_TOP_MFGPLL_CK>,
> <&topckgen CLK_TOP_MUX_MFG>,
> <&clk26m>,
> <&mfgcfg CLK_MFG_BG3D>;
> clock-names =
> "clk_main_parent",
> "clk_mux",
> "clk_sub_parent",
> "subsys_mfg_cg";
> (based on discussions, this probably belongs in the clock core)
>
> This only matters for devfreq, that is disabled anyway as we don't
> have platform-specific code to handle >1 supplies.
>
Nit: I think some of this info could be relevant, so I'd make
it part of the commit description.
> (no changes since v12)
>
> Changes in v12:
> - Add gpu node to mt8183-pumpkin.dts as well (Neil Armstrong).
>
> Changes in v11:
> - mt8183*.dts: remove incorrect supply-names
>
> Changes in v6:
> - Add gpu regulators to kukui dtsi as well.
> - Power domains are now attached to spm, not scpsys
> - Drop R-B.
>
> Changes in v5:
> - Rename "2d" power domain to "core2" (keep R-B again).
>
> Changes in v4:
> - Add power-domain-names to describe the 3 domains.
> (kept Alyssa's reviewed-by as the change is minor)
>
> Changes in v2:
> - Use sram instead of mali_sram as SRAM supply name.
> - Rename mali@ to gpu@.
>
> arch/arm64/boot/dts/mediatek/mt8183-evb.dts | 5 +
> .../arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 5 +
> .../boot/dts/mediatek/mt8183-pumpkin.dts | 5 +
> arch/arm64/boot/dts/mediatek/mt8183.dtsi | 105 ++++++++++++++++++
> 4 files changed, 120 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/mediatek/mt8183-evb.dts b/arch/arm64/boot/dts/mediatek/mt8183-evb.dts
> index edff1e03e6fe..7bc0a6a7fadf 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8183-evb.dts
> +++ b/arch/arm64/boot/dts/mediatek/mt8183-evb.dts
> @@ -42,6 +42,11 @@ &auxadc {
> status = "okay";
> };
>
> +&gpu {
> + mali-supply = <&mt6358_vgpu_reg>;
> + sram-supply = <&mt6358_vsram_gpu_reg>;
> +};
> +
> &i2c0 {
> pinctrl-names = "default";
> pinctrl-0 = <&i2c_pins_0>;
> diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
> index ff56bcfa3370..e4e54be1c2b2 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
> @@ -279,6 +279,11 @@ dsi_out: endpoint {
> };
> };
>
> +&gpu {
> + mali-supply = <&mt6358_vgpu_reg>;
> + sram-supply = <&mt6358_vsram_gpu_reg>;
> +};
> +
> &i2c0 {
> pinctrl-names = "default";
> pinctrl-0 = <&i2c0_pins>;
> diff --git a/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts b/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts
> index 0aff5eb52e88..ee912825cfc6 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts
> +++ b/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts
> @@ -68,6 +68,11 @@ &auxadc {
> status = "okay";
> };
>
> +&gpu {
> + mali-supply = <&mt6358_vgpu_reg>;
> + sram-supply = <&mt6358_vsram_gpu_reg>;
> +};
> +
> &i2c0 {
> pinctrl-names = "default";
> pinctrl-0 = <&i2c_pins_0>;
> diff --git a/arch/arm64/boot/dts/mediatek/mt8183.dtsi b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> index c5e822b6b77a..c75fdeea8aa4 100644
> --- a/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> +++ b/arch/arm64/boot/dts/mediatek/mt8183.dtsi
> @@ -1118,6 +1118,111 @@ mfgcfg: syscon@13000000 {
> #clock-cells = <1>;
> };
>
> + gpu: gpu@13040000 {
> + compatible = "mediatek,mt8183-mali", "arm,mali-bifrost";
> + reg = <0 0x13040000 0 0x4000>;
> + interrupts =
> + <GIC_SPI 280 IRQ_TYPE_LEVEL_LOW>,
> + <GIC_SPI 279 IRQ_TYPE_LEVEL_LOW>,
> + <GIC_SPI 278 IRQ_TYPE_LEVEL_LOW>;
> + interrupt-names = "job", "mmu", "gpu";
> +
> + clocks = <&topckgen CLK_TOP_MFGPLL_CK>;
> +
> + power-domains =
> + <&spm MT8183_POWER_DOMAIN_MFG_CORE0>,
> + <&spm MT8183_POWER_DOMAIN_MFG_CORE1>,
> + <&spm MT8183_POWER_DOMAIN_MFG_2D>;
> + power-domain-names = "core0", "core1", "core2";
> +
> + operating-points-v2 = <&gpu_opp_table>;
> + };
> +
> + gpu_opp_table: opp_table0 {
If my eyes don't fool me, the OPP table being here means it's a child
of the "soc" node. Given it's not an SoC peripheral,
it'd make more sense to move it to root "/".
Other than that, I think it looks good:
Reviewed-by: Ezequiel Garcia <ezequiel@collabora.com>
Thanks!
Ezequiel
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH v13 4/4] drm/panfrost: Add mt8183-mali compatible string
2021-04-21 5:28 [PATCH v13 0/4] drm/panfrost: Add support for mt8183 GPU Nicolas Boichat
2021-04-21 5:28 ` [PATCH v13 1/4] dt-bindings: gpu: mali-bifrost: Add Mediatek MT8183 Nicolas Boichat
2021-04-21 5:28 ` [PATCH v13 2/4] arm64: dts: mt8183: Add node for the Mali GPU Nicolas Boichat
@ 2021-04-21 5:28 ` Nicolas Boichat
2021-04-21 13:17 ` Alyssa Rosenzweig
2021-04-26 9:58 ` [PATCH v13 0/4] drm/panfrost: Add support for mt8183 GPU Neil Armstrong
3 siblings, 1 reply; 13+ messages in thread
From: Nicolas Boichat @ 2021-04-21 5:28 UTC (permalink / raw)
To: Rob Herring, Steven Price, Alyssa Rosenzweig
Cc: fshao, hsinyi, hoegsberg, Tomeu Vizoso, Neil Armstrong,
boris.brezillon, Nicolas Boichat, Daniel Vetter, David Airlie,
Matthias Brugger, dri-devel, linux-arm-kernel, linux-kernel,
linux-mediatek
Add support for MT8183's G72 Bifrost.
Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Steven Price <steven.price@arm.com>
---
(no changes since v7)
Changes in v7:
- Fix GPU ID in commit message
Changes in v6:
- Context conflicts, reflow the code.
- Use ARRAY_SIZE for power domains too.
Changes in v5:
- Change power domain name from 2d to core2.
Changes in v4:
- Add power domain names.
Changes in v3:
- Match mt8183-mali instead of bifrost, as we require special
handling for the 2 regulators and 3 power domains.
drivers/gpu/drm/panfrost/panfrost_drv.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/gpu/drm/panfrost/panfrost_drv.c b/drivers/gpu/drm/panfrost/panfrost_drv.c
index 83a461bdeea8..ca07098a6141 100644
--- a/drivers/gpu/drm/panfrost/panfrost_drv.c
+++ b/drivers/gpu/drm/panfrost/panfrost_drv.c
@@ -665,6 +665,15 @@ static const struct panfrost_compatible amlogic_data = {
.vendor_quirk = panfrost_gpu_amlogic_quirk,
};
+const char * const mediatek_mt8183_supplies[] = { "mali", "sram" };
+const char * const mediatek_mt8183_pm_domains[] = { "core0", "core1", "core2" };
+static const struct panfrost_compatible mediatek_mt8183_data = {
+ .num_supplies = ARRAY_SIZE(mediatek_mt8183_supplies),
+ .supply_names = mediatek_mt8183_supplies,
+ .num_pm_domains = ARRAY_SIZE(mediatek_mt8183_pm_domains),
+ .pm_domain_names = mediatek_mt8183_pm_domains,
+};
+
static const struct of_device_id dt_match[] = {
/* Set first to probe before the generic compatibles */
{ .compatible = "amlogic,meson-gxm-mali",
@@ -681,6 +690,7 @@ static const struct of_device_id dt_match[] = {
{ .compatible = "arm,mali-t860", .data = &default_data, },
{ .compatible = "arm,mali-t880", .data = &default_data, },
{ .compatible = "arm,mali-bifrost", .data = &default_data, },
+ { .compatible = "mediatek,mt8183-mali", .data = &mediatek_mt8183_data },
{}
};
MODULE_DEVICE_TABLE(of, dt_match);
--
2.31.1.368.gbe11c130af-goog
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH v13 4/4] drm/panfrost: Add mt8183-mali compatible string
2021-04-21 5:28 ` [PATCH v13 4/4] drm/panfrost: Add mt8183-mali compatible string Nicolas Boichat
@ 2021-04-21 13:17 ` Alyssa Rosenzweig
0 siblings, 0 replies; 13+ messages in thread
From: Alyssa Rosenzweig @ 2021-04-21 13:17 UTC (permalink / raw)
To: Nicolas Boichat
Cc: Rob Herring, Steven Price, Alyssa Rosenzweig, fshao, hsinyi,
hoegsberg, Tomeu Vizoso, Neil Armstrong, boris.brezillon,
Daniel Vetter, David Airlie, Matthias Brugger, dri-devel,
linux-arm-kernel, linux-kernel, linux-mediatek
Not that you need it but this patch is Reviewed-by: Alyssa Rosenzweig
<alyssa.rosenzweig@collabora.com>
On Wed, Apr 21, 2021 at 01:28:55PM +0800, Nicolas Boichat wrote:
> Add support for MT8183's G72 Bifrost.
>
> Signed-off-by: Nicolas Boichat <drinkcat@chromium.org>
> Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
> Reviewed-by: Steven Price <steven.price@arm.com>
> ---
>
> (no changes since v7)
>
> Changes in v7:
> - Fix GPU ID in commit message
>
> Changes in v6:
> - Context conflicts, reflow the code.
> - Use ARRAY_SIZE for power domains too.
>
> Changes in v5:
> - Change power domain name from 2d to core2.
>
> Changes in v4:
> - Add power domain names.
>
> Changes in v3:
> - Match mt8183-mali instead of bifrost, as we require special
> handling for the 2 regulators and 3 power domains.
>
> drivers/gpu/drm/panfrost/panfrost_drv.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/drivers/gpu/drm/panfrost/panfrost_drv.c b/drivers/gpu/drm/panfrost/panfrost_drv.c
> index 83a461bdeea8..ca07098a6141 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_drv.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_drv.c
> @@ -665,6 +665,15 @@ static const struct panfrost_compatible amlogic_data = {
> .vendor_quirk = panfrost_gpu_amlogic_quirk,
> };
>
> +const char * const mediatek_mt8183_supplies[] = { "mali", "sram" };
> +const char * const mediatek_mt8183_pm_domains[] = { "core0", "core1", "core2" };
> +static const struct panfrost_compatible mediatek_mt8183_data = {
> + .num_supplies = ARRAY_SIZE(mediatek_mt8183_supplies),
> + .supply_names = mediatek_mt8183_supplies,
> + .num_pm_domains = ARRAY_SIZE(mediatek_mt8183_pm_domains),
> + .pm_domain_names = mediatek_mt8183_pm_domains,
> +};
> +
> static const struct of_device_id dt_match[] = {
> /* Set first to probe before the generic compatibles */
> { .compatible = "amlogic,meson-gxm-mali",
> @@ -681,6 +690,7 @@ static const struct of_device_id dt_match[] = {
> { .compatible = "arm,mali-t860", .data = &default_data, },
> { .compatible = "arm,mali-t880", .data = &default_data, },
> { .compatible = "arm,mali-bifrost", .data = &default_data, },
> + { .compatible = "mediatek,mt8183-mali", .data = &mediatek_mt8183_data },
> {}
> };
> MODULE_DEVICE_TABLE(of, dt_match);
> --
> 2.31.1.368.gbe11c130af-goog
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v13 0/4] drm/panfrost: Add support for mt8183 GPU
2021-04-21 5:28 [PATCH v13 0/4] drm/panfrost: Add support for mt8183 GPU Nicolas Boichat
` (2 preceding siblings ...)
2021-04-21 5:28 ` [PATCH v13 4/4] drm/panfrost: Add mt8183-mali compatible string Nicolas Boichat
@ 2021-04-26 9:58 ` Neil Armstrong
2021-05-13 14:55 ` Ezequiel Garcia
3 siblings, 1 reply; 13+ messages in thread
From: Neil Armstrong @ 2021-04-26 9:58 UTC (permalink / raw)
To: Nicolas Boichat, Rob Herring, Steven Price, Alyssa Rosenzweig
Cc: fshao, hsinyi, hoegsberg, Tomeu Vizoso, boris.brezillon,
Daniel Vetter, David Airlie, Matthias Brugger, Rob Herring,
devicetree, dri-devel, linux-arm-kernel, linux-kernel,
linux-mediatek
Hi,
On 21/04/2021 07:28, Nicolas Boichat wrote:
> Hi!
>
> This is just a rebase of the v11, untested (but it seems like
> Neil Armstrong recently tested it), with small changes in
> binding and dts. v11 cover follows:
>
> Follow-up on the v5 [1], things have gotten significantly
> better in the last year, thanks to the efforts on Bifrost
> support by the Collabora team (and probably others I'm not
> aware of).
>
> I've been testing this series on a MT8183/kukui device, with a
> chromeos-5.10 kernel [2], and got basic Chromium OS UI up with
> mesa 20.3.2 (lots of artifacts though).
>
> devfreq is currently not supported, as we'll need:
> - Clock core support for switching the GPU core clock (see 2/4).
> - Platform-specific handling of the 2-regulator (see 3/4).
>
> Since the latter is easy to detect, patch 3/4 just disables
> devfreq if the more than one regulator is specified in the
> compatible matching table.
>
> [1] https://patchwork.kernel.org/project/linux-mediatek/cover/20200306041345.259332-1-drinkcat@chromium.org/
> [2] https://crrev.com/c/2608070
>
> Changes in v13:
> - devfreq: Fix conflict resolution mistake when rebasing, didn't
> even compile. Oops.
>
> Changes in v12:
> - binding: Fix min/maxItems logic (Rob Herring)
> - Add gpu node to mt8183-pumpkin.dts as well (Neil Armstrong).
>
> Changes in v11:
> - binding: power-domain-names not power-domainS-names
> - mt8183*.dts: remove incorrect supply-names
>
> Changes in v10:
> - Fix the binding to make sure sram-supply property can be provided.
>
> Changes in v9:
> - Explain why devfreq needs to be disabled for GPUs with >1
> regulators.
>
> Changes in v8:
> - Use DRM_DEV_INFO instead of ERROR
>
> Changes in v7:
> - Fix GPU ID in commit message
> - Fix GPU ID in commit message
>
> Changes in v6:
> - Rebased, actually tested with recent mesa driver.
> - Add gpu regulators to kukui dtsi as well.
> - Power domains are now attached to spm, not scpsys
> - Drop R-B.
> - devfreq: New change
> - Context conflicts, reflow the code.
> - Use ARRAY_SIZE for power domains too.
>
> Changes in v5:
> - Rename "2d" power domain to "core2"
> - Rename "2d" power domain to "core2" (keep R-B again).
> - Change power domain name from 2d to core2.
>
> Changes in v4:
> - Add power-domain-names description
> (kept Alyssa's reviewed-by as the change is minor)
> - Add power-domain-names to describe the 3 domains.
> (kept Alyssa's reviewed-by as the change is minor)
> - Add power domain names.
>
> Changes in v3:
> - Match mt8183-mali instead of bifrost, as we require special
> handling for the 2 regulators and 3 power domains.
>
> Changes in v2:
> - Use sram instead of mali_sram as SRAM supply name.
> - Rename mali@ to gpu@.
>
> Nicolas Boichat (4):
> dt-bindings: gpu: mali-bifrost: Add Mediatek MT8183
> arm64: dts: mt8183: Add node for the Mali GPU
> drm/panfrost: devfreq: Disable devfreq when num_supplies > 1
> drm/panfrost: Add mt8183-mali compatible string
>
> .../bindings/gpu/arm,mali-bifrost.yaml | 30 ++++-
> arch/arm64/boot/dts/mediatek/mt8183-evb.dts | 5 +
> .../arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 5 +
> .../boot/dts/mediatek/mt8183-pumpkin.dts | 5 +
> arch/arm64/boot/dts/mediatek/mt8183.dtsi | 105 ++++++++++++++++++
> drivers/gpu/drm/panfrost/panfrost_devfreq.c | 9 ++
> drivers/gpu/drm/panfrost/panfrost_drv.c | 10 ++
> 7 files changed, 168 insertions(+), 1 deletion(-)
>
Seems this version is ready to be applied if we get a review on the DT ?
Mathias ? could you have a look ?
Neil
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v13 0/4] drm/panfrost: Add support for mt8183 GPU
2021-04-26 9:58 ` [PATCH v13 0/4] drm/panfrost: Add support for mt8183 GPU Neil Armstrong
@ 2021-05-13 14:55 ` Ezequiel Garcia
2021-05-14 14:48 ` Neil Armstrong
0 siblings, 1 reply; 13+ messages in thread
From: Ezequiel Garcia @ 2021-05-13 14:55 UTC (permalink / raw)
To: Neil Armstrong
Cc: Nicolas Boichat, Rob Herring, Steven Price, Alyssa Rosenzweig,
devicetree, Tomeu Vizoso, fshao, David Airlie,
Linux Kernel Mailing List, Rob Herring, Boris Brezillon,
moderated list:ARM/Mediatek SoC support, dri-devel, hsinyi,
Matthias Brugger, hoegsberg, linux-arm-kernel
Hi Neil,
On Mon, 26 Apr 2021 at 06:59, Neil Armstrong <narmstrong@baylibre.com> wrote:
>
> Hi,
>
> On 21/04/2021 07:28, Nicolas Boichat wrote:
> > Hi!
> >
> > This is just a rebase of the v11, untested (but it seems like
> > Neil Armstrong recently tested it), with small changes in
> > binding and dts. v11 cover follows:
> >
> > Follow-up on the v5 [1], things have gotten significantly
> > better in the last year, thanks to the efforts on Bifrost
> > support by the Collabora team (and probably others I'm not
> > aware of).
> >
> > I've been testing this series on a MT8183/kukui device, with a
> > chromeos-5.10 kernel [2], and got basic Chromium OS UI up with
> > mesa 20.3.2 (lots of artifacts though).
> >
> > devfreq is currently not supported, as we'll need:
> > - Clock core support for switching the GPU core clock (see 2/4).
> > - Platform-specific handling of the 2-regulator (see 3/4).
> >
> > Since the latter is easy to detect, patch 3/4 just disables
> > devfreq if the more than one regulator is specified in the
> > compatible matching table.
> >
> > [1] https://patchwork.kernel.org/project/linux-mediatek/cover/20200306041345.259332-1-drinkcat@chromium.org/
> > [2] https://crrev.com/c/2608070
> >
> > Changes in v13:
> > - devfreq: Fix conflict resolution mistake when rebasing, didn't
> > even compile. Oops.
> >
> > Changes in v12:
> > - binding: Fix min/maxItems logic (Rob Herring)
> > - Add gpu node to mt8183-pumpkin.dts as well (Neil Armstrong).
> >
> > Changes in v11:
> > - binding: power-domain-names not power-domainS-names
> > - mt8183*.dts: remove incorrect supply-names
> >
> > Changes in v10:
> > - Fix the binding to make sure sram-supply property can be provided.
> >
> > Changes in v9:
> > - Explain why devfreq needs to be disabled for GPUs with >1
> > regulators.
> >
> > Changes in v8:
> > - Use DRM_DEV_INFO instead of ERROR
> >
> > Changes in v7:
> > - Fix GPU ID in commit message
> > - Fix GPU ID in commit message
> >
> > Changes in v6:
> > - Rebased, actually tested with recent mesa driver.
> > - Add gpu regulators to kukui dtsi as well.
> > - Power domains are now attached to spm, not scpsys
> > - Drop R-B.
> > - devfreq: New change
> > - Context conflicts, reflow the code.
> > - Use ARRAY_SIZE for power domains too.
> >
> > Changes in v5:
> > - Rename "2d" power domain to "core2"
> > - Rename "2d" power domain to "core2" (keep R-B again).
> > - Change power domain name from 2d to core2.
> >
> > Changes in v4:
> > - Add power-domain-names description
> > (kept Alyssa's reviewed-by as the change is minor)
> > - Add power-domain-names to describe the 3 domains.
> > (kept Alyssa's reviewed-by as the change is minor)
> > - Add power domain names.
> >
> > Changes in v3:
> > - Match mt8183-mali instead of bifrost, as we require special
> > handling for the 2 regulators and 3 power domains.
> >
> > Changes in v2:
> > - Use sram instead of mali_sram as SRAM supply name.
> > - Rename mali@ to gpu@.
> >
> > Nicolas Boichat (4):
> > dt-bindings: gpu: mali-bifrost: Add Mediatek MT8183
> > arm64: dts: mt8183: Add node for the Mali GPU
> > drm/panfrost: devfreq: Disable devfreq when num_supplies > 1
> > drm/panfrost: Add mt8183-mali compatible string
> >
> > .../bindings/gpu/arm,mali-bifrost.yaml | 30 ++++-
> > arch/arm64/boot/dts/mediatek/mt8183-evb.dts | 5 +
> > .../arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 5 +
> > .../boot/dts/mediatek/mt8183-pumpkin.dts | 5 +
> > arch/arm64/boot/dts/mediatek/mt8183.dtsi | 105 ++++++++++++++++++
> > drivers/gpu/drm/panfrost/panfrost_devfreq.c | 9 ++
> > drivers/gpu/drm/panfrost/panfrost_drv.c | 10 ++
> > 7 files changed, 168 insertions(+), 1 deletion(-)
> >
>
> Seems this version is ready to be applied if we get a review on the DT ?
>
> Mathias ? could you have a look ?
>
Given Rob has Acked the DT bindings, I think it's OK to apply patches
1, 3 and 4 via drm-misc, letting Mediatek people sort out the DT changes.
My two unsolicited cents :-)
Ezequiel
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v13 0/4] drm/panfrost: Add support for mt8183 GPU
2021-05-13 14:55 ` Ezequiel Garcia
@ 2021-05-14 14:48 ` Neil Armstrong
2021-05-14 15:27 ` Steven Price
0 siblings, 1 reply; 13+ messages in thread
From: Neil Armstrong @ 2021-05-14 14:48 UTC (permalink / raw)
To: Ezequiel Garcia
Cc: Nicolas Boichat, Rob Herring, Steven Price, Alyssa Rosenzweig,
devicetree, Tomeu Vizoso, fshao, David Airlie,
Linux Kernel Mailing List, Rob Herring, Boris Brezillon,
moderated list:ARM/Mediatek SoC support, dri-devel, hsinyi,
Matthias Brugger, hoegsberg, linux-arm-kernel
On 13/05/2021 16:55, Ezequiel Garcia wrote:
> Hi Neil,
>
> On Mon, 26 Apr 2021 at 06:59, Neil Armstrong <narmstrong@baylibre.com> wrote:
>>
>> Hi,
>>
>> On 21/04/2021 07:28, Nicolas Boichat wrote:
>>> Hi!
>>>
>>> This is just a rebase of the v11, untested (but it seems like
>>> Neil Armstrong recently tested it), with small changes in
>>> binding and dts. v11 cover follows:
>>>
>>> Follow-up on the v5 [1], things have gotten significantly
>>> better in the last year, thanks to the efforts on Bifrost
>>> support by the Collabora team (and probably others I'm not
>>> aware of).
>>>
>>> I've been testing this series on a MT8183/kukui device, with a
>>> chromeos-5.10 kernel [2], and got basic Chromium OS UI up with
>>> mesa 20.3.2 (lots of artifacts though).
>>>
>>> devfreq is currently not supported, as we'll need:
>>> - Clock core support for switching the GPU core clock (see 2/4).
>>> - Platform-specific handling of the 2-regulator (see 3/4).
>>>
>>> Since the latter is easy to detect, patch 3/4 just disables
>>> devfreq if the more than one regulator is specified in the
>>> compatible matching table.
>>>
>>> [1] https://patchwork.kernel.org/project/linux-mediatek/cover/20200306041345.259332-1-drinkcat@chromium.org/
>>> [2] https://crrev.com/c/2608070
>>>
>>> Changes in v13:
>>> - devfreq: Fix conflict resolution mistake when rebasing, didn't
>>> even compile. Oops.
>>>
>>> Changes in v12:
>>> - binding: Fix min/maxItems logic (Rob Herring)
>>> - Add gpu node to mt8183-pumpkin.dts as well (Neil Armstrong).
>>>
>>> Changes in v11:
>>> - binding: power-domain-names not power-domainS-names
>>> - mt8183*.dts: remove incorrect supply-names
>>>
>>> Changes in v10:
>>> - Fix the binding to make sure sram-supply property can be provided.
>>>
>>> Changes in v9:
>>> - Explain why devfreq needs to be disabled for GPUs with >1
>>> regulators.
>>>
>>> Changes in v8:
>>> - Use DRM_DEV_INFO instead of ERROR
>>>
>>> Changes in v7:
>>> - Fix GPU ID in commit message
>>> - Fix GPU ID in commit message
>>>
>>> Changes in v6:
>>> - Rebased, actually tested with recent mesa driver.
>>> - Add gpu regulators to kukui dtsi as well.
>>> - Power domains are now attached to spm, not scpsys
>>> - Drop R-B.
>>> - devfreq: New change
>>> - Context conflicts, reflow the code.
>>> - Use ARRAY_SIZE for power domains too.
>>>
>>> Changes in v5:
>>> - Rename "2d" power domain to "core2"
>>> - Rename "2d" power domain to "core2" (keep R-B again).
>>> - Change power domain name from 2d to core2.
>>>
>>> Changes in v4:
>>> - Add power-domain-names description
>>> (kept Alyssa's reviewed-by as the change is minor)
>>> - Add power-domain-names to describe the 3 domains.
>>> (kept Alyssa's reviewed-by as the change is minor)
>>> - Add power domain names.
>>>
>>> Changes in v3:
>>> - Match mt8183-mali instead of bifrost, as we require special
>>> handling for the 2 regulators and 3 power domains.
>>>
>>> Changes in v2:
>>> - Use sram instead of mali_sram as SRAM supply name.
>>> - Rename mali@ to gpu@.
>>>
>>> Nicolas Boichat (4):
>>> dt-bindings: gpu: mali-bifrost: Add Mediatek MT8183
>>> arm64: dts: mt8183: Add node for the Mali GPU
>>> drm/panfrost: devfreq: Disable devfreq when num_supplies > 1
>>> drm/panfrost: Add mt8183-mali compatible string
>>>
>>> .../bindings/gpu/arm,mali-bifrost.yaml | 30 ++++-
>>> arch/arm64/boot/dts/mediatek/mt8183-evb.dts | 5 +
>>> .../arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 5 +
>>> .../boot/dts/mediatek/mt8183-pumpkin.dts | 5 +
>>> arch/arm64/boot/dts/mediatek/mt8183.dtsi | 105 ++++++++++++++++++
>>> drivers/gpu/drm/panfrost/panfrost_devfreq.c | 9 ++
>>> drivers/gpu/drm/panfrost/panfrost_drv.c | 10 ++
>>> 7 files changed, 168 insertions(+), 1 deletion(-)
>>>
>>
>> Seems this version is ready to be applied if we get a review on the DT ?
>>
>> Mathias ? could you have a look ?
>>
>
> Given Rob has Acked the DT bindings, I think it's OK to apply patches
> 1, 3 and 4 via drm-misc, letting Mediatek people sort out the DT changes.
>
> My two unsolicited cents :-)
Yeah sure, is there a panfrost maintainer in the room ? I can apply them if you ack me.
Neil
>
> Ezequiel
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v13 0/4] drm/panfrost: Add support for mt8183 GPU
2021-05-14 14:48 ` Neil Armstrong
@ 2021-05-14 15:27 ` Steven Price
2021-05-15 1:29 ` Nicolas Boichat
2021-05-17 10:24 ` Neil Armstrong
0 siblings, 2 replies; 13+ messages in thread
From: Steven Price @ 2021-05-14 15:27 UTC (permalink / raw)
To: Neil Armstrong, Ezequiel Garcia
Cc: Nicolas Boichat, Rob Herring, Alyssa Rosenzweig, devicetree,
Tomeu Vizoso, fshao, David Airlie, Linux Kernel Mailing List,
Rob Herring, Boris Brezillon,
moderated list:ARM/Mediatek SoC support, dri-devel, hsinyi,
Matthias Brugger, hoegsberg, linux-arm-kernel
On 14/05/2021 15:48, Neil Armstrong wrote:
> On 13/05/2021 16:55, Ezequiel Garcia wrote:
>> Hi Neil,
>>
>> On Mon, 26 Apr 2021 at 06:59, Neil Armstrong <narmstrong@baylibre.com> wrote:
>>>
>>> Hi,
>>>
>>> On 21/04/2021 07:28, Nicolas Boichat wrote:
>>>> Hi!
>>>>
>>>> This is just a rebase of the v11, untested (but it seems like
>>>> Neil Armstrong recently tested it), with small changes in
>>>> binding and dts. v11 cover follows:
>>>>
>>>> Follow-up on the v5 [1], things have gotten significantly
>>>> better in the last year, thanks to the efforts on Bifrost
>>>> support by the Collabora team (and probably others I'm not
>>>> aware of).
>>>>
>>>> I've been testing this series on a MT8183/kukui device, with a
>>>> chromeos-5.10 kernel [2], and got basic Chromium OS UI up with
>>>> mesa 20.3.2 (lots of artifacts though).
>>>>
>>>> devfreq is currently not supported, as we'll need:
>>>> - Clock core support for switching the GPU core clock (see 2/4).
>>>> - Platform-specific handling of the 2-regulator (see 3/4).
>>>>
>>>> Since the latter is easy to detect, patch 3/4 just disables
>>>> devfreq if the more than one regulator is specified in the
>>>> compatible matching table.
>>>>
>>>> [1] https://patchwork.kernel.org/project/linux-mediatek/cover/20200306041345.259332-1-drinkcat@chromium.org/
>>>> [2] https://crrev.com/c/2608070
>>>>
>>>> Changes in v13:
>>>> - devfreq: Fix conflict resolution mistake when rebasing, didn't
>>>> even compile. Oops.
>>>>
>>>> Changes in v12:
>>>> - binding: Fix min/maxItems logic (Rob Herring)
>>>> - Add gpu node to mt8183-pumpkin.dts as well (Neil Armstrong).
>>>>
>>>> Changes in v11:
>>>> - binding: power-domain-names not power-domainS-names
>>>> - mt8183*.dts: remove incorrect supply-names
>>>>
>>>> Changes in v10:
>>>> - Fix the binding to make sure sram-supply property can be provided.
>>>>
>>>> Changes in v9:
>>>> - Explain why devfreq needs to be disabled for GPUs with >1
>>>> regulators.
>>>>
>>>> Changes in v8:
>>>> - Use DRM_DEV_INFO instead of ERROR
>>>>
>>>> Changes in v7:
>>>> - Fix GPU ID in commit message
>>>> - Fix GPU ID in commit message
>>>>
>>>> Changes in v6:
>>>> - Rebased, actually tested with recent mesa driver.
>>>> - Add gpu regulators to kukui dtsi as well.
>>>> - Power domains are now attached to spm, not scpsys
>>>> - Drop R-B.
>>>> - devfreq: New change
>>>> - Context conflicts, reflow the code.
>>>> - Use ARRAY_SIZE for power domains too.
>>>>
>>>> Changes in v5:
>>>> - Rename "2d" power domain to "core2"
>>>> - Rename "2d" power domain to "core2" (keep R-B again).
>>>> - Change power domain name from 2d to core2.
>>>>
>>>> Changes in v4:
>>>> - Add power-domain-names description
>>>> (kept Alyssa's reviewed-by as the change is minor)
>>>> - Add power-domain-names to describe the 3 domains.
>>>> (kept Alyssa's reviewed-by as the change is minor)
>>>> - Add power domain names.
>>>>
>>>> Changes in v3:
>>>> - Match mt8183-mali instead of bifrost, as we require special
>>>> handling for the 2 regulators and 3 power domains.
>>>>
>>>> Changes in v2:
>>>> - Use sram instead of mali_sram as SRAM supply name.
>>>> - Rename mali@ to gpu@.
>>>>
>>>> Nicolas Boichat (4):
>>>> dt-bindings: gpu: mali-bifrost: Add Mediatek MT8183
>>>> arm64: dts: mt8183: Add node for the Mali GPU
>>>> drm/panfrost: devfreq: Disable devfreq when num_supplies > 1
>>>> drm/panfrost: Add mt8183-mali compatible string
>>>>
>>>> .../bindings/gpu/arm,mali-bifrost.yaml | 30 ++++-
>>>> arch/arm64/boot/dts/mediatek/mt8183-evb.dts | 5 +
>>>> .../arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 5 +
>>>> .../boot/dts/mediatek/mt8183-pumpkin.dts | 5 +
>>>> arch/arm64/boot/dts/mediatek/mt8183.dtsi | 105 ++++++++++++++++++
>>>> drivers/gpu/drm/panfrost/panfrost_devfreq.c | 9 ++
>>>> drivers/gpu/drm/panfrost/panfrost_drv.c | 10 ++
>>>> 7 files changed, 168 insertions(+), 1 deletion(-)
>>>>
>>>
>>> Seems this version is ready to be applied if we get a review on the DT ?
>>>
>>> Mathias ? could you have a look ?
>>>
>>
>> Given Rob has Acked the DT bindings, I think it's OK to apply patches
>> 1, 3 and 4 via drm-misc, letting Mediatek people sort out the DT changes.
>>
>> My two unsolicited cents :-)
You make a convincing point - and if everyone is happy for the DT
changes to be handled separately I don't see a reason for the other
patches to be held up.
> Yeah sure, is there a panfrost maintainer in the room ? I can apply them if you ack me.
I seem to be applying most Panfrost changes these days, so I'll save you
the effort and push 1,3,4 to drm-misc-next.
Thanks,
Steve
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v13 0/4] drm/panfrost: Add support for mt8183 GPU
2021-05-14 15:27 ` Steven Price
@ 2021-05-15 1:29 ` Nicolas Boichat
2021-05-17 10:24 ` Neil Armstrong
1 sibling, 0 replies; 13+ messages in thread
From: Nicolas Boichat @ 2021-05-15 1:29 UTC (permalink / raw)
To: Steven Price
Cc: Neil Armstrong, Ezequiel Garcia, Rob Herring, Alyssa Rosenzweig,
devicetree, Tomeu Vizoso, Fei Shao, David Airlie,
Linux Kernel Mailing List, Rob Herring, Boris Brezillon,
moderated list:ARM/Mediatek SoC support, dri-devel, Hsin-Yi Wang,
Matthias Brugger, Kristian Kristensen, linux-arm-kernel
On Fri, May 14, 2021 at 11:27 PM Steven Price <steven.price@arm.com> wrote:
> [snip]
> >>> Seems this version is ready to be applied if we get a review on the DT ?
> >>>
> >>> Mathias ? could you have a look ?
> >>>
> >>
> >> Given Rob has Acked the DT bindings, I think it's OK to apply patches
> >> 1, 3 and 4 via drm-misc, letting Mediatek people sort out the DT changes.
> >>
> >> My two unsolicited cents :-)
>
> You make a convincing point - and if everyone is happy for the DT
> changes to be handled separately I don't see a reason for the other
> patches to be held up.
>
> > Yeah sure, is there a panfrost maintainer in the room ? I can apply them if you ack me.
>
> I seem to be applying most Panfrost changes these days, so I'll save you
> the effort and push 1,3,4 to drm-misc-next.
Thanks Steve!!
>
> Thanks,
>
> Steve
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH v13 0/4] drm/panfrost: Add support for mt8183 GPU
2021-05-14 15:27 ` Steven Price
2021-05-15 1:29 ` Nicolas Boichat
@ 2021-05-17 10:24 ` Neil Armstrong
1 sibling, 0 replies; 13+ messages in thread
From: Neil Armstrong @ 2021-05-17 10:24 UTC (permalink / raw)
To: Steven Price, Ezequiel Garcia
Cc: Nicolas Boichat, Rob Herring, Alyssa Rosenzweig, devicetree,
Tomeu Vizoso, fshao, David Airlie, Linux Kernel Mailing List,
Rob Herring, Boris Brezillon,
moderated list:ARM/Mediatek SoC support, dri-devel, hsinyi,
Matthias Brugger, hoegsberg, linux-arm-kernel
On 14/05/2021 17:27, Steven Price wrote:
> On 14/05/2021 15:48, Neil Armstrong wrote:
>> On 13/05/2021 16:55, Ezequiel Garcia wrote:
>>> Hi Neil,
>>>
>>> On Mon, 26 Apr 2021 at 06:59, Neil Armstrong <narmstrong@baylibre.com> wrote:
>>>>
>>>> Hi,
>>>>
>>>> On 21/04/2021 07:28, Nicolas Boichat wrote:
>>>>> Hi!
>>>>>
>>>>> This is just a rebase of the v11, untested (but it seems like
>>>>> Neil Armstrong recently tested it), with small changes in
>>>>> binding and dts. v11 cover follows:
>>>>>
>>>>> Follow-up on the v5 [1], things have gotten significantly
>>>>> better in the last year, thanks to the efforts on Bifrost
>>>>> support by the Collabora team (and probably others I'm not
>>>>> aware of).
>>>>>
>>>>> I've been testing this series on a MT8183/kukui device, with a
>>>>> chromeos-5.10 kernel [2], and got basic Chromium OS UI up with
>>>>> mesa 20.3.2 (lots of artifacts though).
>>>>>
>>>>> devfreq is currently not supported, as we'll need:
>>>>> - Clock core support for switching the GPU core clock (see 2/4).
>>>>> - Platform-specific handling of the 2-regulator (see 3/4).
>>>>>
>>>>> Since the latter is easy to detect, patch 3/4 just disables
>>>>> devfreq if the more than one regulator is specified in the
>>>>> compatible matching table.
>>>>>
>>>>> [1] https://patchwork.kernel.org/project/linux-mediatek/cover/20200306041345.259332-1-drinkcat@chromium.org/
>>>>> [2] https://crrev.com/c/2608070
>>>>>
>>>>> Changes in v13:
>>>>> - devfreq: Fix conflict resolution mistake when rebasing, didn't
>>>>> even compile. Oops.
>>>>>
>>>>> Changes in v12:
>>>>> - binding: Fix min/maxItems logic (Rob Herring)
>>>>> - Add gpu node to mt8183-pumpkin.dts as well (Neil Armstrong).
>>>>>
>>>>> Changes in v11:
>>>>> - binding: power-domain-names not power-domainS-names
>>>>> - mt8183*.dts: remove incorrect supply-names
>>>>>
>>>>> Changes in v10:
>>>>> - Fix the binding to make sure sram-supply property can be provided.
>>>>>
>>>>> Changes in v9:
>>>>> - Explain why devfreq needs to be disabled for GPUs with >1
>>>>> regulators.
>>>>>
>>>>> Changes in v8:
>>>>> - Use DRM_DEV_INFO instead of ERROR
>>>>>
>>>>> Changes in v7:
>>>>> - Fix GPU ID in commit message
>>>>> - Fix GPU ID in commit message
>>>>>
>>>>> Changes in v6:
>>>>> - Rebased, actually tested with recent mesa driver.
>>>>> - Add gpu regulators to kukui dtsi as well.
>>>>> - Power domains are now attached to spm, not scpsys
>>>>> - Drop R-B.
>>>>> - devfreq: New change
>>>>> - Context conflicts, reflow the code.
>>>>> - Use ARRAY_SIZE for power domains too.
>>>>>
>>>>> Changes in v5:
>>>>> - Rename "2d" power domain to "core2"
>>>>> - Rename "2d" power domain to "core2" (keep R-B again).
>>>>> - Change power domain name from 2d to core2.
>>>>>
>>>>> Changes in v4:
>>>>> - Add power-domain-names description
>>>>> (kept Alyssa's reviewed-by as the change is minor)
>>>>> - Add power-domain-names to describe the 3 domains.
>>>>> (kept Alyssa's reviewed-by as the change is minor)
>>>>> - Add power domain names.
>>>>>
>>>>> Changes in v3:
>>>>> - Match mt8183-mali instead of bifrost, as we require special
>>>>> handling for the 2 regulators and 3 power domains.
>>>>>
>>>>> Changes in v2:
>>>>> - Use sram instead of mali_sram as SRAM supply name.
>>>>> - Rename mali@ to gpu@.
>>>>>
>>>>> Nicolas Boichat (4):
>>>>> dt-bindings: gpu: mali-bifrost: Add Mediatek MT8183
>>>>> arm64: dts: mt8183: Add node for the Mali GPU
>>>>> drm/panfrost: devfreq: Disable devfreq when num_supplies > 1
>>>>> drm/panfrost: Add mt8183-mali compatible string
>>>>>
>>>>> .../bindings/gpu/arm,mali-bifrost.yaml | 30 ++++-
>>>>> arch/arm64/boot/dts/mediatek/mt8183-evb.dts | 5 +
>>>>> .../arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 5 +
>>>>> .../boot/dts/mediatek/mt8183-pumpkin.dts | 5 +
>>>>> arch/arm64/boot/dts/mediatek/mt8183.dtsi | 105 ++++++++++++++++++
>>>>> drivers/gpu/drm/panfrost/panfrost_devfreq.c | 9 ++
>>>>> drivers/gpu/drm/panfrost/panfrost_drv.c | 10 ++
>>>>> 7 files changed, 168 insertions(+), 1 deletion(-)
>>>>>
>>>>
>>>> Seems this version is ready to be applied if we get a review on the DT ?
>>>>
>>>> Mathias ? could you have a look ?
>>>>
>>>
>>> Given Rob has Acked the DT bindings, I think it's OK to apply patches
>>> 1, 3 and 4 via drm-misc, letting Mediatek people sort out the DT changes.
>>>
>>> My two unsolicited cents :-)
>
> You make a convincing point - and if everyone is happy for the DT
> changes to be handled separately I don't see a reason for the other
> patches to be held up.
>
>> Yeah sure, is there a panfrost maintainer in the room ? I can apply them if you ack me.
>
> I seem to be applying most Panfrost changes these days, so I'll save you
> the effort and push 1,3,4 to drm-misc-next.
Thanks !
Neil
>
> Thanks,
>
> Steve
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 13+ messages in thread