linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] spi: Setup the master controller driver before setting the chipselect
@ 2015-10-16 15:29 Franklin S Cooper Jr
  2015-10-16 15:45 ` Andy Shevchenko
  0 siblings, 1 reply; 8+ messages in thread
From: Franklin S Cooper Jr @ 2015-10-16 15:29 UTC (permalink / raw)
  To: linux-kernel, linux-spi, broonie, nsekhar, ssantosh, iivanov,
	m-karicheri2, iivanov.xz, andy.shevchenko, jarkko.nikula,
	hkallweit1
  Cc: Franklin S Cooper Jr

SPI controllers may need to be properly setup before chip selects
can be used. Therefore, wait until the spi controller has a chance
to perform their setup procedure before trying to use the chip
select.

This also insures that the chip selects pins are in a good
state before asseting them which otherwise may cause confusion.

Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
---
Keystone 2 devices currently fail to boot in linux-next after the
below commit was applied:

spi: bitbang: switch to the generic implementation of transfer_one_message
commit: 0037686596832572bbca05ab168d9884d7d704c1

This patch allows Keystone 2 devices to boot again in linux-next.

Tested this patch on K2E evm and am437 starterkit which both have SPI
devices to insure regressions aren't seen.

V2 Changes:
Update commit message.

 drivers/spi/spi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
index 4c638f3..9d5525a 100644
--- a/drivers/spi/spi.c
+++ b/drivers/spi/spi.c
@@ -2059,11 +2059,11 @@ int spi_setup(struct spi_device *spi)
 	if (!spi->max_speed_hz)
 		spi->max_speed_hz = spi->master->max_speed_hz;
 
-	spi_set_cs(spi, false);
-
 	if (spi->master->setup)
 		status = spi->master->setup(spi);
 
+	spi_set_cs(spi, false);
+
 	dev_dbg(&spi->dev, "setup mode %d, %s%s%s%s%u bits/w, %u Hz max --> %d\n",
 			(int) (spi->mode & (SPI_CPOL | SPI_CPHA)),
 			(spi->mode & SPI_CS_HIGH) ? "cs_high, " : "",
-- 
2.6.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] spi: Setup the master controller driver before setting the chipselect
  2015-10-16 15:29 [PATCH v2] spi: Setup the master controller driver before setting the chipselect Franklin S Cooper Jr
@ 2015-10-16 15:45 ` Andy Shevchenko
  2015-10-16 15:47   ` Franklin S Cooper Jr.
  0 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2015-10-16 15:45 UTC (permalink / raw)
  To: Franklin S Cooper Jr
  Cc: linux-kernel, linux-spi, Mark Brown, Sekhar Nori, ssantosh,
	Ivan T. Ivanov, m-karicheri2, Ivan T. Ivanov, Jarkko Nikula,
	hkallweit1

On Fri, Oct 16, 2015 at 6:29 PM, Franklin S Cooper Jr <fcooper@ti.com> wrote:
> SPI controllers may need to be properly setup before chip selects
> can be used. Therefore, wait until the spi controller has a chance
> to perform their setup procedure before trying to use the chip
> select.
>
> This also insures that the chip selects pins are in a good
> state before asseting them which otherwise may cause confusion.
>
> Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>

Does it mean I have to test it again?

> ---
> Keystone 2 devices currently fail to boot in linux-next after the
> below commit was applied:
>
> spi: bitbang: switch to the generic implementation of transfer_one_message
> commit: 0037686596832572bbca05ab168d9884d7d704c1
>
> This patch allows Keystone 2 devices to boot again in linux-next.
>
> Tested this patch on K2E evm and am437 starterkit which both have SPI
> devices to insure regressions aren't seen.
>
> V2 Changes:
> Update commit message.
>
>  drivers/spi/spi.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
> index 4c638f3..9d5525a 100644
> --- a/drivers/spi/spi.c
> +++ b/drivers/spi/spi.c
> @@ -2059,11 +2059,11 @@ int spi_setup(struct spi_device *spi)
>         if (!spi->max_speed_hz)
>                 spi->max_speed_hz = spi->master->max_speed_hz;
>
> -       spi_set_cs(spi, false);
> -
>         if (spi->master->setup)
>                 status = spi->master->setup(spi);
>
> +       spi_set_cs(spi, false);
> +
>         dev_dbg(&spi->dev, "setup mode %d, %s%s%s%s%u bits/w, %u Hz max --> %d\n",
>                         (int) (spi->mode & (SPI_CPOL | SPI_CPHA)),
>                         (spi->mode & SPI_CS_HIGH) ? "cs_high, " : "",
> --
> 2.6.1
>



-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] spi: Setup the master controller driver before setting the chipselect
  2015-10-16 15:45 ` Andy Shevchenko
