X86 platform drivers
 help / color / mirror / Atom feed
* r8169 broken when enabling the Atom PMC platform clocks
@ 2017-07-10 14:15 Carlo Caione
  2017-07-10 14:20 ` Andy Shevchenko
  0 siblings, 1 reply; 7+ messages in thread
From: Carlo Caione @ 2017-07-10 14:15 UTC (permalink / raw)
  To: Platform Driver
  Cc: Darren Hart, irina.tirdea, Pierre-Louis Bossart,
	andriy.shevchenko, Stephen Boyd, nic_swsd, Linux Upstreaming Team

Hi,
We are working on an Asus Z550M shipping a baytrail processor. From
the 4.11 kernel we noticed that the system is not bootable anymore
since it hangs during boot when probing the r8169 driver, not even a
trace is available.

We bisected this problem down to commit 282a4e4 ("platform/x86: Enable
Atom PMC platform clocks").

We suspected that the problem is that one of the PMC clocks is being
used by the Ethernet board as XTAL clock and since it is not
explicitly claimed by the driver, it is gated at boot by the clock
framework, causing the system to hang.

We have a quirk downstream in place where we basically modified the
r8169 driver to claim the 25MHz pmc_plt_clk_4 clock, and this seems to
work fine, but we really want to find a more upstreamable and
definitive solution.

The best solution would probably be avoiding to gate the clocks at all
when booting if these are being already used by the firmware, but IIUC
this information is not always available in the enable clock register.

Any idea how to approach this issue? I guess in the future we will see
more platforms needing a quirk like this because of fancy clock
routings.

Thanks,

-- 
Carlo Caione

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-07-10 18:46 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-07-10 14:15 r8169 broken when enabling the Atom PMC platform clocks Carlo Caione
2017-07-10 14:20 ` Andy Shevchenko
2017-07-10 14:23   ` Carlo Caione
2017-07-10 16:06   ` Darren Hart
2017-07-10 17:50     ` Carlo Caione
2017-07-10 18:23       ` Carlo Caione
2017-07-10 18:46         ` Andy Shevchenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox