diff mbox

cpsw regression in mainline with "cpsw/netcp: cpts depends on posix_timers"

Message ID CAK8P3a2ybR29txotehP5uKtstucxW_ZYZXArMroSEbmV=Y--7A@mail.gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Arnd Bergmann April 24, 2017, 6:12 p.m. UTC
On Mon, Apr 24, 2017 at 7:44 PM, Tony Lindgren <tony@atomide.com> wrote:
> * Arnd Bergmann <arnd@arndb.de> [170424 10:38]:
>> On Mon, Apr 24, 2017 at 6:51 PM, Tony Lindgren <tony@atomide.com> wrote:
>> > Hi,
>> >
>> > Looks like commit 07fef3623407 ("cpsw/netcp: cpts depends on posix_timers")
>> > in mainline started triggering the following oops at least on j5eco-evm.
>> >
>> > Adding CONFIG_PTP_1588_CLOCK to .config solves it, but the oops hints
>> > something is wrong with the dependencies.. CONFIG_TI_CPTS defaults to N
>> > and not selecting it causes the oops.
>> >
>> > Any ideas what's needed to properly fix this?
>>
>> Does your configuration have POSIX_TIMERS enabled? If not, then CPTS
>> is now also disabled. There are two issues here that we need to solve:
>>
>> a) find out why POSIX_TIMERS got disabled, and make sure it's always
>>     turned on for normal users
>
> $ make omap2plus_defconfig
> ...
> CONFIG_POSIX_TIMERS=y
> # CONFIG_PTP_1588_CLOCK is not set
>
> So CONFIG_TI_CPTS is unselectable.

Ok, so at least this one is easy to understand, it's a direct consequence
of my change, as nothing else will select CONFIG_PTP_1588_CLOCK
now.

My first try would be this one:


>> b) find out what's wrong with the driver when CPTS is disabled. This would
>>     be an existing problem that you just never saw because CPTS was
>>     always enabled so far.
>
> See a) above, yes seems there are two problems here.

Ok.

       Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Tony Lindgren April 24, 2017, 6:23 p.m. UTC | #1
* Arnd Bergmann <arnd@arndb.de> [170424 11:14]:
> On Mon, Apr 24, 2017 at 7:44 PM, Tony Lindgren <tony@atomide.com> wrote:
> > * Arnd Bergmann <arnd@arndb.de> [170424 10:38]:
> >> On Mon, Apr 24, 2017 at 6:51 PM, Tony Lindgren <tony@atomide.com> wrote:
> >> > Hi,
> >> >
> >> > Looks like commit 07fef3623407 ("cpsw/netcp: cpts depends on posix_timers")
> >> > in mainline started triggering the following oops at least on j5eco-evm.
> >> >
> >> > Adding CONFIG_PTP_1588_CLOCK to .config solves it, but the oops hints
> >> > something is wrong with the dependencies.. CONFIG_TI_CPTS defaults to N
> >> > and not selecting it causes the oops.
> >> >
> >> > Any ideas what's needed to properly fix this?
> >>
> >> Does your configuration have POSIX_TIMERS enabled? If not, then CPTS
> >> is now also disabled. There are two issues here that we need to solve:
> >>
> >> a) find out why POSIX_TIMERS got disabled, and make sure it's always
> >>     turned on for normal users
> >
> > $ make omap2plus_defconfig
> > ...
> > CONFIG_POSIX_TIMERS=y
> > # CONFIG_PTP_1588_CLOCK is not set
> >
> > So CONFIG_TI_CPTS is unselectable.
> 
> Ok, so at least this one is easy to understand, it's a direct consequence
> of my change, as nothing else will select CONFIG_PTP_1588_CLOCK
> now.
> 
> My first try would be this one:
> 
> diff --git a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig
> index 9e631952b86f..8042a7626056 100644
> --- a/drivers/net/ethernet/ti/Kconfig
> +++ b/drivers/net/ethernet/ti/Kconfig
> @@ -76,7 +76,7 @@ config TI_CPSW
>  config TI_CPTS
>   bool "TI Common Platform Time Sync (CPTS) Support"
>   depends on TI_CPSW || TI_KEYSTONE_NETCP
> - depends on PTP_1588_CLOCK
> + depends on POSIX_TIMERS
>   ---help---
>    This driver supports the Common Platform Time Sync unit of
>    the CPSW Ethernet Switch and Keystone 2 1g/10g Switch Subsystem.
> @@ -87,6 +87,7 @@ config TI_CPTS_MOD
>   tristate
>   depends on TI_CPTS
>   default y if TI_CPSW=y || TI_KEYSTONE_NETCP=y
> + imply PTP_1588_CLOCK
>   default m
> 
>  config TI_KEYSTONE_NETCP

Yup this produces a booting .config for me:

Tested-by: Tony Lindgren <tony@atomide.com>

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Arnd Bergmann April 27, 2017, 9:44 a.m. UTC | #2
On Mon, Apr 24, 2017 at 8:23 PM, Tony Lindgren <tony@atomide.com> wrote:
> * Arnd Bergmann <arnd@arndb.de> [170424 11:14]:
>> On Mon, Apr 24, 2017 at 7:44 PM, Tony Lindgren <tony@atomide.com> wrote:
>> > * Arnd Bergmann <arnd@arndb.de> [170424 10:38]:
>> >> On Mon, Apr 24, 2017 at 6:51 PM, Tony Lindgren <tony@atomide.com> wrote:
>> >> > Hi,
>> >> >
>> >> > Looks like commit 07fef3623407 ("cpsw/netcp: cpts depends on posix_timers")
>> >> > in mainline started triggering the following oops at least on j5eco-evm.
>> >> >
>> >> > Adding CONFIG_PTP_1588_CLOCK to .config solves it, but the oops hints
>> >> > something is wrong with the dependencies.. CONFIG_TI_CPTS defaults to N
>> >> > and not selecting it causes the oops.
>> >> >
>> >> > Any ideas what's needed to properly fix this?
>> >>
>> >> Does your configuration have POSIX_TIMERS enabled? If not, then CPTS
>> >> is now also disabled. There are two issues here that we need to solve:
>> >>
>> >> a) find out why POSIX_TIMERS got disabled, and make sure it's always
>> >>     turned on for normal users
>> >
>> > $ make omap2plus_defconfig
>> > ...
>> > CONFIG_POSIX_TIMERS=y
>> > # CONFIG_PTP_1588_CLOCK is not set
>> >
>> > So CONFIG_TI_CPTS is unselectable.
>>
>> Ok, so at least this one is easy to understand, it's a direct consequence
>> of my change, as nothing else will select CONFIG_PTP_1588_CLOCK
>> now.
>>
>> My first try would be this one:
>>
>> diff --git a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig
>> index 9e631952b86f..8042a7626056 100644
>> --- a/drivers/net/ethernet/ti/Kconfig
>> +++ b/drivers/net/ethernet/ti/Kconfig
>> @@ -76,7 +76,7 @@ config TI_CPSW
>>  config TI_CPTS
>>   bool "TI Common Platform Time Sync (CPTS) Support"
>>   depends on TI_CPSW || TI_KEYSTONE_NETCP
>> - depends on PTP_1588_CLOCK
>> + depends on POSIX_TIMERS
>>   ---help---
>>    This driver supports the Common Platform Time Sync unit of
>>    the CPSW Ethernet Switch and Keystone 2 1g/10g Switch Subsystem.
>> @@ -87,6 +87,7 @@ config TI_CPTS_MOD
>>   tristate
>>   depends on TI_CPTS
>>   default y if TI_CPSW=y || TI_KEYSTONE_NETCP=y
>> + imply PTP_1588_CLOCK
>>   default m
>>
>>  config TI_KEYSTONE_NETCP
>
> Yup this produces a booting .config for me:

Unfortunately it seems it's not complete yet, I've run into
the old build error again after a few days of randconfig builds
with my patch applied:

drivers/net/ethernet/ti/cpts.o: In function `cpts_find_ts':
cpts.c:(.text.cpts_find_ts+0x20): undefined reference to `ptp_classify_raw'

I'll keep looking for a better fix.

      Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/net/ethernet/ti/Kconfig b/drivers/net/ethernet/ti/Kconfig
index 9e631952b86f..8042a7626056 100644
--- a/drivers/net/ethernet/ti/Kconfig
+++ b/drivers/net/ethernet/ti/Kconfig
@@ -76,7 +76,7 @@  config TI_CPSW
 config TI_CPTS
  bool "TI Common Platform Time Sync (CPTS) Support"
  depends on TI_CPSW || TI_KEYSTONE_NETCP
- depends on PTP_1588_CLOCK
+ depends on POSIX_TIMERS
  ---help---
   This driver supports the Common Platform Time Sync unit of
   the CPSW Ethernet Switch and Keystone 2 1g/10g Switch Subsystem.
@@ -87,6 +87,7 @@  config TI_CPTS_MOD
  tristate
  depends on TI_CPTS
  default y if TI_CPSW=y || TI_KEYSTONE_NETCP=y
+ imply PTP_1588_CLOCK
  default m

 config TI_KEYSTONE_NETCP