From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>,
Linus Walleij <linus.walleij@linaro.org>,
Magnus Damm <magnus.damm@gmail.com>,
"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
Linux-sh list <linux-sh@vger.kernel.org>
Subject: Re: [PATCH 2/4] pinctrl: sh-pfc: Store register/field widths in u8 instead of unsigned long
Date: Fri, 06 Mar 2015 13:05:24 +0200 [thread overview]
Message-ID: <2354666.zjhAAbqIil@avalon> (raw)
In-Reply-To: <CAMuHMdVYUod+rqrjmvtwqT4dbJiGtt+qQW0CbRd5j6uGFJ3=gQ@mail.gmail.com>
Hi Geert,
On Thursday 05 March 2015 10:19:33 Geert Uytterhoeven wrote:
> On Thu, Mar 5, 2015 at 10:03 AM, Laurent Pinchart wrote:
> >> --- a/drivers/pinctrl/sh-pfc/sh_pfc.h
> >> +++ b/drivers/pinctrl/sh-pfc/sh_pfc.h
> >> @@ -69,9 +69,10 @@ struct pinmux_func {
> >> };
> >>
> >> struct pinmux_cfg_reg {
> >> - unsigned long reg, reg_width, field_width;
> >> + unsigned long reg;
> >
> > How about making reg a u32 ? It won't make a difference in practice on
> > 32-bit systems, but it would be more explicit.
You might have missed this comment.
> > We could also save space by making reg a u16 and storing the register
> > offset only instead of the full address (assuming it can always fit in 16
> > bits, which should be checked). We'll also need to support 64-bit systems
> > at some point, and making reg a u64 would increase space waste.
>
> That would be more intrusive (and definitely needs to be in a separate
> patch), as reg is used here to store a physical register address, for
> conversion between physical and virtual addresses. I didn't want to go that
> far yet.
>
> u16 would indeed be nice, as it means reg, reg_width, and field_width
> would fit in one 32-bit word, which I hadn't realized. That means we can
> reduce each entry by 2 words instead of 1.
>
> For 64-bit that would still be suboptimal, as pointers are aligned to 8
> bytes, leading to gaps.
> Perhaps we do want __packed here, too? I don't think the performance drop of
> doing some unaligned accesses would be significant. This isn't a hot path.
--
Regards,
Laurent Pinchart
WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>,
Linus Walleij <linus.walleij@linaro.org>,
Magnus Damm <magnus.damm@gmail.com>,
"linux-gpio@vger.kernel.org" <linux-gpio@vger.kernel.org>,
Linux-sh list <linux-sh@vger.kernel.org>
Subject: Re: [PATCH 2/4] pinctrl: sh-pfc: Store register/field widths in u8 instead of unsigned long
Date: Fri, 06 Mar 2015 11:05:24 +0000 [thread overview]
Message-ID: <2354666.zjhAAbqIil@avalon> (raw)
In-Reply-To: <CAMuHMdVYUod+rqrjmvtwqT4dbJiGtt+qQW0CbRd5j6uGFJ3=gQ@mail.gmail.com>
Hi Geert,
On Thursday 05 March 2015 10:19:33 Geert Uytterhoeven wrote:
> On Thu, Mar 5, 2015 at 10:03 AM, Laurent Pinchart wrote:
> >> --- a/drivers/pinctrl/sh-pfc/sh_pfc.h
> >> +++ b/drivers/pinctrl/sh-pfc/sh_pfc.h
> >> @@ -69,9 +69,10 @@ struct pinmux_func {
> >> };
> >>
> >> struct pinmux_cfg_reg {
> >> - unsigned long reg, reg_width, field_width;
> >> + unsigned long reg;
> >
> > How about making reg a u32 ? It won't make a difference in practice on
> > 32-bit systems, but it would be more explicit.
You might have missed this comment.
> > We could also save space by making reg a u16 and storing the register
> > offset only instead of the full address (assuming it can always fit in 16
> > bits, which should be checked). We'll also need to support 64-bit systems
> > at some point, and making reg a u64 would increase space waste.
>
> That would be more intrusive (and definitely needs to be in a separate
> patch), as reg is used here to store a physical register address, for
> conversion between physical and virtual addresses. I didn't want to go that
> far yet.
>
> u16 would indeed be nice, as it means reg, reg_width, and field_width
> would fit in one 32-bit word, which I hadn't realized. That means we can
> reduce each entry by 2 words instead of 1.
>
> For 64-bit that would still be suboptimal, as pointers are aligned to 8
> bytes, leading to gaps.
> Perhaps we do want __packed here, too? I don't think the performance drop of
> doing some unaligned accesses would be significant. This isn't a hot path.
--
Regards,
Laurent Pinchart
next prev parent reply other threads:[~2015-03-06 11:05 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-27 17:38 [PATCH 0/4] pinctrl: sh-pfc: Fix pin bias and cleanups Geert Uytterhoeven
2015-02-27 17:38 ` Geert Uytterhoeven
2015-02-27 17:38 ` [PATCH 1/4] pinctrl: sh-pfc: Do not overwrite bias configuration Geert Uytterhoeven
2015-02-27 17:38 ` Geert Uytterhoeven
2015-03-05 8:57 ` Laurent Pinchart
2015-03-05 8:57 ` Laurent Pinchart
2015-03-06 10:45 ` Linus Walleij
2015-03-06 10:45 ` Linus Walleij
2015-02-27 17:38 ` [PATCH 2/4] pinctrl: sh-pfc: Store register/field widths in u8 instead of unsigned long Geert Uytterhoeven
2015-02-27 17:38 ` Geert Uytterhoeven
2015-03-05 9:03 ` Laurent Pinchart
2015-03-05 9:03 ` Laurent Pinchart
2015-03-05 9:19 ` Geert Uytterhoeven
2015-03-05 9:19 ` Geert Uytterhoeven
2015-03-05 18:02 ` Geert Uytterhoeven
2015-03-05 18:02 ` Geert Uytterhoeven
2015-03-06 10:55 ` Laurent Pinchart
2015-03-06 10:55 ` Laurent Pinchart
2015-03-06 11:05 ` Laurent Pinchart [this message]
2015-03-06 11:05 ` Laurent Pinchart
2015-03-06 11:21 ` Geert Uytterhoeven
2015-03-06 11:21 ` Geert Uytterhoeven
2015-03-06 11:31 ` Laurent Pinchart
2015-03-06 11:31 ` Laurent Pinchart
2015-03-06 10:48 ` Linus Walleij
2015-03-06 10:48 ` Linus Walleij
2015-03-06 11:26 ` Geert Uytterhoeven
2015-03-06 11:26 ` Geert Uytterhoeven
2015-03-06 11:34 ` Laurent Pinchart
2015-03-06 11:34 ` Laurent Pinchart
2015-02-27 17:38 ` [PATCH 3/4] pinctrl: sh-pfc: Use u32 to store register data Geert Uytterhoeven
2015-02-27 17:38 ` Geert Uytterhoeven
2015-03-05 9:14 ` Laurent Pinchart
2015-03-05 9:14 ` Laurent Pinchart
2015-03-05 9:28 ` Geert Uytterhoeven
2015-03-05 9:28 ` Geert Uytterhoeven
2015-03-09 16:37 ` Linus Walleij
2015-03-09 16:37 ` Linus Walleij
2015-03-09 17:56 ` Geert Uytterhoeven
2015-03-09 17:56 ` Geert Uytterhoeven
2015-02-27 17:38 ` [PATCH 4/4] pinctrl: sh-pfc: Use unsigned int for register/field widths and offsets Geert Uytterhoeven
2015-02-27 17:38 ` Geert Uytterhoeven
2015-03-05 9:20 ` Laurent Pinchart
2015-03-05 9:20 ` Laurent Pinchart
2015-03-05 9:34 ` Geert Uytterhoeven
2015-03-05 9:34 ` Geert Uytterhoeven
2015-03-06 10:57 ` Laurent Pinchart
2015-03-06 10:57 ` Laurent Pinchart
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=2354666.zjhAAbqIil@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=geert+renesas@glider.be \
--cc=geert@linux-m68k.org \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-sh@vger.kernel.org \
--cc=magnus.damm@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.