@ 2015-10-16 15:47   ` Franklin S Cooper Jr.
  2015-10-16 15:55     ` Andy Shevchenko
  0 siblings, 1 reply; 8+ messages in thread
From: Franklin S Cooper Jr. @ 2015-10-16 15:47 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: linux-kernel, linux-spi, Mark Brown, Sekhar Nori, ssantosh,
	Ivan T. Ivanov, m-karicheri2, Ivan T. Ivanov, Jarkko Nikula,
	hkallweit1



On 10/16/2015 10:45 AM, Andy Shevchenko wrote:
> On Fri, Oct 16, 2015 at 6:29 PM, Franklin S Cooper Jr <fcooper@ti.com> wrote:
>> SPI controllers may need to be properly setup before chip selects
>> can be used. Therefore, wait until the spi controller has a chance
>> to perform their setup procedure before trying to use the chip
>> select.
>>
>> This also insures that the chip selects pins are in a good
>> state before asseting them which otherwise may cause confusion.
>>
>> Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
> Does it mean I have to test it again?
Oops sorry. No the patch hasn't changed. I can shoot a v3 with your tested by included.
>
>> ---
>> Keystone 2 devices currently fail to boot in linux-next after the
>> below commit was applied:
>>
>> spi: bitbang: switch to the generic implementation of transfer_one_message
>> commit: 0037686596832572bbca05ab168d9884d7d704c1
>>
>> This patch allows Keystone 2 devices to boot again in linux-next.
>>
>> Tested this patch on K2E evm and am437 starterkit which both have SPI
>> devices to insure regressions aren't seen.
>>
>> V2 Changes:
>> Update commit message.
>>
>>  drivers/spi/spi.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
>> index 4c638f3..9d5525a 100644
>> --- a/drivers/spi/spi.c
>> +++ b/drivers/spi/spi.c
>> @@ -2059,11 +2059,11 @@ int spi_setup(struct spi_device *spi)
>>         if (!spi->max_speed_hz)
>>                 spi->max_speed_hz = spi->master->max_speed_hz;
>>
>> -       spi_set_cs(spi, false);
>> -
>>         if (spi->master->setup)
>>                 status = spi->master->setup(spi);
>>
>> +       spi_set_cs(spi, false);
>> +
>>         dev_dbg(&spi->dev, "setup mode %d, %s%s%s%s%u bits/w, %u Hz max --> %d\n",
>>                         (int) (spi->mode & (SPI_CPOL | SPI_CPHA)),
>>                         (spi->mode & SPI_CS_HIGH) ? "cs_high, " : "",
>> --
>> 2.6.1
>>
>
>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] spi: Setup the master controller driver before setting the chipselect
  2015-10-16 15:47   ` Franklin S Cooper Jr.
@ 2015-10-16 15:55     ` Andy Shevchenko
  2015-10-27 12:22       ` Franklin S Cooper Jr.
  0 siblings, 1 reply; 8+ messages in thread
From: Andy Shevchenko @ 2015-10-16 15:55 UTC (permalink / raw)
  To: Franklin S Cooper Jr.
  Cc: linux-kernel, linux-spi, Mark Brown, Sekhar Nori, ssantosh,
	Ivan T. Ivanov, m-karicheri2, Ivan T. Ivanov, Jarkko Nikula,
	hkallweit1

On Fri, Oct 16, 2015 at 6:47 PM, Franklin S Cooper Jr. <fcooper@ti.com> wrote:
>
>
> On 10/16/2015 10:45 AM, Andy Shevchenko wrote:
>> On Fri, Oct 16, 2015 at 6:29 PM, Franklin S Cooper Jr <fcooper@ti.com> wrote:
>>> SPI controllers may need to be properly setup before chip selects
>>> can be used. Therefore, wait until the spi controller has a chance
>>> to perform their setup procedure before trying to use the chip
>>> select.
>>>
>>> This also insures that the chip selects pins are in a good
>>> state before asseting them which otherwise may cause confusion.
>>>
>>> Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
>> Does it mean I have to test it again?
> Oops sorry. No the patch hasn't changed. I can shoot a v3 with your tested by included.

Whatever Mark prefers.


-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] spi: Setup the master controller driver before setting the chipselect
  2015-10-16 15:55     ` Andy Shevchenko
