[U-Boot] [PATCH v5 17/23] spi: cadence_qspi_apb: Use GENMASK
Tom Rini
trini at konsulko.com
Sun Oct 25 00:25:27 CEST 2015
On Sun, Oct 25, 2015 at 12:13:14AM +0200, Marek Vasut wrote:
> On Saturday, October 24, 2015 at 11:51:39 PM, Tom Rini wrote:
> > On Sat, Oct 24, 2015 at 02:41:41PM +0200, Marek Vasut wrote:
> > > On Saturday, October 24, 2015 at 05:39:04 AM, Jagan Teki wrote:
> > > > Replace numeric mask hexcodes with GENMASK macro
> > > > in cadence_qspi_apb
> > > >
> > > > Cc: Fabio Estevam <festevam at gmail.com>
> > > > Cc: Stefan Roese <sr at denx.de>
> > > > Cc: Marek Vasut <marex at denx.de>
> > > > Cc: Tom Rini <trini at konsulko.com>
> > > > Acked-by: Vikas Manocha <vikas.manocha at st.com>
> > > > Signed-off-by: Jagan Teki <jteki at openedev.com>
> > > > ---
> > > >
> > > > drivers/spi/cadence_qspi_apb.c | 46
> > > >
> > > > +++++++++++++++++++++--------------------- 1 file changed, 23
> > > > insertions(+), 23 deletions(-)
> > > >
> > > > diff --git a/drivers/spi/cadence_qspi_apb.c
> > > > b/drivers/spi/cadence_qspi_apb.c index 7786dd6..662d3bb 100644
> > > > --- a/drivers/spi/cadence_qspi_apb.c
> > > > +++ b/drivers/spi/cadence_qspi_apb.c
> > > > @@ -44,7 +44,7 @@
> > > >
> > > > #define CQSPI_INST_TYPE_QUAD (2)
> > > >
> > > > #define CQSPI_STIG_DATA_LEN_MAX (8)
> > > >
> > > > -#define CQSPI_INDIRECTTRIGGER_ADDR_MASK (0xFFFFF)
> > > > +#define CQSPI_INDIRECTTRIGGER_ADDR_MASK GENMASK(19, 0)
> > > >
> > > > #define CQSPI_DUMMY_CLKS_PER_BYTE (8)
> > > > #define CQSPI_DUMMY_BYTES_MAX (4)
> > > >
> > > > @@ -65,8 +65,8 @@
> > > >
> > > > #define CQSPI_REG_CONFIG_CHIPSELECT_LSB 10
> > > > #define CQSPI_REG_CONFIG_BAUD_LSB 19
> > > > #define CQSPI_REG_CONFIG_IDLE_LSB 31
> > > >
> > > > -#define CQSPI_REG_CONFIG_CHIPSELECT_MASK 0xF
> > > > -#define CQSPI_REG_CONFIG_BAUD_MASK 0xF
> > > > +#define CQSPI_REG_CONFIG_CHIPSELECT_MASK GENMASK(3, 0)
> > > > +#define CQSPI_REG_CONFIG_BAUD_MASK GENMASK(3, 0)
> > > >
> > > > #define CQSPI_REG_RD_INSTR 0x04
> > > > #define CQSPI_REG_RD_INSTR_OPCODE_LSB 0
> > > >
> > > > @@ -75,10 +75,10 @@
> > > >
> > > > #define CQSPI_REG_RD_INSTR_TYPE_DATA_LSB 16
> > > > #define CQSPI_REG_RD_INSTR_MODE_EN_LSB 20
> > > > #define CQSPI_REG_RD_INSTR_DUMMY_LSB 24
> > > >
> > > > -#define CQSPI_REG_RD_INSTR_TYPE_INSTR_MASK 0x3
> > > > -#define CQSPI_REG_RD_INSTR_TYPE_ADDR_MASK 0x3
> > > > -#define CQSPI_REG_RD_INSTR_TYPE_DATA_MASK 0x3
> > > > -#define CQSPI_REG_RD_INSTR_DUMMY_MASK 0x1F
> > > > +#define CQSPI_REG_RD_INSTR_TYPE_INSTR_MASK GENMASK(1, 0)
> > > > +#define CQSPI_REG_RD_INSTR_TYPE_ADDR_MASK GENMASK(1, 0)
> > > > +#define CQSPI_REG_RD_INSTR_TYPE_DATA_MASK GENMASK(1, 0)
> > > > +#define CQSPI_REG_RD_INSTR_DUMMY_MASK GENMASK(4, 0)
> > > >
> > > > #define CQSPI_REG_WR_INSTR 0x08
> > > > #define CQSPI_REG_WR_INSTR_OPCODE_LSB 0
> > > >
> > > > @@ -88,23 +88,23 @@
> > > >
> > > > #define CQSPI_REG_DELAY_TCHSH_LSB 8
> > > > #define CQSPI_REG_DELAY_TSD2D_LSB 16
> > > > #define CQSPI_REG_DELAY_TSHSL_LSB 24
> > > >
> > > > -#define CQSPI_REG_DELAY_TSLCH_MASK 0xFF
> > > > -#define CQSPI_REG_DELAY_TCHSH_MASK 0xFF
> > > > -#define CQSPI_REG_DELAY_TSD2D_MASK 0xFF
> > > > -#define CQSPI_REG_DELAY_TSHSL_MASK 0xFF
> > > > +#define CQSPI_REG_DELAY_TSLCH_MASK GENMASK(7, 0)
> > > > +#define CQSPI_REG_DELAY_TCHSH_MASK GENMASK(7, 0)
> > > > +#define CQSPI_REG_DELAY_TSD2D_MASK GENMASK(7, 0)
> > > > +#define CQSPI_REG_DELAY_TSHSL_MASK GENMASK(7, 0)
> > > >
> > > > #define CQSPI_READLCAPTURE 0x10
> > > > #define CQSPI_READLCAPTURE_BYPASS_LSB 0
> > > > #define CQSPI_READLCAPTURE_DELAY_LSB 1
> > > >
> > > > -#define CQSPI_READLCAPTURE_DELAY_MASK 0xF
> > > > +#define CQSPI_READLCAPTURE_DELAY_MASK GENMASK(3, 0)
> > > >
> > > > #define CQSPI_REG_SIZE 0x14
> > > > #define CQSPI_REG_SIZE_ADDRESS_LSB 0
> > > > #define CQSPI_REG_SIZE_PAGE_LSB 4
> > > > #define CQSPI_REG_SIZE_BLOCK_LSB 16
> > > >
> > > > -#define CQSPI_REG_SIZE_ADDRESS_MASK 0xF
> > > > -#define CQSPI_REG_SIZE_PAGE_MASK 0xFFF
> > > > -#define CQSPI_REG_SIZE_BLOCK_MASK 0x3F
> > > > +#define CQSPI_REG_SIZE_ADDRESS_MASK GENMASK(3, 0)
> > > > +#define CQSPI_REG_SIZE_PAGE_MASK GENMASK(11, 0)
> > > > +#define CQSPI_REG_SIZE_BLOCK_MASK GENMASK(5, 0)
> > > >
> > > > #define CQSPI_REG_SRAMPARTITION 0x18
> > > > #define CQSPI_REG_INDIRECTTRIGGER 0x1C
> > > >
> > > > @@ -115,8 +115,8 @@
> > > >
> > > > #define CQSPI_REG_SDRAMLEVEL 0x2C
> > > > #define CQSPI_REG_SDRAMLEVEL_RD_LSB 0
> > > > #define CQSPI_REG_SDRAMLEVEL_WR_LSB 16
> > > >
> > > > -#define CQSPI_REG_SDRAMLEVEL_RD_MASK 0xFFFF
> > > > -#define CQSPI_REG_SDRAMLEVEL_WR_MASK 0xFFFF
> > > > +#define CQSPI_REG_SDRAMLEVEL_RD_MASK GENMASK(15, 0)
> > > > +#define CQSPI_REG_SDRAMLEVEL_WR_MASK GENMASK(15, 0)
> > > >
> > > > #define CQSPI_REG_IRQSTATUS 0x40
> > > > #define CQSPI_REG_IRQMASK 0x44
> > > >
> > > > @@ -142,11 +142,11 @@
> > > >
> > > > #define CQSPI_REG_CMDCTRL_RD_BYTES_LSB 20
> > > > #define CQSPI_REG_CMDCTRL_RD_EN_LSB 23
> > > > #define CQSPI_REG_CMDCTRL_OPCODE_LSB 24
> > > >
> > > > -#define CQSPI_REG_CMDCTRL_DUMMY_MASK 0x1F
> > > > -#define CQSPI_REG_CMDCTRL_WR_BYTES_MASK 0x7
> > > > -#define CQSPI_REG_CMDCTRL_ADD_BYTES_MASK 0x3
> > > > -#define CQSPI_REG_CMDCTRL_RD_BYTES_MASK 0x7
> > > > -#define CQSPI_REG_CMDCTRL_OPCODE_MASK 0xFF
> > > > +#define CQSPI_REG_CMDCTRL_DUMMY_MASK GENMASK(4, 0)
> > > > +#define CQSPI_REG_CMDCTRL_WR_BYTES_MASK GENMASK(2, 0)
> > > > +#define CQSPI_REG_CMDCTRL_ADD_BYTES_MASK GENMASK(1, 0)
> > > > +#define CQSPI_REG_CMDCTRL_RD_BYTES_MASK GENMASK(2, 0)
> > > > +#define CQSPI_REG_CMDCTRL_OPCODE_MASK GENMASK(7, 0)
> > > >
> > > > #define CQSPI_REG_INDIRECTWR 0x70
> > > > #define CQSPI_REG_INDIRECTWR_START_MASK BIT(0)
> > > >
> > > > @@ -463,7 +463,7 @@ void cadence_qspi_apb_chipselect(void *reg_base,
> > > >
> > > > * CS2 to 4b'1011
> > > > * CS3 to 4b'0111
> > > > */
> > > >
> > > > - chip_select = 0xF & ~(1 << chip_select);
> > > > + chip_select = GENMASK(3, 0) & ~(1 << chip_select);
> > >
> > > Again, this only makes things more cryptic for no good reason. NAK
> >
> > Personal preference.
>
> Yeah, sorry. They still didn't install CPP into my brain.
True. But it's called GENMASK not BVTYKS. Now, I'm not saying I never
checked that a macro was doing what it said it was doing, but that's
what reviewing the earlier parts of the patch are for. Of course I'm
the person that pulls out bc and verifies hex-to-binary when fiddling
with bitfields so I'm biased here.
> > So as I asked before, who is mainly mucking around
> > in these drivers?
>
> I guess Chin would be the one who's mostly plumbing in Cadence recently,
> followed by Stefan Roese.
OK. So, if Chin or Stefan doesn't like it, that's a good reason to NAK
it. And the same goes for anyone else and the drivers they own and muck
around in.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20151024/bbe6b88a/attachment.sig>
More information about the U-Boot
mailing list