Messages in this thread | | | From | Clark Wang <> | Subject | RE: Re: [PATCH] spi: imx: add a check for speed_hz before calculating the clock | Date | Tue, 27 Apr 2021 08:33:06 +0000 |
| |
> -----Original Message----- > From: Mark Brown <broonie@kernel.org> > Sent: Thursday, April 8, 2021 21:44 > To: Clark Wang <xiaoning.wang@nxp.com> > Cc: shawnguo@kernel.org; s.hauer@pengutronix.de; festevam@gmail.com; > kernel@pengutronix.de; dl-linux-imx <linux-imx@nxp.com>; linux- > spi@vger.kernel.org; linux-arm-kernel@lists.infradead.org; linux- > kernel@vger.kernel.org > Subject: [EXT] Re: [PATCH] spi: imx: add a check for speed_hz before calculating > 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 the > controllers are sometimes not setting a maximum speed which this doesn't seem > to fix AFAICT? I'd expect the driver to be able to work one out based on the > input clock.
Hi Mark,
Yes, you are right. If the t->speed_hz is not provided, it will use spi->max_speed_hz. 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 later.
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 <xiaoning.wang@nxp.com> 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 <xiaoning.wang@nxp.com> Reviewed-by: Haibo Chen <haibo.chen@nxp.com>
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 change. > It's quite hard to tie the change to the changelog. [unhandled content-type:application/pkcs7-signature]
| |