* Re: [PATCH 2/2] i2c: designware: Allow build Baytrail semaphore support when IOSF_MBI=m
2015-12-10 11:48 ` [PATCH 2/2] i2c: designware: Allow build Baytrail semaphore support when IOSF_MBI=m Jarkko Nikula
@ 2015-12-10 12:59 ` Andy Shevchenko
2015-12-10 13:56 ` Jarkko Nikula
2016-01-05 22:21 ` David E. Box
` (2 subsequent siblings)
3 siblings, 1 reply; 10+ messages in thread
From: Andy Shevchenko @ 2015-12-10 12:59 UTC (permalink / raw)
To: Jarkko Nikula, linux-i2c; +Cc: Wolfram Sang, Mika Westerberg, David Box
On Thu, 2015-12-10 at 13:48 +0200, Jarkko Nikula wrote:
> I believe i2c-designware-baytrail.c doesn't have strict dependency
> that
> Intel SoC IOSF Sideband support must be always built-in in order to
> be
> able to compile support for Intel Baytrail I2C bus sharing HW
> semaphore.
>
> Redefine build dependencies so that CONFIG_IOSF_MBI=y is required
> only
> when CONFIG_I2C_DESIGNWARE_PLATFORM is built-in.
>
> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
> ---
> Hi David. Can you ack/nak this patch as I'm not fully familiar with
> this
> HW semaphore can there be problems when IOSF_MBI is built as a
> module.
> At least I'm getting similar sensible looking "punit semaphore
> acquired/held for x ms" debug messages when I modprobe/rmmod
> i2c_designware_platform independently is the CONFIG_IOSF_MBI=y or =m.
> ---
> drivers/i2c/busses/Kconfig | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
> index 69c46fe13777..76f4d024def0 100644
> --- a/drivers/i2c/busses/Kconfig
> +++ b/drivers/i2c/busses/Kconfig
> @@ -490,7 +490,9 @@ config I2C_DESIGNWARE_PCI
>
> config I2C_DESIGNWARE_BAYTRAIL
> bool "Intel Baytrail I2C semaphore support"
> - depends on I2C_DESIGNWARE_PLATFORM && IOSF_MBI=y && ACPI
> + depends on ACPI
> + depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
> + (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
Would it be more readable in the following way
depends on ACPI
depends on I2C_DESIGNWARE_PLATFORM
depends on IOSF_MBI if I2C_DESIGNWARE_PLATFORM=m
depends on IOSF_MBI=y if I2C_DESIGNWARE_PLATFORM=y
> help
> This driver enables managed host access to the PMIC I2C
> bus on select
> Intel BayTrail platforms using the X-Powers AXP288 PMIC.
> It allows
--
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] i2c: designware: Allow build Baytrail semaphore support when IOSF_MBI=m
2015-12-10 12:59 ` Andy Shevchenko
@ 2015-12-10 13:56 ` Jarkko Nikula
2016-01-04 19:51 ` Wolfram Sang
0 siblings, 1 reply; 10+ messages in thread
From: Jarkko Nikula @ 2015-12-10 13:56 UTC (permalink / raw)
To: Andy Shevchenko, linux-i2c; +Cc: Wolfram Sang, Mika Westerberg, David Box
On 12/10/2015 02:59 PM, Andy Shevchenko wrote:
> On Thu, 2015-12-10 at 13:48 +0200, Jarkko Nikula wrote:
>> I believe i2c-designware-baytrail.c doesn't have strict dependency
>> that
>> Intel SoC IOSF Sideband support must be always built-in in order to
>> be
>> able to compile support for Intel Baytrail I2C bus sharing HW
>> semaphore.
>>
>> Redefine build dependencies so that CONFIG_IOSF_MBI=y is required
>> only
>> when CONFIG_I2C_DESIGNWARE_PLATFORM is built-in.
>>
>> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
>> ---
>> Hi David. Can you ack/nak this patch as I'm not fully familiar with
>> this
>> HW semaphore can there be problems when IOSF_MBI is built as a
>> module.
>
>
>> At least I'm getting similar sensible looking "punit semaphore
>> acquired/held for x ms" debug messages when I modprobe/rmmod
>> i2c_designware_platform independently is the CONFIG_IOSF_MBI=y or =m.
>> ---
>> drivers/i2c/busses/Kconfig | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
>> index 69c46fe13777..76f4d024def0 100644
>> --- a/drivers/i2c/busses/Kconfig
>> +++ b/drivers/i2c/busses/Kconfig
>> @@ -490,7 +490,9 @@ config I2C_DESIGNWARE_PCI
>>
>> config I2C_DESIGNWARE_BAYTRAIL
>> bool "Intel Baytrail I2C semaphore support"
>> - depends on I2C_DESIGNWARE_PLATFORM && IOSF_MBI=y && ACPI
>> + depends on ACPI
>> + depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
>> + (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
>
> Would it be more readable in the following way
>
> depends on ACPI
> depends on I2C_DESIGNWARE_PLATFORM
> depends on IOSF_MBI if I2C_DESIGNWARE_PLATFORM=m
> depends on IOSF_MBI=y if I2C_DESIGNWARE_PLATFORM=y
>
For my eyes it looks a bit more complex but I think it's matter of
taste. However, the syntax you are proposing is not supported for
"depends on" like it is for "select" statements.
--
Jarkko
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] i2c: designware: Allow build Baytrail semaphore support when IOSF_MBI=m
2015-12-10 13:56 ` Jarkko Nikula
@ 2016-01-04 19:51 ` Wolfram Sang
0 siblings, 0 replies; 10+ messages in thread
From: Wolfram Sang @ 2016-01-04 19:51 UTC (permalink / raw)
To: Jarkko Nikula; +Cc: Andy Shevchenko, linux-i2c, Mika Westerberg, David Box
[-- Attachment #1: Type: text/plain, Size: 2073 bytes --]
On Thu, Dec 10, 2015 at 03:56:27PM +0200, Jarkko Nikula wrote:
> On 12/10/2015 02:59 PM, Andy Shevchenko wrote:
> >On Thu, 2015-12-10 at 13:48 +0200, Jarkko Nikula wrote:
> >>I believe i2c-designware-baytrail.c doesn't have strict dependency
> >>that
> >>Intel SoC IOSF Sideband support must be always built-in in order to
> >>be
> >>able to compile support for Intel Baytrail I2C bus sharing HW
> >>semaphore.
> >>
> >>Redefine build dependencies so that CONFIG_IOSF_MBI=y is required
> >>only
> >>when CONFIG_I2C_DESIGNWARE_PLATFORM is built-in.
> >>
> >>Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
> >>---
> >>Hi David. Can you ack/nak this patch as I'm not fully familiar with
> >>this
> >>HW semaphore can there be problems when IOSF_MBI is built as a
> >>module.
> >
> >
> >>At least I'm getting similar sensible looking "punit semaphore
> >>acquired/held for x ms" debug messages when I modprobe/rmmod
> >>i2c_designware_platform independently is the CONFIG_IOSF_MBI=y or =m.
> >>---
> >> drivers/i2c/busses/Kconfig | 4 +++-
> >> 1 file changed, 3 insertions(+), 1 deletion(-)
> >>
> >>diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
> >>index 69c46fe13777..76f4d024def0 100644
> >>--- a/drivers/i2c/busses/Kconfig
> >>+++ b/drivers/i2c/busses/Kconfig
> >>@@ -490,7 +490,9 @@ config I2C_DESIGNWARE_PCI
> >>
> >> config I2C_DESIGNWARE_BAYTRAIL
> >> bool "Intel Baytrail I2C semaphore support"
> >>- depends on I2C_DESIGNWARE_PLATFORM && IOSF_MBI=y && ACPI
> >>+ depends on ACPI
> >>+ depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
> >>+ (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
> >
> >Would it be more readable in the following way
> >
> >depends on ACPI
> >depends on I2C_DESIGNWARE_PLATFORM
> >depends on IOSF_MBI if I2C_DESIGNWARE_PLATFORM=m
> >depends on IOSF_MBI=y if I2C_DESIGNWARE_PLATFORM=y
> >
> For my eyes it looks a bit more complex but I think it's matter of taste.
> However, the syntax you are proposing is not supported for "depends on" like
> it is for "select" statements.
Any news? David?
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] i2c: designware: Allow build Baytrail semaphore support when IOSF_MBI=m
2015-12-10 11:48 ` [PATCH 2/2] i2c: designware: Allow build Baytrail semaphore support when IOSF_MBI=m Jarkko Nikula
2015-12-10 12:59 ` Andy Shevchenko
@ 2016-01-05 22:21 ` David E. Box
2016-04-12 21:27 ` Wolfram Sang
2016-04-12 21:46 ` David E. Box
2016-06-19 17:31 ` Wolfram Sang
3 siblings, 1 reply; 10+ messages in thread
From: David E. Box @ 2016-01-05 22:21 UTC (permalink / raw)
To: Jarkko Nikula; +Cc: linux-i2c, Wolfram Sang, Andy Shevchenko, Mika Westerberg
Hi
Sorry I missed this discussion. I believe the following code in
i2c_dw_eval_lock_support() should make it so that it doesn't matter how
IOSF_MBI is built:
if (!iosf_mbi_available())
return -EPROBE_DEFER;
I added this to address i2c_designware probing before iosf_mbi. It worked but
I do not recall if IOSF_MBI=m was the problem scenario. If so you can just
change it to:
depends in I2C_DESIGNWARE_PLATFORM && IOSF_MBI
Give me a few days to confirm on my Baytrail device.
David
On Thu, Dec 10, 2015 at 01:48:44PM +0200, Jarkko Nikula wrote:
> I believe i2c-designware-baytrail.c doesn't have strict dependency that
> Intel SoC IOSF Sideband support must be always built-in in order to be
> able to compile support for Intel Baytrail I2C bus sharing HW semaphore.
>
> Redefine build dependencies so that CONFIG_IOSF_MBI=y is required only
> when CONFIG_I2C_DESIGNWARE_PLATFORM is built-in.
>
> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
> ---
> Hi David. Can you ack/nak this patch as I'm not fully familiar with this
> HW semaphore can there be problems when IOSF_MBI is built as a module.
> At least I'm getting similar sensible looking "punit semaphore
> acquired/held for x ms" debug messages when I modprobe/rmmod
> i2c_designware_platform independently is the CONFIG_IOSF_MBI=y or =m.
> ---
> drivers/i2c/busses/Kconfig | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
> index 69c46fe13777..76f4d024def0 100644
> --- a/drivers/i2c/busses/Kconfig
> +++ b/drivers/i2c/busses/Kconfig
> @@ -490,7 +490,9 @@ config I2C_DESIGNWARE_PCI
>
> config I2C_DESIGNWARE_BAYTRAIL
> bool "Intel Baytrail I2C semaphore support"
> - depends on I2C_DESIGNWARE_PLATFORM && IOSF_MBI=y && ACPI
> + depends on ACPI
> + depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
> + (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
> help
> This driver enables managed host access to the PMIC I2C bus on select
> Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
> --
> 2.6.2
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] i2c: designware: Allow build Baytrail semaphore support when IOSF_MBI=m
2015-12-10 11:48 ` [PATCH 2/2] i2c: designware: Allow build Baytrail semaphore support when IOSF_MBI=m Jarkko Nikula
2015-12-10 12:59 ` Andy Shevchenko
2016-01-05 22:21 ` David E. Box
@ 2016-04-12 21:46 ` David E. Box
2016-06-19 17:31 ` Wolfram Sang
3 siblings, 0 replies; 10+ messages in thread
From: David E. Box @ 2016-04-12 21:46 UTC (permalink / raw)
To: Jarkko Nikula; +Cc: linux-i2c, Wolfram Sang, Andy Shevchenko, Mika Westerberg
On Thu, Dec 10, 2015 at 01:48:44PM +0200, Jarkko Nikula wrote:
> I believe i2c-designware-baytrail.c doesn't have strict dependency that
> Intel SoC IOSF Sideband support must be always built-in in order to be
> able to compile support for Intel Baytrail I2C bus sharing HW semaphore.
>
> Redefine build dependencies so that CONFIG_IOSF_MBI=y is required only
> when CONFIG_I2C_DESIGNWARE_PLATFORM is built-in.
>
> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
> ---
> Hi David. Can you ack/nak this patch as I'm not fully familiar with this
> HW semaphore can there be problems when IOSF_MBI is built as a module.
> At least I'm getting similar sensible looking "punit semaphore
> acquired/held for x ms" debug messages when I modprobe/rmmod
> i2c_designware_platform independently is the CONFIG_IOSF_MBI=y or =m.
> ---
> drivers/i2c/busses/Kconfig | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
> index 69c46fe13777..76f4d024def0 100644
> --- a/drivers/i2c/busses/Kconfig
> +++ b/drivers/i2c/busses/Kconfig
> @@ -490,7 +490,9 @@ config I2C_DESIGNWARE_PCI
>
> config I2C_DESIGNWARE_BAYTRAIL
> bool "Intel Baytrail I2C semaphore support"
> - depends on I2C_DESIGNWARE_PLATFORM && IOSF_MBI=y && ACPI
> + depends on ACPI
> + depends on (I2C_DESIGNWARE_PLATFORM=m && IOSF_MBI) || \
> + (I2C_DESIGNWARE_PLATFORM=y && IOSF_MBI=y)
> help
> This driver enables managed host access to the PMIC I2C bus on select
> Intel BayTrail platforms using the X-Powers AXP288 PMIC. It allows
> --
> 2.6.2
>
Acked-by: David Box <david.e.box@linux.intel.com>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/2] i2c: designware: Allow build Baytrail semaphore support when IOSF_MBI=m
2015-12-10 11:48 ` [PATCH 2/2] i2c: designware: Allow build Baytrail semaphore support when IOSF_MBI=m Jarkko Nikula
` (2 preceding siblings ...)
2016-04-12 21:46 ` David E. Box
@ 2016-06-19 17:31 ` Wolfram Sang
3 siblings, 0 replies; 10+ messages in thread
From: Wolfram Sang @ 2016-06-19 17:31 UTC (permalink / raw)
To: Jarkko Nikula; +Cc: linux-i2c, Andy Shevchenko, Mika Westerberg, David Box
[-- Attachment #1: Type: text/plain, Size: 529 bytes --]
On Thu, Dec 10, 2015 at 01:48:44PM +0200, Jarkko Nikula wrote:
> I believe i2c-designware-baytrail.c doesn't have strict dependency that
> Intel SoC IOSF Sideband support must be always built-in in order to be
> able to compile support for Intel Baytrail I2C bus sharing HW semaphore.
>
> Redefine build dependencies so that CONFIG_IOSF_MBI=y is required only
> when CONFIG_I2C_DESIGNWARE_PLATFORM is built-in.
>
> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Finally applied to for-next, thanks!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread