* zynq drivers/clocksource (was: Re: [GIT PULL] arm-soc: Xilinx zynq timer changes for v3.9)
@ 2013-02-13 14:22 Michal Simek
2013-02-13 16:38 ` Stephen Warren
0 siblings, 1 reply; 3+ messages in thread
From: Michal Simek @ 2013-02-13 14:22 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
here is origin comment from Arnd.
> Please have a look at the contents of the timer/cleanup and clocksource/cleanup
> branches in arm-soc, and merge them into your branch. If everything still
> works, you can add a patch on top of the merge to move your driver to
> drivers/clocksource and use the new infrastructure introduced there.
based on Arnd request I have looked at moving zynq timer code to the
new infrastructure
in drivers/clocksource. I have done some investigation and I am not quite
sure if I understand the design correctly.
I have looked at vt8500, tegra20 and bcm2835 drivers in arm-soc/for-next branch
and all of them use the same pattern with expectation that only
one timer with the same compatible property is available in the system.
I have done some tests on zynq and the problem is with calling
of_find_matching_node(NULL, .._match); which will always return the same
device_node which end up with faults later when you try to request the same
irq.
Is there any limitation/expectation that only one clocksource driver
should be probed?
Also not sure if make sense to add of_find_matching_node for architectures
which select CONFIG_OF or USE_OF when we can pass device_node directly from
of_find_matching_node().
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform
^ permalink raw reply [flat|nested] 3+ messages in thread
* zynq drivers/clocksource (was: Re: [GIT PULL] arm-soc: Xilinx zynq timer changes for v3.9)
2013-02-13 14:22 zynq drivers/clocksource (was: Re: [GIT PULL] arm-soc: Xilinx zynq timer changes for v3.9) Michal Simek
@ 2013-02-13 16:38 ` Stephen Warren
2013-02-13 17:35 ` Michal Simek
0 siblings, 1 reply; 3+ messages in thread
From: Stephen Warren @ 2013-02-13 16:38 UTC (permalink / raw)
To: linux-arm-kernel
On 02/13/2013 07:22 AM, Michal Simek wrote:
> Hi,
>
> here is origin comment from Arnd.
>
>> Please have a look at the contents of the timer/cleanup and clocksource/cleanup
>> branches in arm-soc, and merge them into your branch. If everything still
>> works, you can add a patch on top of the merge to move your driver to
>> drivers/clocksource and use the new infrastructure introduced there.
>
> based on Arnd request I have looked at moving zynq timer code to the
> new infrastructure
> in drivers/clocksource. I have done some investigation and I am not quite
> sure if I understand the design correctly.
>
> I have looked at vt8500, tegra20 and bcm2835 drivers in arm-soc/for-next branch
> and all of them use the same pattern with expectation that only
> one timer with the same compatible property is available in the system.
Oh right. When we spoke on IRC, I was thinking of multiple different
types of clocksource driver, rather than multiple instances of the same
type. Yes, my original patches wouldn't work well with multiple
instances (DT nodes) with the same compatible property.
> I have done some tests on zynq and the problem is with calling
> of_find_matching_node(NULL, .._match); which will always return the same
> device_node which end up with faults later when you try to request the same
> irq.
>
> Is there any limitation/expectation that only one clocksource driver
> should be probed?
>
> Also not sure if make sense to add of_find_matching_node for architectures
> which select CONFIG_OF or USE_OF when we can pass device_node directly from
> of_find_matching_node().
... but Rob's patches that I mentioned should solve this multiple
instance issue, since they do indeed pass the found DT node into the
timer init function.
^ permalink raw reply [flat|nested] 3+ messages in thread
* zynq drivers/clocksource (was: Re: [GIT PULL] arm-soc: Xilinx zynq timer changes for v3.9)
2013-02-13 16:38 ` Stephen Warren
@ 2013-02-13 17:35 ` Michal Simek
0 siblings, 0 replies; 3+ messages in thread
From: Michal Simek @ 2013-02-13 17:35 UTC (permalink / raw)
To: linux-arm-kernel
2013/2/13 Stephen Warren <swarren@wwwdotorg.org>:
> On 02/13/2013 07:22 AM, Michal Simek wrote:
>> Hi,
>>
>> here is origin comment from Arnd.
>>
>>> Please have a look at the contents of the timer/cleanup and clocksource/cleanup
>>> branches in arm-soc, and merge them into your branch. If everything still
>>> works, you can add a patch on top of the merge to move your driver to
>>> drivers/clocksource and use the new infrastructure introduced there.
>>
>> based on Arnd request I have looked at moving zynq timer code to the
>> new infrastructure
>> in drivers/clocksource. I have done some investigation and I am not quite
>> sure if I understand the design correctly.
>>
>> I have looked at vt8500, tegra20 and bcm2835 drivers in arm-soc/for-next branch
>> and all of them use the same pattern with expectation that only
>> one timer with the same compatible property is available in the system.
>
> Oh right. When we spoke on IRC, I was thinking of multiple different
> types of clocksource driver, rather than multiple instances of the same
> type. Yes, my original patches wouldn't work well with multiple
> instances (DT nodes) with the same compatible property.
yep I meant multiple instances of the same type but also multiple different
types of clocksource should also work.
>> I have done some tests on zynq and the problem is with calling
>> of_find_matching_node(NULL, .._match); which will always return the same
>> device_node which end up with faults later when you try to request the same
>> irq.
>>
>> Is there any limitation/expectation that only one clocksource driver
>> should be probed?
>>
>> Also not sure if make sense to add of_find_matching_node for architectures
>> which select CONFIG_OF or USE_OF when we can pass device_node directly from
>> of_find_matching_node().
>
> ... but Rob's patches that I mentioned should solve this multiple
> instance issue, since they do indeed pass the found DT node into the
> timer init function.
yep. We are talking about it in the second thread.
thanks for your help,
Michal
--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-02-13 17:35 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-13 14:22 zynq drivers/clocksource (was: Re: [GIT PULL] arm-soc: Xilinx zynq timer changes for v3.9) Michal Simek
2013-02-13 16:38 ` Stephen Warren
2013-02-13 17:35 ` Michal Simek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).