Re: [PATCH 0/5] MSM8996 eMMC boot fix

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 23.12.2022 01:19, Dmitry Baryshkov wrote:
> On 10/12/2022 22:03, Konrad Dybcio wrote:
>> In a very unfortunate turn of events, enabling interconnect on non-UFS
>> devices (or more precisely devices-with-UFS-clocks-disabled-from-
>> bootloader) crashes the device, as a memory read to an unlocked peripheral
>> is attempted. This series tries to fix that with the least amount of
>> casualties..
> 
> Just to note. I had occasional boot issues with UFS on msm8996 even after these patches being applied. It seems I was able to fix them by enabling interconnect support in the UFS-qcom driver.
> 
To be fair, we may be missing some more things (I have no concrete
evidence, maybe things go south just because my ports of icc drivers
all turn out to be garbage..):

- icc is not aware of what hardware is on from the bootloader
and if we don't add interconnects= *everywhere*, *including* where
downstream made (in their case) educated assumptions, things start
falling apart real quick, as random bits of hw may stop working if
they get a zero vote
  - on other platforms, this is even a bigger mess, because
    some hardware *"unvotes"* on reset, such as MDSS or PCIe..

- if some but not all connections are described, requested bus
rate may be lower than expected, with effects ranging from subpar
performance to things simply not working because of too much traffic

- it's really hard to test smd rpm icc drivers other than dumping
reg writes and comparing them with downstream, sometimes things
"work" by luck, other times it breaks booting..

Konrad
>>
>> Konrad Dybcio (5):
>>    dt-bindings: interconnect: Add UFS clocks to MSM8996 A2NoC
>>    interconnect: qcom: msm8996: Provide UFS clocks to A2NoC
>>    interconnect: qcom: msm8996: Fix regmap max_register values
>>    interconnect: qcom: rpm: Use _optional func for provider clocks
>>    arm64: dts: qcom: msm8996: Add additional A2NoC clocks
>>
>>   .../bindings/interconnect/qcom,rpm.yaml       | 24 ++++++++++++++++++-
>>   arch/arm64/boot/dts/qcom/msm8996.dtsi         |  6 +++--
>>   drivers/interconnect/qcom/icc-rpm.c           |  2 +-
>>   drivers/interconnect/qcom/msm8996.c           | 19 +++++++++++----
>>   4 files changed, 42 insertions(+), 9 deletions(-)
>>
> 



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux