Re: [PATCH v3 3/5] spi: dw: Add support for master mode selection for DWC SSI controller

From: Serge Semin
Date: Thu Nov 11 2021 - 09:52:53 EST


Hello Mark,

On Thu, Nov 11, 2021 at 02:16:05PM +0000, Mark Brown wrote:
> On Thu, Nov 11, 2021 at 02:51:59PM +0800, nandhini.srikandan@xxxxxxxxx wrote:
>
> > Add support to select the controller mode as master mode by setting
> > Bit 31 of CTRLR0 register. This feature is supported for controller
> > versions above v1.02.
>

> Clearly older versions of the controller can also run in this mode...

Yes, but the driver doesn't support the slave mode at the moment.
So always enabling the master mode seems natural. (see my next comment
also concerning this matter)

>
> > - if (dws->caps & DW_SPI_CAP_KEEMBAY_MST)
> > - cr0 |= DWC_SSI_CTRLR0_KEEMBAY_MST;
> > + /* CTRLR0[31] MST */
> > + cr0 |= DWC_SSI_CTRLR0_MST;
>

> This makes the configuration unconditional, it's not gated by controller
> version checks or any kind of quirk any more meaning that if anything
> interprets that bit differently things might break. If this is really
> required to put the controller in master mode it seems that either the
> 1.02 version is not widespread or this is generally the hardware
> default.

We have already discussed this feature in v2:
https://patchwork.kernel.org/project/spi-devel-general/patch/20210824085856.12714-3-nandhini.srikandan@xxxxxxxxx/
Since that bit has been reserved before 1.02a but is no available for
any DWC SSI controller and the driver doesn't support the SPI-slave mode
at the moment I suggested to just always set that flag for the DWC SSI
code. Please see my reply to Nandhini here:
https://patchwork.kernel.org/project/spi-devel-general/patch/20210824085856.12714-3-nandhini.srikandan@xxxxxxxxx/#24433679

-Sergey