@ 2015-10-27 12:22       ` Franklin S Cooper Jr.
  2015-10-27 13:11         ` Grygorii Strashko
  2015-10-28  0:33         ` Mark Brown
  0 siblings, 2 replies; 8+ messages in thread
From: Franklin S Cooper Jr. @ 2015-10-27 12:22 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: linux-kernel, linux-spi, Mark Brown, Sekhar Nori, ssantosh,
	Ivan T. Ivanov, m-karicheri2, Ivan T. Ivanov, Jarkko Nikula,
	hkallweit1



On 10/16/2015 10:55 AM, Andy Shevchenko wrote:
> On Fri, Oct 16, 2015 at 6:47 PM, Franklin S Cooper Jr. <fcooper@ti.com> wrote:
>>
>> On 10/16/2015 10:45 AM, Andy Shevchenko wrote:
>>> On Fri, Oct 16, 2015 at 6:29 PM, Franklin S Cooper Jr <fcooper@ti.com> wrote:
>>>> SPI controllers may need to be properly setup before chip selects
>>>> can be used. Therefore, wait until the spi controller has a chance
>>>> to perform their setup procedure before trying to use the chip
>>>> select.
>>>>
>>>> This also insures that the chip selects pins are in a good
>>>> state before asseting them which otherwise may cause confusion.
>>>>
>>>> Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
>>> Does it mean I have to test it again?
>> Oops sorry. No the patch hasn't changed. I can shoot a v3 with your tested by included.
> Whatever Mark prefers.
Hi Mark,
I don't see that you pulled this patch into your topic/core branch just yet. Would you prefer
for me to shoot a v3 with Andy's tested by or will you just add it when your ready to
pull it in?

Without this patch several of our boards don't boot in linux-next so if there is anything you
need for me to do please let me know.
>
>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] spi: Setup the master controller driver before setting the chipselect
  2015-10-27 12:22       ` Franklin S Cooper Jr.
@ 2015-10-27 13:11         ` Grygorii Strashko
  2015-10-27 13:34           ` Grygorii Strashko
  2015-10-28  0:33         ` Mark Brown
  1 sibling, 1 reply; 8+ messages in thread
From: Grygorii Strashko @ 2015-10-27 13:11 UTC (permalink / raw)
  To: Franklin S Cooper Jr., Andy Shevchenko
  Cc: linux-kernel, linux-spi, Mark Brown, Sekhar Nori, ssantosh,
	Ivan T. Ivanov, m-karicheri2, Ivan T. Ivanov, Jarkko Nikula,
	hkallweit1, Ivan Khoronzhuk

On 10/27/2015 02:22 PM, Franklin S Cooper Jr. wrote:
>
>
> On 10/16/2015 10:55 AM, Andy Shevchenko wrote:
>> On Fri, Oct 16, 2015 at 6:47 PM, Franklin S Cooper Jr. <fcooper@ti.com> wrote:
>>>
>>> On 10/16/2015 10:45 AM, Andy Shevchenko wrote:
>>>> On Fri, Oct 16, 2015 at 6:29 PM, Franklin S Cooper Jr <fcooper@ti.com> wrote:
>>>>> SPI controllers may need to be properly setup before chip selects
>>>>> can be used. Therefore, wait until the spi controller has a chance
>>>>> to perform their setup procedure before trying to use the chip
>>>>> select.
>>>>>
>>>>> This also insures that the chip selects pins are in a good
>>>>> state before asseting them which otherwise may cause confusion.
>>>>>
>>>>> Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
>>>> Does it mean I have to test it again?
>>> Oops sorry. No the patch hasn't changed. I can shoot a v3 with your tested by included.
>> Whatever Mark prefers.
> Hi Mark,
> I don't see that you pulled this patch into your topic/core branch just yet. Would you prefer
> for me to shoot a v3 with Andy's tested by or will you just add it when your ready to
> pull it in?
>
> Without this patch several of our boards don't boot in linux-next so if there is anything you
> need for me to do please let me know.
>>
>>
>

Boot tested on K2HK:

Tested-by: Grygorii Strashko <grygorii.strashko@ti.com>
Tested-by: Ivan Khoronzhuk <ivan.khoronzhuk@lonaro.org>

-- 
regards,
-grygorii

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] spi: Setup the master controller driver before setting the chipselect
  2015-10-27 13:11         ` Grygorii Strashko
