On Thu, Jan 24, 2019 at 06:47:23PM +0100, Thomas Bogendoerfer wrote:
>  #ifndef __ASSEMBLY__
> +/* Address translation entry for mapped pci32 accesses */
> +union bridge_ate {
> +     u64     ent;
> +     struct ate_s {
> +             u64     rmf:16;
> +             u64     addr:36;
> +             u64     targ:4;
> +             u64     reserved:3;
> +             u64     barrier:1;
> +             u64     prefetch:1;
> +             u64     precise:1;
> +             u64     coherent:1;
> +             u64     valid:1;
> +     } field;

Note that we generally try to avoid using bitfields for hardware
descriptions and instead use masking/shifting, possibly hidden in
macros.  The portability argument for that doesn't really apply
here as the code is obviously MIPS/big endian specific, but I think
it generally is a good example and more readable as well.

Reply via email to