[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <543FEB82.8000503@broadcom.com>
Date: Thu, 16 Oct 2014 09:00:02 -0700
From: Ray Jui <rjui@...adcom.com>
To: Vinod Koul <vinod.koul@...el.com>
CC: Dan Williams <djbw@...com>, Scott Branden <sbranden@...adcom.com>,
<linux-kernel@...r.kernel.org>
Subject: Re: 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists