From: Albert ARIBAUD <albert.aribaud@free.fr>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/8] armv7: cache maintenance operations for armv7
Date: Thu, 13 Jan 2011 14:14:58 +0100 [thread overview]
Message-ID: <4D2EFAD2.3070705@free.fr> (raw)
In-Reply-To: <4D2EEA83.2030200@ti.com>
Le 13/01/2011 13:05, Aneesh V a ?crit :
>>> What I need is something like below:
>>>
>>> #define get_bit_field(nr, start, mask)\
>>> (((nr) & (mask)) >> (start))
>>>
>>> #define set_bit_field(nr, start, mask, val)\
>>> (nr) = ((nr) & ~(mask)) | (((val) << (start)) & (mask))
>>>
>>> Can these go in a generic header? If so, can I add them to
>>> "include/linux/bitops.h"
>>
>> After some more thought, I am wondering if a *generic* field setting and
>> getting macro is really useful. So far everyone is fine with at most
>> defining field-specific macros.
>
> Is it going to be easy if you have many fields to deal with?
I don't see how the generic macros ease anything. Instead of defining say
#define get_field_F(x) ((x >> F_start) & F_mask)
#define set_field_F(x,v) { x = (x ~ F_mask ) | (v << F_start) }
You'd have
#define get_field_F(x) get_bit_field(x, F_start, F_mask)
#define set_field_F(x,v) set_bit_field(x, F_start, F_mask, v);
Which does not seem to bring any simplicity to me.
> However, I agree that the above may be specific to our needs.
>
> What may be of more generic interest may be something like this with
> the mask automatically generated:
> #define get_bit_field(nr, start, end)
> #define set_bit_field(nr, start, end, val)
>
> However, in our case I am already given the mask and start position for
> each field (automatically generated from hw database). So, I prefer the
> former versions.
>
> If that doesn't look useful for generic use I will put them in
> OMAP specific headers.
>
> Best regards,
> Aneesh
Amicalement,
--
Albert.
next prev parent reply other threads:[~2011-01-13 13:14 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-22 11:54 [U-Boot] [PATCH 0/8] armv7: cache maintenance operations Aneesh V
2010-12-22 11:54 ` [U-Boot] [PATCH 1/8] arm: make default implementation of cache_flush() weakly linked Aneesh V
2011-01-08 6:40 ` Albert ARIBAUD
2010-12-22 11:54 ` [U-Boot] [PATCH 2/8] armv7: cache maintenance operations for armv7 Aneesh V
2011-01-08 6:36 ` Albert ARIBAUD
2011-01-08 8:40 ` Albert ARIBAUD
2011-01-08 10:06 ` Aneesh V
2011-01-12 19:18 ` Albert ARIBAUD
2011-01-13 11:10 ` Aneesh V
2011-01-13 12:14 ` Aneesh V
2011-01-13 17:12 ` Albert ARIBAUD
2011-01-08 13:17 ` Aneesh V
2011-01-08 14:06 ` Albert ARIBAUD
2011-01-09 22:41 ` Wolfgang Denk
2011-01-10 4:56 ` Aneesh V
2011-01-17 21:47 ` Wolfgang Denk
2011-01-12 9:08 ` Aneesh V
2011-01-12 19:23 ` Albert ARIBAUD
2011-01-13 12:05 ` Aneesh V
2011-01-13 13:14 ` Albert ARIBAUD [this message]
2011-01-13 14:30 ` Aneesh V
2011-01-13 17:06 ` Albert ARIBAUD
2011-03-01 11:54 ` Aneesh V
2011-03-01 13:36 ` Albert ARIBAUD
2010-12-22 11:54 ` [U-Boot] [PATCH 3/8] armv7: integrate cache maintenance support Aneesh V
2011-01-08 6:54 ` Albert ARIBAUD
2011-01-08 8:15 ` Aneesh V
2010-12-22 11:54 ` [U-Boot] [PATCH 4/8] arm: minor fixes for cache and mmu handling Aneesh V
2011-01-08 7:04 ` Albert ARIBAUD
2011-01-08 9:13 ` Aneesh V
2010-12-22 11:54 ` [U-Boot] [PATCH 5/8] armv7: add PL310 support to u-boot Aneesh V
2011-01-09 22:48 ` Wolfgang Denk
2011-01-10 13:41 ` Aneesh V
2010-12-22 11:54 ` [U-Boot] [PATCH 6/8] armv7: adapt omap4 to the new cache maintenance framework Aneesh V
2011-01-09 22:52 ` Wolfgang Denk
2011-01-10 14:33 ` Aneesh V
2011-01-17 21:52 ` Wolfgang Denk
2010-12-22 11:54 ` [U-Boot] [PATCH 7/8] armv7: adapt omap3 " Aneesh V
2011-01-09 22:57 ` Wolfgang Denk
2011-01-10 14:41 ` Aneesh V
2011-01-17 21:55 ` Wolfgang Denk
2011-01-18 5:31 ` Aneesh V
2011-01-18 9:23 ` Wolfgang Denk
2010-12-22 11:54 ` [U-Boot] [PATCH 8/8] armv7: adapt s5pc1xx " Aneesh V
2010-12-27 7:25 ` Minkyu Kang
2010-12-27 11:22 ` Aneesh V
2011-01-07 5:27 ` Minkyu Kang
2010-12-23 4:53 ` [U-Boot] [PATCH 0/8] armv7: cache maintenance operations Steve Sakoman
2010-12-28 19:51 ` Paulraj, Sandeep
2011-01-08 7:07 ` Albert ARIBAUD
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=4D2EFAD2.3070705@free.fr \
--to=albert.aribaud@free.fr \
--cc=u-boot@lists.denx.de \
/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.