Patchwork [meta-fsl-arm-extra] linux-boundary: enable some PCIe drivers

login
register
mail settings
Submitter Eric BENARD
Date May 14, 2013, 2:02 p.m.
Message ID <1368540164-13687-1-git-send-email-eric@eukrea.com>
Download mbox | patch
Permalink /patch/49899/
State Rejected
Delegated to: Otavio Salvador
Headers show

Comments

Eric BENARD - May 14, 2013, 2:02 p.m.
tested on SabreLite with :
- PCIe OXPCIe952 dual UART board
- PCIe RTL8168 Gb Ethernet board
- PCIe Sil3125 SATA board
- PCIe TUSB7320 USB3 board (gives warnings but works)

Signed-off-by: Eric Bénard <eric@eukrea.com>
---
 recipes-kernel/linux/linux-boundary-3.0.35/defconfig |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
Fabio Estevam - May 14, 2013, 2:08 p.m.
On Tue, May 14, 2013 at 11:02 AM, Eric Bénard <eric@eukrea.com> wrote:

> --- a/recipes-kernel/linux/linux-boundary-3.0.35/defconfig
> +++ b/recipes-kernel/linux/linux-boundary-3.0.35/defconfig
> @@ -107,13 +107,13 @@ CONFIG_SCSI_MULTI_LUN=y
>  CONFIG_ATA=y
>  # CONFIG_SATA_PMP is not set
>  CONFIG_SATA_AHCI_PLATFORM=y
> +CONFIG_SATA_SIL24=y
>  CONFIG_NETDEVICES=y
>  CONFIG_TUN=y
> -CONFIG_MII=y

Is this removal needed?

>  CONFIG_MICREL_PHY=y
>  CONFIG_NET_ETHERNET=y
>  CONFIG_FEC_NAPI=y
> -# CONFIG_NETDEV_1000 is not set
> +CONFIG_R8169=y
>  # CONFIG_NETDEV_10000 is not set
>  CONFIG_HOSTAP=y
>  CONFIG_WL12XX_MENU=y
> @@ -133,6 +133,7 @@ CONFIG_INPUT_MISC=y
>  CONFIG_INPUT_UINPUT=y
>  CONFIG_INPUT_ISL29023=y
>  CONFIG_VT_HW_CONSOLE_BINDING=y
> +CONFIG_SERIAL_8250=y

Is this addition needed?
Eric BENARD - May 14, 2013, 2:20 p.m.
Hi Fabio,

Le Tue, 14 May 2013 11:08:31 -0300,
Fabio Estevam <festevam@gmail.com> a écrit :

> On Tue, May 14, 2013 at 11:02 AM, Eric Bénard <eric@eukrea.com> wrote:
> 
> > --- a/recipes-kernel/linux/linux-boundary-3.0.35/defconfig
> > +++ b/recipes-kernel/linux/linux-boundary-3.0.35/defconfig
> > @@ -107,13 +107,13 @@ CONFIG_SCSI_MULTI_LUN=y
> >  CONFIG_ATA=y
> >  # CONFIG_SATA_PMP is not set
> >  CONFIG_SATA_AHCI_PLATFORM=y
> > +CONFIG_SATA_SIL24=y
> >  CONFIG_NETDEVICES=y
> >  CONFIG_TUN=y
> > -CONFIG_MII=y
> 
> Is this removal needed?
> 
It's done by make sevedefconfig as MII seems to be enabled by the new
options selected in ethernet.

> >  CONFIG_MICREL_PHY=y
> >  CONFIG_NET_ETHERNET=y
> >  CONFIG_FEC_NAPI=y
> > -# CONFIG_NETDEV_1000 is not set
> > +CONFIG_R8169=y
> >  # CONFIG_NETDEV_10000 is not set
> >  CONFIG_HOSTAP=y
> >  CONFIG_WL12XX_MENU=y
> > @@ -133,6 +133,7 @@ CONFIG_INPUT_MISC=y
> >  CONFIG_INPUT_UINPUT=y
> >  CONFIG_INPUT_ISL29023=y
> >  CONFIG_VT_HW_CONSOLE_BINDING=y
> > +CONFIG_SERIAL_8250=y
> 
> Is this addition needed?

