Re: [PATCH V2] arm64: dts: qcom: sc7280: Add nodes for eMMC and SD card

From: sbhanu
Date: Wed Apr 28 2021 - 06:47:37 EST


On 2021-04-21 01:44, Doug Anderson wrote:
Hi,

On Tue, Apr 20, 2021 at 10:21 AM <sbhanu@xxxxxxxxxxxxxx> wrote:

On 2021-04-15 01:55, Doug Anderson wrote:
> Hi,
>
> On Tue, Apr 13, 2021 at 3:59 AM <sbhanu@xxxxxxxxxxxxxx> wrote:
>>
>> >> >>> + required-opps =
>> >> >>> <&rpmhpd_opp_low_svs>;
>> >> >>> + opp-peak-kBps = <1200000
>> >> >>> 76000>;
>> >> >>> + opp-avg-kBps = <1200000
>> >> >>> 50000>;
>> >> >> Why are the kBps numbers so vastly different than the ones on sc7180
>> >> >> for the same OPP point. That implies:
>> >> >>
>> >> >> a) sc7180 is wrong.
>> >> >>
>> >> >> b) This patch is wrong.
>> >> >>
>> >> >> c) The numbers are essentially random and don't really matter.
>> >> >>
>> >> >> Can you identify which of a), b), or c) is correct, or propose an
>> >> >> alternate explanation of the difference?
>> >> >>
>> >>
>> >> We calculated bus votes values for both sc7180 and sc7280 with ICB
>> >> tool,
>> >> above mentioned values we got for sc7280.
>> >
>> > I don't know what an ICB tool is. Please clarify.
>> >
>> > Also: just because a tool spits out numbers that doesn't mean it's
>> > correct. Presumably the tool could be wrong or incorrectly configured.
>> > We need to understand why these numbers are different.
>> >
>> we checked with ICB tool team on this they conformed as Rennell &
>> Kodiak
>> are different chipsets,
>> we might see delta in ib/ab values due to delta in scaling factors.
>
> ...but these numbers are in kbps, aren't they? As I understand it
> these aren't supposed to be random numbers spit out by a tool but are
> supposed to be understandable by how much bandwidth an IP block (like
> MMC) needs from the busses it's connected to. Since the MMC IP block
> on sc7180 and sc7280 is roughly the same there shouldn't be a big
> difference in numbers.
>
> Something smells wrong.
>
> Adding a few people who understand interconnects better than I do,
> though.
>

ICB team has re-checked the Rennell ICB tool and they confirmed that
some configs were wrong in Rennell ICB tool and they corrected it.With
the new updated Rennell ICB tool below are the values :


Rennell LC:(Sc7180)

opp-384000000 {
opp-hz = /bits/ 64 <384000000>;
required-opps = <&rpmhpd_opp_nom>;
opp-peak-kBps = <5400000 490000>;
opp-avg-kBps = <6600000 300000>;
};


And now, these values are near to Kodaik LC values:

Kodaik LC:(SC7280)

opp-384000000 {
opp-hz = /bits/ 64 <384000000>;
required-opps = <&rpmhpd_opp_nom>;
opp-peak-kBps = <5400000 399000>;
opp-avg-kBps = <6000000 300000>;
};

This still isn't making sense to me.

* sc7180 and sc7280 are running at the same speed. I'm glad the
numbers are closer now, but I would have thought they'd be exactly the
same.

* Aren't these supposed to be sensible? This is eMMC that does max
transfer rates of 400 megabytes / second to the external device. You
have bandwidths listed here of 5,400,000 kBps = 5,400,000 kilobytes /
second = 5400 megabytes / second. I can imagine there being some
overhead where an internal bus might need to be faster but that seems
excessive. This is 13.5x!


These numbers are not related to SDCC bandwidth, these are the values needed for the NOC's to run in nominal voltage corners (internal to hardware) and
thus it helps SDCC to run in nominal to get required through put (384MBps).So above calculation mentioned by you is not applicable here.

* I can't see how it can make sense that "average" values are higher
than "peak" values.


Here actual peak = peak number * 2
actual average = average number

and this multiplication is taken care by ICC driver, so technically actual peak is still high than average.



It still feels like there's a misconfiguration somewhere.

-Doug