[lkml]   [2021]   [Apr]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRE: Re: [PATCH] spi: imx: add a check for speed_hz before calculating the clock

> -----Original Message-----
> From: Mark Brown <>
> Sent: Thursday, April 8, 2021 21:44
> To: Clark Wang <>
> Cc:;;;
>; dl-linux-imx <>; linux-
>;; linux-
> Subject: [EXT] Re: [PATCH] spi: imx: add a check for speed_hz before
> the clock
> On Thu, Apr 08, 2021 at 06:33:47PM +0800, Clark Wang wrote:
> > When some drivers use spi to send data, spi_transfer->speed_hz is not
> > assigned. If spidev->max_speed_hz is not assigned as well, it will
> > cause an error in configuring the clock.
> > Add a check for these two values before configuring the clock. An
> > error will be returned when they are not assigned.
> For the case where the transfer speed is not set __spi_validate() will
take the
> controller's maximum speed so the controller should just be able to
> unconditionally use the transfer's speed. Your issue is therefore that
> controllers are sometimes not setting a maximum speed which this doesn't
> to fix AFAICT? I'd expect the driver to be able to work one out based on
> input clock.

Hi Mark,

Yes, you are right. If the t->speed_hz is not provided, it will use
This patch is not needed.
The issue I met is that t->speed_hz is not provided in slave mode. But this
is normal in slave mode.
The problem is spi-imx should not config the clock divider in slave mode. I
will send a new patch to disable the clock configuration in slave mode

However, I notice that you have applied this patch to the next branch?
Will you revert this patch?
I think you may want to apply this patch I sent before.

Author: Clark Wang <>
Date: Mon Dec 14 17:05:04 2020 +0800

spi: imx: add 16/32 bits per word support for slave mode

Enable 16/32 bits per word support for spi-imx slave mode.
It only support 8 bits per word in slave mode before.

Signed-off-by: Clark Wang <>
Reviewed-by: Haibo Chen <>

Thank you very much! :)

Best Regards,
Clark Wang

> > struct spi_imx_devtype_data {
> > void (*intctrl)(struct spi_imx_data *, int);
> > int (*prepare_message)(struct spi_imx_data *, struct spi_message *);
> > - int (*prepare_transfer)(struct spi_imx_data *, struct spi_device *,
> > - struct spi_transfer *);
> > + int (*prepare_transfer)(struct spi_imx_data *, struct spi_device *);
> > void (*trigger)(struct spi_imx_data *);
> > int (*rx_available)(struct spi_imx_data *);
> > void (*reset)(struct spi_imx_data *);
> This seems to be a fairly big and surprising refactoring for the described
> It's quite hard to tie the change to the changelog.
[unhandled content-type:application/pkcs7-signature]
 \ /
  Last update: 2021-04-27 10:33    [W:0.106 / U:0.672 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site