lkml.org 
[lkml]   [2014]   [Oct]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Consider moving the init of pl330 to earlier?


On 10/15/2014 11:59 PM, Vinod Koul wrote:
> On Thu, Oct 09, 2014 at 02:35:11PM -0700, Ray Jui wrote:
>> Hi,
>>
>> How do you guys like the idea of moving the driver initialization of
>> the pl330 DMA driver to earlier? For example, to arch_initcall_sync
>> or subsys_initcall? Currently the pl330 driver is registered through
>> module_amba_driver call, which translates to device_initcall in the
>> end. This is a bit late considering in many systems, DMA controller
>> is one of the core components that may have many slave devices
>> depending on. Most slave drivers are typically done at
>> device_initcall. When done at the same level, DMA may not be ready
>> while the slave devices are being initialized. In addition, under
>> the drivers/dma directory, we currently have various other DMA
>> drivers also done at subsys_initcall.
>>
>> One issue that I'm seeing with the Broadcom Cygnus SoC is that, when
>> we try to use DMA with SPI (PL022), the request for DMA channel
>> would fail because the spi-pl022 driver we use is initialized at
>> subsys_initcall. At the time the PL330 driver is not yet
>> initialized. The reason why spi-pl022 is done at subsys_initcall is
>> that some regulators communicate through the SPI bus so people
>> decided to move it to earlier (commit 25c8e03b by Linus Walleij),
>> which seems to be a valid reason to me.
> As a subsytem we encourage folks to use early init calls and then have
> clients use late_init so that dependency is solved.
>
> So feel free to send the patch
>
Will do. Thanks!

Ray


\
 
 \ /
  Last update: 2014-10-16 18:41    [W:0.052 / U:0.072 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site