From: Pavel Machek <pavel@denx.de>
To: Borislav Petkov <bp@alien8.de>
Cc: tthayer@altera.com, robherring2@gmail.com, pawel.moll@arm.com,
mark.rutland@arm.com, ijc+devicetree@hellion.org.uk,
galak@codeaurora.org, rob@landley.net, linux@arm.linux.org.uk,
dinguyen@altera.com, dougthompson@xmission.com,
grant.likely@linaro.org, devicetree@vger.kernel.org,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
tthayer.linux@gmail.com, linux-arm-kernel@lists.infradead.org,
linux-edac@vger.kernel.org
Subject: Re: [PATCHv7 3/3] edac: altera: Add EDAC support for Altera SoC SDRAM Controller.
Date: Tue, 8 Jul 2014 14:04:32 +0200 [thread overview]
Message-ID: <20140708120432.GB8628@amd.pavel.ucw.cz> (raw)
In-Reply-To: <20140708115458.GC27659@pd.tnic>
On Tue 2014-07-08 13:54:58, Borislav Petkov wrote:
> On Tue, Jul 08, 2014 at 01:52:05PM +0200, Pavel Machek wrote:
> > I'm not joking. Try to understand and verify the code above. You
> > can't. The "descriptive macro names" are useless; all the code does is
> > split register in pieces. With the numbers it would be very obvious.
>
> No, you need to fix the names not switch to naked numbers.
Hiding numbers that are used just once into defines to put them out of
sight does not really help readability.
Compare:
+#define DRAMADDRW_COLBIT_MASK 0x001F
+#define DRAMADDRW_COLBIT_LSB 0
+#define DRAMADDRW_ROWBIT_MASK 0x02E0
+#define DRAMADDRW_ROWBIT_LSB 5
+#define DRAMADDRW_BANKBIT_MASK 0x1C00
+#define DRAMADDRW_BANKBIT_LSB 10
+#define DRAMADDRW_CSBIT_MASK 0xE000
+#define DRAMADDRW_CSBIT_LSB 13
(Insert few screens of code so that you have to scroll or split
window).
What information do the define names have? None, I already know how
hardware registers work.
+ col = (read_reg & DRAMADDRW_COLBIT_MASK) >>
+ DRAMADDRW_COLBIT_LSB;
+ row = (read_reg & DRAMADDRW_ROWBIT_MASK) >>
+ DRAMADDRW_ROWBIT_LSB;
+ bank = (read_reg & DRAMADDRW_BANKBIT_MASK) >>
+ DRAMADDRW_BANKBIT_LSB;
+ cs = (read_reg & DRAMADDRW_CSBIT_MASK) >>
+ DRAMADDRW_CSBIT_LSB;
Instead, we could have:
col = read_reg & 0x001F;
row = (read_reg & 0x02E0) >> 5;
bank = (read_reg & 0x1C00) >> 10;
cs = (read_reg & 0xE000) >> 13;
All information is preserved, code is shorter and easier to understand.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
prev parent reply other threads:[~2014-07-08 12:04 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-25 21:15 [PATCHv7 0/3] Addition of Altera SDRAM Controller Summary tthayer
2014-06-25 21:15 ` [PATCHv7 1/3] devicetree: Addition of the Altera SDRAM Controller tthayer
2014-06-25 21:15 ` [PATCHv7 2/3] devicetree: Addition of the Altera SDRAM EDAC tthayer
2014-06-26 9:45 ` Mark Rutland
2014-06-27 15:37 ` Thor Thayer
2014-07-09 20:07 ` Thor Thayer
2014-07-10 20:07 ` Alan Tull
2014-06-25 21:15 ` [PATCHv7 3/3] edac: altera: Add EDAC support for Altera SoC SDRAM Controller tthayer
2014-06-25 21:12 ` Dinh Nguyen
2014-06-25 21:22 ` Thor Thayer
2014-07-08 11:31 ` Pavel Machek
2014-07-08 11:42 ` Borislav Petkov
2014-07-08 11:52 ` Pavel Machek
[not found] ` <20140708115205.GA8628-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2014-07-08 11:54 ` Borislav Petkov
2014-07-08 12:04 ` Pavel Machek [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140708120432.GB8628@amd.pavel.ucw.cz \
--to=pavel@denx.de \
--cc=bp@alien8.de \
--cc=devicetree@vger.kernel.org \
--cc=dinguyen@altera.com \
--cc=dougthompson@xmission.com \
--cc=galak@codeaurora.org \
--cc=grant.likely@linaro.org \
--cc=ijc+devicetree@hellion.org.uk \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-edac@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=mark.rutland@arm.com \
--cc=pawel.moll@arm.com \
--cc=rob@landley.net \
--cc=robherring2@gmail.com \
--cc=tthayer.linux@gmail.com \
--cc=tthayer@altera.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).