@ 2015-10-27 13:34           ` Grygorii Strashko
  0 siblings, 0 replies; 8+ messages in thread
From: Grygorii Strashko @ 2015-10-27 13:34 UTC (permalink / raw)
  To: Franklin S Cooper Jr., Andy Shevchenko
  Cc: linux-kernel, linux-spi, Mark Brown, Sekhar Nori, ssantosh,
	Ivan T. Ivanov, m-karicheri2, Ivan T. Ivanov, Jarkko Nikula,
	hkallweit1, Ivan Khoronzhuk

On 10/27/2015 03:11 PM, Grygorii Strashko wrote:
> On 10/27/2015 02:22 PM, Franklin S Cooper Jr. wrote:
>>
>>
>> On 10/16/2015 10:55 AM, Andy Shevchenko wrote:
>>> On Fri, Oct 16, 2015 at 6:47 PM, Franklin S Cooper Jr.
>>> <fcooper@ti.com> wrote:
>>>>
>>>> On 10/16/2015 10:45 AM, Andy Shevchenko wrote:
>>>>> On Fri, Oct 16, 2015 at 6:29 PM, Franklin S Cooper Jr
>>>>> <fcooper@ti.com> wrote:
>>>>>> SPI controllers may need to be properly setup before chip selects
>>>>>> can be used. Therefore, wait until the spi controller has a chance
>>>>>> to perform their setup procedure before trying to use the chip
>>>>>> select.
>>>>>>
>>>>>> This also insures that the chip selects pins are in a good
>>>>>> state before asseting them which otherwise may cause confusion.
>>>>>>
>>>>>> Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
>>>>> Does it mean I have to test it again?
>>>> Oops sorry. No the patch hasn't changed. I can shoot a v3 with your
>>>> tested by included.
>>> Whatever Mark prefers.
>> Hi Mark,
>> I don't see that you pulled this patch into your topic/core branch
>> just yet. Would you prefer
>> for me to shoot a v3 with Andy's tested by or will you just add it
>> when your ready to
>> pull it in?
>>
>> Without this patch several of our boards don't boot in linux-next so
>> if there is anything you
>> need for me to do please let me know.
>>>
>>>
>>
>
> Boot tested on K2HK:
>
> Tested-by: Grygorii Strashko <grygorii.strashko@ti.com>
> Tested-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>
>

Sry, Fix Ivan's e-mail
Tested-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>

-- 
regards,
-grygorii

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH v2] spi: Setup the master controller driver before setting the chipselect
  2015-10-27 12:22       ` Franklin S Cooper Jr.
  2015-10-27 13:11         ` Grygorii Strashko
@ 2015-10-28  0:33         ` Mark Brown
  1 sibling, 0 replies; 8+ messages in thread
From: Mark Brown @ 2015-10-28  0:33 UTC (permalink / raw)
  To: Franklin S Cooper Jr.
  Cc: Andy Shevchenko, linux-kernel, linux-spi, Sekhar Nori, ssantosh,
	Ivan T. Ivanov, m-karicheri2, Ivan T. Ivanov, Jarkko Nikula,
	hkallweit1

[-- Attachment #1: Type: text/plain, Size: 766 bytes --]

On Tue, Oct 27, 2015 at 07:22:51AM -0500, Franklin S Cooper Jr. wrote:

> I don't see that you pulled this patch into your topic/core branch just yet. Would you prefer
> for me to shoot a v3 with Andy's tested by or will you just add it when your ready to
> pull it in?

Please fix your mail client to word wrap within paragraphs at something
substantially less than 80 columns.  Doing this makes your messages much
easier to read and reply to.

Please don't send content free pings.  If your patch has been lost then
you will need to resend it, if your patch is waiting to be handled then
at best your message is likely to be threaded in with the original
thread and therefore not seen.  Either way a content free ping just adds
to mail volume rather than helping.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-10-28  0:33 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-16 15:29 [PATCH v2] spi: Setup the master controller driver before setting the chipselect Franklin S Cooper Jr
2015-10-16 15:45 ` Andy Shevchenko
2015-10-16 15:47   ` Franklin S Cooper Jr.
2015-10-16 15:55     ` Andy Shevchenko
2015-10-27 12:22       ` Franklin S Cooper Jr.
2015-10-27 13:11         ` Grygorii Strashko
2015-10-27 13:34           ` Grygorii Strashko
2015-10-28  0:33         ` Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).