it enables 8250 PCie drivers (for PCIe UARTS).

Eric
Otavio Salvador - May 14, 2013, 8:22 p.m.
Hello Eric Nelson,

Can you take a look in Eric Benard patch?

I think it'd be good to apply it in Boundary's GIT tree and sync it in
meta-fsl-arm.

On Tue, May 14, 2013 at 11:20 AM, Eric Bénard <eric@eukrea.com> wrote:
> Hi Fabio,
>
> Le Tue, 14 May 2013 11:08:31 -0300,
> Fabio Estevam <festevam@gmail.com> a écrit :
>
>> On Tue, May 14, 2013 at 11:02 AM, Eric Bénard <eric@eukrea.com> wrote:
>>
>> > --- a/recipes-kernel/linux/linux-boundary-3.0.35/defconfig
>> > +++ b/recipes-kernel/linux/linux-boundary-3.0.35/defconfig
>> > @@ -107,13 +107,13 @@ CONFIG_SCSI_MULTI_LUN=y
>> >  CONFIG_ATA=y
>> >  # CONFIG_SATA_PMP is not set
>> >  CONFIG_SATA_AHCI_PLATFORM=y
>> > +CONFIG_SATA_SIL24=y
>> >  CONFIG_NETDEVICES=y
>> >  CONFIG_TUN=y
>> > -CONFIG_MII=y
>>
>> Is this removal needed?
>>
> It's done by make sevedefconfig as MII seems to be enabled by the new
> options selected in ethernet.
>
>> >  CONFIG_MICREL_PHY=y
>> >  CONFIG_NET_ETHERNET=y
>> >  CONFIG_FEC_NAPI=y
>> > -# CONFIG_NETDEV_1000 is not set
>> > +CONFIG_R8169=y
>> >  # CONFIG_NETDEV_10000 is not set
>> >  CONFIG_HOSTAP=y
>> >  CONFIG_WL12XX_MENU=y
>> > @@ -133,6 +133,7 @@ CONFIG_INPUT_MISC=y
>> >  CONFIG_INPUT_UINPUT=y
>> >  CONFIG_INPUT_ISL29023=y
>> >  CONFIG_VT_HW_CONSOLE_BINDING=y
>> > +CONFIG_SERIAL_8250=y
>>
>> Is this addition needed?
>
> it enables 8250 PCie drivers (for PCIe UARTS).


--
Otavio Salvador                             O.S. Systems
E-mail: otavio@ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br
Eric BENARD - May 15, 2013, 7:51 a.m.
Hi Otavio,

Le Tue, 14 May 2013 17:22:35 -0300,
Otavio Salvador <otavio@ossystems.com.br> a écrit :
> Can you take a look in Eric Benard patch?
> 
> I think it'd be good to apply it in Boundary's GIT tree and sync it in
> meta-fsl-arm.
> 
this defconfig belongs to meta-fsl-arm-extra, not to Boundary's GIT
tree.

Eric
Otavio Salvador - May 15, 2013, 11:48 a.m.
On Wed, May 15, 2013 at 4:51 AM, Eric Bénard <eric@eukrea.com> wrote:
> Hi Otavio,
>
> Le Tue, 14 May 2013 17:22:35 -0300,
> Otavio Salvador <otavio@ossystems.com.br> a écrit :
>> Can you take a look in Eric Benard patch?
>>
>> I think it'd be good to apply it in Boundary's GIT tree and sync it in
>> meta-fsl-arm.
>>
> this defconfig belongs to meta-fsl-arm-extra, not to Boundary's GIT
> tree.

Yes but usually people wish to have it in sync so we  don't have a
different set of features supported by kernel. Eric Nelson?

