Message ID | 20211115181917.7521-1-Sergey.Semin@baikalelectronics.ru |
---|---|
Headers | show |
Series | spi: dw: Cleanup macros/funcs naming and add IP-core version support | expand |
On Mon, Nov 15, 2021 at 09:19:17PM +0300, Serge Semin wrote: > Since the DW_SPI_CAP_DWC_HSSI capability has just been replaced with using > the DW SSI IP-core versions interface, the DW SPI capability flags are now > represented with a gap. Let's fix it by redefining the DW_SPI_CAP_DFS32 > macro to setting BIT(2) of the capabilities field. > > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> > Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com> Fine with me, thanks! Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> > --- > > Changelog v3: > - This is a new patch unpinned from the previous one as of Andy > suggested. > --- > drivers/spi/spi-dw.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/spi/spi-dw.h b/drivers/spi/spi-dw.h > index 8334e6b35f89..d5ee5130601e 100644 > --- a/drivers/spi/spi-dw.h > +++ b/drivers/spi/spi-dw.h > @@ -32,7 +32,7 @@ > /* DW SPI controller capabilities */ > #define DW_SPI_CAP_CS_OVERRIDE BIT(0) > #define DW_SPI_CAP_KEEMBAY_MST BIT(1) > -#define DW_SPI_CAP_DFS32 BIT(3) > +#define DW_SPI_CAP_DFS32 BIT(2) > > /* Register offsets (Generic for both DWC APB SSI and DWC SSI IP-cores) */ > #define DW_SPI_CTRLR0 0x00 > -- > 2.33.0 >
On Tue, Nov 16, 2021 at 12:13:07PM +0200, Andy Shevchenko wrote: > On Mon, Nov 15, 2021 at 09:19:17PM +0300, Serge Semin wrote: > > Since the DW_SPI_CAP_DWC_HSSI capability has just been replaced with using > > the DW SSI IP-core versions interface, the DW SPI capability flags are now > > represented with a gap. Let's fix it by redefining the DW_SPI_CAP_DFS32 > > macro to setting BIT(2) of the capabilities field. > > > > Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> > > Suggested-by: Andy Shevchenko <andy.shevchenko@gmail.com> > > Fine with me, thanks! > Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com> Great! Thanks to you too for very fast responses and thorough review. -Sergey > > > --- > > > > Changelog v3: > > - This is a new patch unpinned from the previous one as of Andy > > suggested. > > --- > > drivers/spi/spi-dw.h | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/spi/spi-dw.h b/drivers/spi/spi-dw.h > > index 8334e6b35f89..d5ee5130601e 100644 > > --- a/drivers/spi/spi-dw.h > > +++ b/drivers/spi/spi-dw.h > > @@ -32,7 +32,7 @@ > > /* DW SPI controller capabilities */ > > #define DW_SPI_CAP_CS_OVERRIDE BIT(0) > > #define DW_SPI_CAP_KEEMBAY_MST BIT(1) > > -#define DW_SPI_CAP_DFS32 BIT(3) > > +#define DW_SPI_CAP_DFS32 BIT(2) > > > > /* Register offsets (Generic for both DWC APB SSI and DWC SSI IP-cores) */ > > #define DW_SPI_CTRLR0 0x00 > > -- > > 2.33.0 > > > > -- > With Best Regards, > Andy Shevchenko > >
On Mon, 15 Nov 2021 21:19:10 +0300, Serge Semin wrote: > I was going to submit a cleanup patchset for the DW SSI driver for a > long time, but due to lack of free time couldn't make it so far. > Nandhini's series [1] made me to proceed with this task so mate would > finally have his patchset accepted and merged into the mainline kernel. > > There are four cleanup patches here and three feature patches. In the > framework of the former patches we convert the DW SPI driver to using > module namespaces and provide a better code organization. In particular > the second part concerns the methods and macros naming unification (using > a unified prefixes of the code object names) and the CSR fields macro > implementation using the bitfield helpers available in the kernel. The > later patches introduce the DW SSI IP-core versions interface so it > could be used for a version-specific features implementation. Nandhini > will be mostly interested in the later patches in the framework of his > series [1]. > > [...] Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next Thanks! [1/7] spi: dw: Add a symbols namespace for the core module commit: a62bacba81c477a6fd8f15da593ad02305a3d6da [2/7] spi: dw: Discard redundant DW SSI Frame Formats enumeration commit: 21b6b3809b840ad3d3f0689aac227929c04e9518 [3/7] spi: dw: Put the driver entities naming in order commit: 725b0e3ea899ff1cb799756ade302e7bc13a8559 [4/7] spi: dw: Convert to using the Bitfield access macros commit: ec77c086dc5b2eb422ff588f91cc011137fa9ea3 [5/7] spi: dw: Introduce Synopsys IP-core versions interface commit: 2cc8d9227bbba7d6f3790a86f1ff0d665a75f3b8 [6/7] spi: dw: Replace DWC_HSSI capability with IP-core version checker commit: 2b8a47e0b6984b9795baa20ddcbd37e9ea9b2a91 [7/7] spi: dw: Define the capabilities in a continuous bit-flags set commit: 44ebcb44584f81d1d38fafb45cf57d651f44616e All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark
I was going to submit a cleanup patchset for the DW SSI driver for a long time, but due to lack of free time couldn't make it so far. Nandhini's series [1] made me to proceed with this task so mate would finally have his patchset accepted and merged into the mainline kernel. There are four cleanup patches here and three feature patches. In the framework of the former patches we convert the DW SPI driver to using module namespaces and provide a better code organization. In particular the second part concerns the methods and macros naming unification (using a unified prefixes of the code object names) and the CSR fields macro implementation using the bitfield helpers available in the kernel. The later patches introduce the DW SSI IP-core versions interface so it could be used for a version-specific features implementation. Nandhini will be mostly interested in the later patches in the framework of his series [1]. Nandhini, could you please test the patchset out on your DWC SSI hardware? After it's merged into the spi/for-next branch of the Mark' repository you will be able to rebase your series on top of it and use the last IP-core version interface for your benefit. Andy, I have added your tag to all the patches except the last one since it's new (though suggested by you). [1] https://lore.kernel.org/linux-spi/20211111065201.10249-4-nandhini.srikandan@intel.com Link: https://lore.kernel.org/linux-spi/20211112204927.8830-1-Sergey.Semin@baikalelectronics.ru Changelog v2: - Replace "assi" suffixes with "pssi" in the spi-dw-mmio.c methods. (Thanks Andy for noticing this pity mistake) - Add new patches: [PATCH v2 6/6] spi: dw: Replace DWC_HSSI capability with IP-core version checker [PATCH v2 1/6] spi: dw: Add symbol namespaces for the core and DMA modules - Replace the ASCII-to-integer conversion with a unified IP-core versioning interface (Suggested by Andy). Link: https://lore.kernel.org/linux-spi/20211114223026.13359-1-Sergey.Semin@baikalelectronics.ru Changelog v3: - Discard the symbols importing from the spi-dw-dma object since it's linked into the spi-dw-core module anyway thus having the same symbols namespace. - Move the DW_SPI_CAP_DFS32 capability flag position fix to a separate patch. Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: Andy Shevchenko <andy@kernel.org> Cc: linux-spi@vger.kernel.org Cc: linux-kernel@vger.kernel.org Serge Semin (7): spi: dw: Add a symbols namespace for the core module spi: dw: Discard redundant DW SSI Frame Formats enumeration spi: dw: Put the driver entities naming in order spi: dw: Convert to using the Bitfield access macros spi: dw: Introduce Synopsys IP-core versions interface spi: dw: Replace DWC_HSSI capability with IP-core version checker spi: dw: Define the capabilities in a continuous bit-flags set drivers/spi/spi-dw-bt1.c | 9 +- drivers/spi/spi-dw-core.c | 175 ++++++++++++++++++++---------------- drivers/spi/spi-dw-dma.c | 55 ++++++------ drivers/spi/spi-dw-mmio.c | 22 ++--- drivers/spi/spi-dw-pci.c | 60 ++++++------- drivers/spi/spi-dw.h | 182 ++++++++++++++++++++------------------ 6 files changed, 271 insertions(+), 232 deletions(-)