Re: [PATCH V5 2/7] soc: qcom-geni-se: Add interconnect support to fix earlycon crash

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

 



Hi Andy,

On 5/9/2020 5:41 PM, Andy Shevchenko wrote:
On Fri, May 8, 2020 at 9:34 AM Akash Asthana <akashast@xxxxxxxxxxxxxx> wrote:
QUP core clock is shared among all the SE drivers present on particular
QUP wrapper, the system will reset(unclocked access) if earlycon used after
QUP core clock is put to 0 from other SE drivers before real console comes
up.

As earlycon can't vote for it's QUP core need, to fix this add ICC
support to common/QUP wrapper driver and put vote for QUP core from
probe on behalf of earlycon and remove vote during earlycon exit call.
...

+       for_each_child_of_node(parent, child) {
+               if (of_device_is_compatible(child, "qcom,geni-se-qup")) {
if (!...)
  continue;
will save you a readability of the loop body.

Or...
Ok.

+                       wrapper = platform_get_drvdata(of_find_device_by_node(
+                                       child));
...leave this on one line
ok

+                       icc_put(wrapper->to_core.path);
+                       wrapper->to_core.path = NULL;
+               }
And here is the question, what do you want to do if you find more
devices with the same compatible string?

We are voting on core path (from probe *geni_se_probe*) for all the devices which are compatible to string "qcom,geni-se-qup" so, here we'll remove those vote and release the icc_path for all the those devices

We have to vote on each qup device instead ones to which console is connected because all the qup shares the same core clocks. You may refer previous thread@ https://www.spinics.net/lists/linux-spi/msg21000.html for more info on this limitation.

Thankyou for taking time out and reviewing the patch.

Regards,

Akash


+       }

--
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,\na Linux Foundation Collaborative Project



[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