On Wed, Jan 8, 2020 at 9:23 PM Mark Brown <broonie@xxxxxxxxxx> wrote: > > On Wed, Jan 08, 2020 at 01:23:34PM +0800, Nicolas Boichat wrote: > > > Some GPUs, namely, the bifrost/g72 part on MT8183, have a second > > regulator for their SRAM, let's add support for that. > > > + pfdev->regulator_sram = devm_regulator_get_optional(pfdev->dev, "sram"); > > + if (IS_ERR(pfdev->regulator_sram)) { > > This supply is required for the devices that need it so I'd therefore > expect the driver to request the supply non-optionally based on the > compatible string rather than just hoping that a missing regulator isn't > important. That'd be a bit awkward to match, though... Currently all bifrost share the same compatible "arm,mali-bifrost", and it'd seem weird/wrong to match "mediatek,mt8183-mali" in this driver? I have no idea if any other Mali implementation will require a second regulator, but with the MT8183 we do need it, see below. > Though I do have to wonder given the lack of any active > management of the supply if this is *really* part of the GPU or if it's > more of a SoC thing, it's not clear what exactly adding this code is > achieving. Well if devfreq was working (see patch 7 https://patchwork.kernel.org/patch/11322851/ for a partial implementation), it would adjust both mali and sram regulators, see the OPP table in patch 2 (https://patchwork.kernel.org/patch/11322825/): SRAM voltage needs to be increased for frequencies >=698Mhz. Now if you have some better idea how to implement this, I'm all ears! Thanks.