From: Cyrille Pitchen <cyrille.pitchen@atmel.com>
To: David Laight <David.Laight@ACULAB.COM>,
"'Thomas Petazzoni'" <thomas.petazzoni@free-electrons.com>
Cc: "nicolas.ferre@atmel.com" <nicolas.ferre@atmel.com>,
"davem@davemloft.net" <davem@davemloft.net>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"soren.brinkmann@xilinx.com" <soren.brinkmann@xilinx.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 1/1] net/macb: add TX multiqueue support for gem
Date: Fri, 12 Dec 2014 09:59:18 +0100 [thread overview]
Message-ID: <548AAE66.8070501@atmel.com> (raw)
In-Reply-To: <063D6719AE5E284EB5DD2968C1650D6D1CA0BA36@AcuExch.aculab.com>
Le 12/12/2014 10:45, David Laight a écrit :
> From: Thomas Petazzoni
>> On Thu, 11 Dec 2014 11:16:51 +0100, Cyrille Pitchen wrote:
>>
>>> +#define GEM_ISR1 0x0400
>>> +#define GEM_ISR2 0x0404
>>> +#define GEM_ISR3 0x0408
>>> +#define GEM_ISR4 0x040c
>>> +#define GEM_ISR5 0x0410
>>> +#define GEM_ISR6 0x0414
>>> +#define GEM_ISR7 0x0418
>>
>> What about doing instead:
>>
>> #define GEM_ISR(q) ((q) == 0 ? MACB_ISR : 0x400 + (q) << 2)
>>
>> And ditto for all other registers, which will save a lot of boring repeated code.
>
> It will probably add a lot of object code and, depending on how often
> the registers are accesses, might have performance impact.
>
> Having:
> #define GEM_ISR(n) (0x400 + (n) << 4)
> will save source code.
>
> David
>
>
>
So you suggest that we keep the unsigned int fields ISR, IMR, IER, IDR, TBQP in
the struct macb_queue and initialize them once for all in macb_probe() like
patch v2 does but only replace the GEM_ISR1 .. GEM_ISR7 defines by GEM_ISR(n)
in macb.h?
This way there would be to test at run time and we can handle the special
register mapping of queue0.
Is it what you meant?
Regards,
Cyrille
next prev parent reply other threads:[~2014-12-12 9:58 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-11 10:16 [PATCH v2 0/1] net/macb: add TX multiqueue support for gem Cyrille Pitchen
2014-12-11 10:16 ` [PATCH v2 1/1] " Cyrille Pitchen
2014-12-11 19:31 ` Thomas Petazzoni
2014-12-12 8:24 ` Cyrille Pitchen
2014-12-12 9:45 ` David Laight
2014-12-12 8:59 ` Cyrille Pitchen [this message]
2014-12-12 9:59 ` David Laight
2014-12-12 9:57 ` Cyrille Pitchen
2014-12-12 9:52 ` Thomas Petazzoni
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=548AAE66.8070501@atmel.com \
--to=cyrille.pitchen@atmel.com \
--cc=David.Laight@ACULAB.COM \
--cc=davem@davemloft.net \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nicolas.ferre@atmel.com \
--cc=soren.brinkmann@xilinx.com \
--cc=thomas.petazzoni@free-electrons.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