Re: [PATCH v4 0/3] drivers/soc/litex: support 32-bit subregisters, 64-bit CPUs
From: Stafford Horne
Date: Sat Dec 26 2020 - 17:38:30 EST
On Fri, Dec 25, 2020 at 07:16:46PM -0500, Gabriel Somlo wrote:
> This series expands on commit 22447a99c97e ("drivers/soc/litex: add LiteX
> SoC Controller driver"), adding support for handling both 8- and 32-bit
> LiteX CSR (MMIO) subregisters, on both 32- and 64-bit CPUs.
>
> Notes v4:
> - improved "eloquence" of some 3/3 commit blurb paragraphs
> - fixed instance of "disgusting" comment style :)
> - litex_[get|set]_reg() now using size_t for 'reg_size' argument
> - slightly tighter shift calculation in litex_set_reg()
>
> Notes v3:
> - split into smaller, more self-explanatory patches
> - more detailed commit blurb for "main payload" (3/3) patch
> - eliminate compiler warning on 32-bit architectures
>
> Notes v2:
> - fix typo (s/u32/u64/) in litex_read64().
>
> Notes v1:
> - LITEX_SUBREG_SIZE now provided by Kconfig.
> - it's not LITEX_REG_SIZE, but rather LITEX_SUBREG_ALIGN!
> - move litex_[get|set]_reg() to include/linux/litex.h and mark
> them as "static inline";
> - redo litex_[read|write][8|16|32|64]() using litex_[get|set]_reg()
> (compiler should produce code as efficient as hardcoded shifts,
> but also automatically matching LITEX_SUBREG_SIZE).
>
> Gabriel Somlo (3):
> drivers/soc/litex: move generic accessors to litex.h
> drivers/soc/litex: separate MMIO from subregister offset calculation
> drivers/soc/litex: support 32-bit subregisters, 64-bit CPUs
Thanks, this look good to me right now. I will wait for other reviewers to
chime in over the next week or two after the holidays.
Some minor things:
- It's customary to add "Changes since xx" on each patch after "---",
See: https://kernelnewbies.org/PatchTipsAndTricks
- Did you run your patches through "./scripts/checkpatch.pl"?
- Did you use "./scripts/get_maintainer.pl" to create the cc list? I usually
run: git send-email --to linux-kernel --cc-cmd ./scripts/get_maintainer.pl ...
From your cc list it seems you did, but maybe did it manually. (I setup
.get_maintainer.conf with --no-rolestats for this to work)
- In general check out:
https://www.kernel.org/doc/html/latest/process/submit-checklist.html
-Stafford
> drivers/soc/litex/Kconfig | 12 +++
> drivers/soc/litex/litex_soc_ctrl.c | 76 +--------------
> include/linux/litex.h | 151 +++++++++++++++++++----------
> 3 files changed, 115 insertions(+), 124 deletions(-)
>
> --
> 2.26.2
>