Re: [PATCH v10 0/4] drm/panfrost: Add support for mt8183 GPU

From: Tomeu Vizoso
Date: Wed Jan 13 2021 - 02:18:49 EST


On 1/13/21 7:06 AM, Nicolas Boichat wrote:
Hi!

Follow-up on the v5 [1], things have gotten significantly
better in the last 9 months, 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).

Btw, don't know if you plan to retest with a newer Mesa, but a recent master should have pretty good ES 3.0 compliance on the Duet.

Cheers,

Tomeu

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@xxxxxxxxxxxx/
[2] https://crrev.com/c/2608070

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.

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 | 28 +++++
arch/arm64/boot/dts/mediatek/mt8183-evb.dts | 6 +
.../arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 6 +
arch/arm64/boot/dts/mediatek/mt8183.dtsi | 105 ++++++++++++++++++
drivers/gpu/drm/panfrost/panfrost_devfreq.c | 9 ++
drivers/gpu/drm/panfrost/panfrost_drv.c | 10 ++
6 files changed, 164 insertions(+)