[U-Boot] [RFC] drivers: pci: imx: add imx_pcie_remove function

Tim Harvey tharvey at gateworks.com
Fri May 12 19:39:54 UTC 2017


On Fri, May 12, 2017 at 12:27 PM, Soeren Moch <smoch at web.de> wrote:
>> Date: Thu, 11 May 2017 07:02:52 -0700
>> From: Tim Harvey <tharvey at gateworks.com>
>> To: Stefano Babic <sbabic at denx.de>
>> Cc: Marek Vasut <marex at denx.de>, U-Boot-Denx <u-boot at lists.denx.de>,
>>     Peter Senna Tschudin <peter.senna at collabora.com>, Lucas Stach
>>     <l.stach at pengutronix.de>
>> Subject: Re: [U-Boot] [RFC] drivers: pci: imx: add imx_pcie_remove
>>     function
>> Message-ID:
>>     <CAJ+vNU2MOp_1bsh5MusGauJPdASB7+KDPQGdg+YU4gfbtBSBhQ at mail.gmail.com>
>> Content-Type: text/plain; charset="UTF-8"
>>
>> On Thu, May 11, 2017 at 6:18 AM, Stefano Babic <sbabic at denx.de> wrote:
>> > Hi Fabio,
>> >
>> > On 11/05/2017 13:06, Fabio Estevam wrote:
>> >> On Thu, May 11, 2017 at 6:01 AM, Peter Senna Tschudin
>> >> <peter.senna at collabora.com> wrote:
>> >>
>> >>> Thank you for working on this! Your patch worked for me, but I
> needed to
>> >>> add an "extern void imx_pcie_remove(void);" before calling the
> function,
>> >>> which probably means I'm missing something.
>> >> The extern should be added into a header file.
>> >>
>> >>> After applying this patch to u-boot, u-boot can initialize PCI and
>> >>> 4.11.0-next-20170510 will boot. Without your patch
> 4.11.0-next-20170510
>> >>> do not boot if u-boot initialize the PCI bus.
>> >>>
>> >>> Thanks a lot!
>> >>>
>> >>> Here is the patch I'm using for our board:
>> >> Stefano,
>> >>
>> >> The patches that Tim/Peter posted solve a kernel hang with kernel 4.11
>> >> on mx6q when U-Boot has PCI support.
>> >>
>> >> Could you please take a look and let us know if there is a more
>> >> generic way to fix this issue, like fixing it for all mx6qdl boards
>> >> that have PCI support?
>> >>
>> >> I understand that ideally the imx6 pci driver should be converted to
>> >> driver model and then we add the .remove hook, like Lucas did for
>> >> Barebox:
>> >>
> https://git.pengutronix.de/cgit/barebox/commit/?id=f1da98da2760c21487bbba8f7fb957c843a22896
>> >>
>> >> While the imx pci driver is not converted to device model, would you
>> >> be willing to accept such per board patches for the time being?
>> >>
>> >> Please advise.
>> >
>> > Ok - let wait for Tim's answer, if he has enough time to work on this to
>> > move to DM. If not, it will be ok for now to fix it in this way, hoping
>> > to move soon to DM.
>> >
>> > Regards,
>> > Stefano
>> Stefano,
>>
>> I don't have enough time to work on the DM conversion currently but it
>> sounds like this would be a welcomed 'fix' that we should get in
>> sooner than later.
>>
>> I know the include is missing from a header but I didn't bother as I
>> though there would be a better arch-specific place to put the call to
>> the remove. I don't think putting it in ft_board_setup made sense. Do
>> you have any suggestions where it should go?
>>
>> Tim
>
> Tim,
>
> this patch in addition to your original drivers/pci/pcie_imx.c changes
> works for me on a tbs2910 board.
> Since I did not touch board-specific code, this should also work for
> all affected boards.
>

Soeren,

Perfect, that's what I was looking for 'arch_preboot_os' seems like a
good place for it!

I will put together a non-RFC patch.

Tim


More information about the U-Boot mailing list