--
Otavio Salvador                             O.S. Systems
E-mail: otavio@ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br
Eric Nelson - May 15, 2013, 2:16 p.m.
On 05/15/2013 12:51 AM, Eric Bénard wrote:
> Hi Otavio,
>
> Le Tue, 14 May 2013 17:22:35 -0300,
> Otavio Salvador <otavio@ossystems.com.br> a écrit :
>> Can you take a look in Eric Benard patch?
>>
>> I think it'd be good to apply it in Boundary's GIT tree and sync it in
>> meta-fsl-arm.
>>
> this defconfig belongs to meta-fsl-arm-extra, not to Boundary's GIT
> tree.
>

Hi Eric and Otavio,

In general, I agree with Eric that the defconfig should belong to the
meta-fsl-arm-extra project, since there are (and should be) userspace
implications.

That said, I'm not really sure where Eric's headed by including somewhat
arbitrary PCIe devices. I'm not aware that these are commonly used and
could begin a slow march to allyesconfig. Do other users really want
to include support for PCIe 8250's, or is this just something important
for a project of yours?

I'm also hesitant to say that bringing in our defconfig is crucial.
There are important bits, like the inclusion of NAPI for ethernet
and single-touch for various multi-touch controllers, but there's
also likely some cruft that we pulled in from other Freescale designs
and that isn't useful in general.

Here's a good case in point:
	https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.0.35_1.1.1/arch/arm/configs/nitrogen6x_defconfig#L136

We're including a light sensor that isn't present on our boards.

We're also including some PCIe drivers for things we happen
to be working on:
	https://github.com/boundarydevices/linux-imx6/commit/b6e4be8783d66e288bda17d18281bdcb2d95be62

My sense is that we all have particular needs for the kernel
configuration, and that one-size really doesn't fit all.

We'll be re-basing our kernel on the new 4.0.0 release from
Freescale very soon. For my part, I'll try to clean up our
defconfig in the process.

	https://community.freescale.com/docs/DOC-94809

Regards,


Eric
Eric BENARD - May 15, 2013, 2:48 p.m.
Hi Eric,

Le Wed, 15 May 2013 07:16:05 -0700,
Eric Nelson <eric.nelson@boundarydevices.com> a écrit :
> That said, I'm not really sure where Eric's headed by including somewhat
> arbitrary PCIe devices. I'm not aware that these are commonly used and
> could begin a slow march to allyesconfig. Do other users really want
> to include support for PCIe 8250's, or is this just something important
> for a project of yours?
> 
that was just the result of tests I did on PCIe with standard
peripherals I bought in a computer shop to test PCIe with several
different kind of peripgerals.

This patch simply gives a chance to users to have their PCIe board
working (of course if that's one of those which I tested and  there
are other PCIe drivers not enabled).

Forget this patch if you believe that's not a good idea, I really
don't care if it's not applied ;-)

Eric
Eric Nelson - May 15, 2013, 4:55 p.m.
On 05/15/2013 07:48 AM, Eric Bénard wrote:
> Hi Eric,
>
> Le Wed, 15 May 2013 07:16:05 -0700,
> Eric Nelson <eric.nelson@boundarydevices.com> a écrit :
>> That said, I'm not really sure where Eric's headed by including somewhat
>> arbitrary PCIe devices. I'm not aware that these are commonly used and
>> could begin a slow march to allyesconfig. Do other users really want
>> to include support for PCIe 8250's, or is this just something important
>> for a project of yours?
>>
 >
> that was just the result of tests I did on PCIe with standard
> peripherals I bought in a computer shop to test PCIe with several
> different kind of peripgerals.
>
We have a bunch of those as well.

> This patch simply gives a chance to users to have their PCIe board
> working (of course if that's one of those which I tested and  there
> are other PCIe drivers not enabled).
>

I'm overdue for a blog post regarding PCIe. It would be nice to have
a spot where we collect a set of "known working" drivers.

We (and Freescale) have been adding patches along the way, but at the
moment, our record is that around ~75% of drivers just work, and
that others require some hacking of the core PCIe glue.

> Forget this patch if you believe that's not a good idea, I really
> don't care if it's not applied ;-)
>

I'll leave this question in Otavio's capable hands.

Regards,


Eric
Otavio Salvador - May 15, 2013, 5:08 p.m.
On Wed, May 15, 2013 at 1:55 PM, Eric Nelson
<eric.nelson@boundarydevices.com> wrote:
> On 05/15/2013 07:48 AM, Eric Bénard wrote:
>>
>> Hi Eric,
>>
>> Le Wed, 15 May 2013 07:16:05 -0700,
>> Eric Nelson <eric.nelson@boundarydevices.com> a écrit :
>>>
>>> That said, I'm not really sure where Eric's headed by including somewhat
>>> arbitrary PCIe devices. I'm not aware that these are commonly used and
>>> could begin a slow march to allyesconfig. Do other users really want
>>> to include support for PCIe 8250's, or is this just something important
>>> for a project of yours?
>>>
>>
>>
>> that was just the result of tests I did on PCIe with standard
>> peripherals I bought in a computer shop to test PCIe with several
>> different kind of peripgerals.
>>
> We have a bunch of those as well.
>
>
>> This patch simply gives a chance to users to have their PCIe board
>> working (of course if that's one of those which I tested and  there
>> are other PCIe drivers not enabled).
>>
>
> I'm overdue for a blog post regarding PCIe. It would be nice to have
> a spot where we collect a set of "known working" drivers.
>
> We (and Freescale) have been adding patches along the way, but at the
> moment, our record is that around ~75% of drivers just work, and
> that others require some hacking of the core PCIe glue.
>
>
>> Forget this patch if you believe that's not a good idea, I really
>> don't care if it's not applied ;-)
>>
>
> I'll leave this question in Otavio's capable hands.

I am OK with the patch but I think we need to be consistent here. We
cannot have different results in kernel build from GIT and one from
Yocto.

So for me it'd be, or we have it in Boundary's GIT defconfig or we
keep it for user customization.

--
Otavio Salvador                             O.S. Systems
E-mail: otavio@ossystems.com.br  http://www.ossystems.com.br
Mobile: +55 53 9981-7854              http://projetos.ossystems.com.br

Patch

diff --git a/recipes-kernel/linux/linux-boundary-3.0.35/defconfig b/recipes-kernel/linux/linux-boundary-3.0.35/defconfig
index a0eacb8..ce6c65d 100644
--- a/recipes-kernel/linux/linux-boundary-3.0.35/defconfig
+++ b/recipes-kernel/linux/linux-boundary-3.0.35/defconfig
@@ -107,13 +107,13 @@  CONFIG_SCSI_MULTI_LUN=y
 CONFIG_ATA=y
 # CONFIG_SATA_PMP is not set
 CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_SATA_SIL24=y
 CONFIG_NETDEVICES=y
 CONFIG_TUN=y
-CONFIG_MII=y
 CONFIG_MICREL_PHY=y
 CONFIG_NET_ETHERNET=y
 CONFIG_FEC_NAPI=y
-# CONFIG_NETDEV_1000 is not set
+CONFIG_R8169=y
 # CONFIG_NETDEV_10000 is not set
 CONFIG_HOSTAP=y
 CONFIG_WL12XX_MENU=y
@@ -133,6 +133,7 @@  CONFIG_INPUT_MISC=y
 CONFIG_INPUT_UINPUT=y
 CONFIG_INPUT_ISL29023=y
 CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_SERIAL_8250=y
 CONFIG_SERIAL_IMX=y
 CONFIG_SERIAL_IMX_CONSOLE=y
 CONFIG_FSL_OTP=y
@@ -201,6 +202,7 @@  CONFIG_USB_DEVICEFS=y
 # CONFIG_USB_DEVICE_CLASS is not set
 CONFIG_USB_SUSPEND=y
 # CONFIG_USB_OTG_WHITELIST is not set
+CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_EHCI_ARC=y
 CONFIG_USB_EHCI_ROOT_HUB_TT=y