From: Brian Masney <redacted>
Add support for the a3xx GPU
Signed-off-by: Brian Masney <redacted>
Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
Tested-by: Alexey Minnekhanov <redacted>
Reviewed-by: Brian Masney <redacted>
---
Changes in v2:
- base set to next-20210122
- add tags from v1 replies
- add Signed-off-by: me on first three patches
- add commit message to 2nd patch
v1: https://lkml.org/lkml/2020/12/30/322
arch/arm/boot/dts/qcom-msm8974.dtsi | 45 +++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
s1 and l12 regulators are used for the memory and cache on the Samsung
S5 (klte). If they are turned off the phone shuts down. So mark them as
always-on to prevent that from happening.
Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
Tested-by: Alexey Minnekhanov <redacted>
---
arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts | 2 ++
1 file changed, 2 insertions(+)
From: Konrad Dybcio <hidden> Date: 2021-01-24 15:15:36
On 24.01.2021 14:56, Iskren Chernev wrote:
quoted hunk
s1 and l12 regulators are used for the memory and cache on the Samsung
S5 (klte). If they are turned off the phone shuts down. So mark them as
always-on to prevent that from happening.
Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
Tested-by: Alexey Minnekhanov <redacted>
---
arch/arm/boot/dts/qcom-msm8974-samsung-klte.dts | 2 ++
1 file changed, 2 insertions(+)
From: Samuel Pascua <redacted>
Add initial support for the display found on the Samsung Galaxy 5 (klte)
phone. This is based on work from Jonathan Marek & Brian Masney.
Signed-off-by: Samuel Pascua <redacted>
Signed-off-by: Iskren Chernev <iskren.chernev@gmail.com>
---
.../boot/dts/qcom-msm8974-samsung-klte.dts | 58 +++++++++++++++++++
1 file changed, 58 insertions(+)
Please use &label here. If there's none, add them in msm8974.dtsi.
All msm8974 dts(i) files use this style. Deviating from it for this doesn't
make sense. And yes msm8974 should probably be converted to the newer label
style (as was done with msm8916 a while ago).
From: Konrad Dybcio <hidden> Date: 2021-01-24 17:34:22
All msm8974 dts(i) files use this style. Deviating from it for this doesn't
make sense. And yes msm8974 should probably be converted to the newer label
style (as was done with msm8916 a while ago).
I have a >3k lines commit fixing that. Adding more code that strays from the new style doesn't really help.
Konrad
On Sun 24 Jan 11:33 CST 2021, Konrad Dybcio wrote:
quoted
All msm8974 dts(i) files use this style. Deviating from it for this doesn't
make sense. And yes msm8974 should probably be converted to the newer label
style (as was done with msm8916 a while ago).
I have a >3k lines commit fixing that. Adding more code that strays
from the new style doesn't really help.
I know how bad it is, so I understand your desire to not have to rebase
that, but I will merge things as they become ready on the list.
So please post your change (perhaps it's posted and I'm failing to find
it in my inbox?) and I'd be happy to merge it so we get it cleaned up!
Thanks,
Bjorn
From: Konrad Dybcio <hidden> Date: 2021-01-26 07:36:01
I know how bad it is, so I understand your desire to not have to rebase
that, but I will merge things as they become ready on the list.
So please post your change (perhaps it's posted and I'm failing to find
it in my inbox?) and I'd be happy to merge it so we get it cleaned up!
Thanks,
Bjorn
Here it is: [1]
Be aware that it truly is humongous and should be split (I couldn't resist adding missing pins/dma while cleaning things up) and it.. was not really intended to be sent as-is. It's also supposed to work on the previous release of Linux, so some Samsung DTs in particular changed since and will need some manual rebasing. But I'll happily leave it as a reference if somebody has the time to pick it up. The konrad/8974 branch in this repo contains more (beware, GPU ones are untested!) 8974 fixes and I have some more on my drive that are.. not really ready for their prime time just yet either..
Konrad
[1] https://github.com/SoMainline/linux/commit/291ea6860f8b95df67d63fbd378d61b3a157ac15
On Mon 25 Jan 09:47 CST 2021, Konrad Dybcio wrote:
quoted
I know how bad it is, so I understand your desire to not have to rebase
that, but I will merge things as they become ready on the list.
So please post your change (perhaps it's posted and I'm failing to find
it in my inbox?) and I'd be happy to merge it so we get it cleaned up!
Thanks,
Bjorn
Here it is: [1]
Be aware that it truly is humongous and should be split (I couldn't
resist adding missing pins/dma while cleaning things up) and it.. was
not really intended to be sent as-is. It's also supposed to work on
the previous release of Linux, so some Samsung DTs in particular
changed since and will need some manual rebasing. But I'll happily
leave it as a reference if somebody has the time to pick it up. The
konrad/8974 branch in this repo contains more (beware, GPU ones are
untested!) 8974 fixes and I have some more on my drive that are.. not
really ready for their prime time just yet either..
I like the end result, so please spend some time trying to get this
upstream (which would save you from having to rebase that going forward
:))
As you say I don't think it's appropriate to post or merge it as is, but
you should be able to send patches related to the 7 steps described in
the commit message - and don't be afraid of splitting it in more than
those patches. And we don't need to merge them all at once either...
Regards,
Bjorn
IMHO we should create separate DTs for all revisions of 8974 (sigh) and keep the opp tables in there, only leaving a lowest-common-denominator one here (which according to downstream and the msm/drm driver would be 27000000 /27MHz/) to make it at least probe for everybody..
On a note, max GPU frequencies (based on [1] and grepping for gpu-pwrlevels or qcom,gpu-freq downstream) are:
* 578 MHz for PRO (so -AC)
* 550 MHz is mentioned in [1] but not downstream..
* 450 MHz for everything else (v2.2 has more DVFS steps)
No. A330 can't go lightspeed (unless there's some secret ultra-binned msm8974pro-v4-ad-5g). [1]
Hi Iskren,
I believe that the Nexus 5 GPU frequencies are documented in the
downstream kernel at:
https://github.com/AICP/kernel_lge_hammerhead/blob/n7.1/arch/arm/boot/dts/msm8974-gpu.dtsi#L67
I am fairly certain that the qcom,bus-freq property is an index into the
qcom,msm-bus,vectors-KBps property above. This will map to the
interconnect and operating points in the upstream kernel.
Note that the actual implementation in a3xx_gpu.c and a4xx_gpu.c
currently has this snippet to set the bus speed:
/*
* Set the ICC path to maximum speed for now by multiplying the fastest
* frequency by the bus width (8). We'll want to scale this later on to
* improve battery life.
*/
icc_set_bw(icc_path, 0, Bps_to_icc(gpu->fast_rate) * 8);
icc_set_bw(ocmem_icc_path, 0, Bps_to_icc(gpu->fast_rate) * 8);
This should be fine for the time being. You'll want to document it
correctly in device tree though.
If the v2 changes too much, then feel free to drop my name from the
patch. I thought that I had made these changes already but apparently
not. :/
Brian