From: Jerry Snitselaar <jsnitsel@redhat.com>
To: Vasant Hegde <vasant.hegde@amd.com>
Cc: iommu@lists.linux.dev, joro@8bytes.org,
suravee.suthikulpanit@amd.com,
Yazen Ghannam <yazen.ghannam@amd.com>
Subject: Re: [PATCH 1/2] iommu/amd: Use BIT/BIT_ULL macro to define bit fields
Date: Mon, 12 Jun 2023 11:55:03 -0700 [thread overview]
Message-ID: <otpf4apjgppcdkm7k7jfq36k7l72l4gqm45lrrimza2d46t45e@6wm5d3jmfxu3> (raw)
In-Reply-To: <20230609090631.6052-1-vasant.hegde@amd.com>
On Fri, Jun 09, 2023 at 09:06:30AM +0000, Vasant Hegde wrote:
> Make use of BIT macro when defining bitfields which makes it easy to read.
>
> No functional change intended.
>
> Suggested-by: Yazen Ghannam <yazen.ghannam@amd.com>
> Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
> ---
> drivers/iommu/amd/amd_iommu_types.h | 76 ++++++++++++++---------------
> 1 file changed, 38 insertions(+), 38 deletions(-)
>
> diff --git a/drivers/iommu/amd/amd_iommu_types.h b/drivers/iommu/amd/amd_iommu_types.h
> index ae0edeb379d4..a49cc2258a76 100644
> --- a/drivers/iommu/amd/amd_iommu_types.h
> +++ b/drivers/iommu/amd/amd_iommu_types.h
> @@ -84,21 +84,21 @@
>
>
> /* Extended Feature Bits */
> -#define FEATURE_PREFETCH (1ULL<<0)
> -#define FEATURE_PPR (1ULL<<1)
> -#define FEATURE_X2APIC (1ULL<<2)
> -#define FEATURE_NX (1ULL<<3)
> -#define FEATURE_GT (1ULL<<4)
> -#define FEATURE_IA (1ULL<<6)
> -#define FEATURE_GA (1ULL<<7)
> -#define FEATURE_HE (1ULL<<8)
> -#define FEATURE_PC (1ULL<<9)
> +#define FEATURE_PREFETCH BIT_ULL(0)
> +#define FEATURE_PPR BIT_ULL(1)
> +#define FEATURE_X2APIC BIT_ULL(2)
> +#define FEATURE_NX BIT_ULL(3)
> +#define FEATURE_GT BIT_ULL(4)
> +#define FEATURE_IA BIT_ULL(6)
> +#define FEATURE_GA BIT_ULL(7)
> +#define FEATURE_HE BIT_ULL(8)
> +#define FEATURE_PC BIT_ULL(9)
> #define FEATURE_GATS_SHIFT (12)
> #define FEATURE_GATS_MASK (3ULL)
> -#define FEATURE_GAM_VAPIC (1ULL<<21)
> -#define FEATURE_GIOSUP (1ULL<<48)
> -#define FEATURE_EPHSUP (1ULL<<50)
> -#define FEATURE_SNP (1ULL<<63)
> +#define FEATURE_GAM_VAPIC BIT_ULL(21)
> +#define FEATURE_GIOSUP BIT_ULL(48)
> +#define FEATURE_EPHSUP BIT_ULL(50)
> +#define FEATURE_SNP BIT_ULL(63)
>
> #define FEATURE_PASID_SHIFT 32
> #define FEATURE_PASID_MASK (0x1fULL << FEATURE_PASID_SHIFT)
> @@ -120,13 +120,13 @@
> #define PASID_MASK 0x0000ffff
>
> /* MMIO status bits */
> -#define MMIO_STATUS_EVT_OVERFLOW_INT_MASK (1 << 0)
> -#define MMIO_STATUS_EVT_INT_MASK (1 << 1)
> -#define MMIO_STATUS_COM_WAIT_INT_MASK (1 << 2)
> -#define MMIO_STATUS_PPR_INT_MASK (1 << 6)
> -#define MMIO_STATUS_GALOG_RUN_MASK (1 << 8)
> -#define MMIO_STATUS_GALOG_OVERFLOW_MASK (1 << 9)
> -#define MMIO_STATUS_GALOG_INT_MASK (1 << 10)
> +#define MMIO_STATUS_EVT_OVERFLOW_INT_MASK BIT(0)
> +#define MMIO_STATUS_EVT_INT_MASK BIT(1)
> +#define MMIO_STATUS_COM_WAIT_INT_MASK BIT(2)
> +#define MMIO_STATUS_PPR_INT_MASK BIT(6)
> +#define MMIO_STATUS_GALOG_RUN_MASK BIT(8)
> +#define MMIO_STATUS_GALOG_OVERFLOW_MASK BIT(9)
> +#define MMIO_STATUS_GALOG_INT_MASK BIT(10)
>
> /* event logging constants */
> #define EVENT_ENTRY_SIZE 0x10
> @@ -369,23 +369,23 @@
> /*
> * Bit value definition for I/O PTE fields
> */
> -#define IOMMU_PTE_PR (1ULL << 0)
> -#define IOMMU_PTE_U (1ULL << 59)
> -#define IOMMU_PTE_FC (1ULL << 60)
> -#define IOMMU_PTE_IR (1ULL << 61)
> -#define IOMMU_PTE_IW (1ULL << 62)
> +#define IOMMU_PTE_PR BIT_ULL(0)
> +#define IOMMU_PTE_U BIT_ULL(59)
> +#define IOMMU_PTE_FC BIT_ULL(60)
> +#define IOMMU_PTE_IR BIT_ULL(61)
> +#define IOMMU_PTE_IW BIT_ULL(62)
>
> /*
> * Bit value definition for DTE fields
> */
> -#define DTE_FLAG_V (1ULL << 0)
> -#define DTE_FLAG_TV (1ULL << 1)
> -#define DTE_FLAG_IR (1ULL << 61)
> -#define DTE_FLAG_IW (1ULL << 62)
> -
> -#define DTE_FLAG_IOTLB (1ULL << 32)
> -#define DTE_FLAG_GIOV (1ULL << 54)
> -#define DTE_FLAG_GV (1ULL << 55)
> +#define DTE_FLAG_V BIT_ULL(0)
> +#define DTE_FLAG_TV BIT_ULL(1)
> +#define DTE_FLAG_IR BIT_ULL(61)
> +#define DTE_FLAG_IW BIT_ULL(62)
> +
> +#define DTE_FLAG_IOTLB BIT_ULL(32)
> +#define DTE_FLAG_GIOV BIT_ULL(54)
> +#define DTE_FLAG_GV BIT_ULL(55)
Minor thing, but would it make sense to group these according
to which 64-bit word they are in? DTE_FLAG_IOTLB is in the
second 64-bit word of the DTE, and the rest are in the first.
Regards,
Jerry
> #define DTE_FLAG_MASK (0x3ffULL << 32)
> #define DTE_GLX_SHIFT (56)
> #define DTE_GLX_MASK (3)
> @@ -439,13 +439,13 @@
> #define MAX_DOMAIN_ID 65536
>
> /* Protection domain flags */
> -#define PD_DMA_OPS_MASK (1UL << 0) /* domain used for dma_ops */
> -#define PD_DEFAULT_MASK (1UL << 1) /* domain is a default dma_ops
> +#define PD_DMA_OPS_MASK BIT(0) /* domain used for dma_ops */
> +#define PD_DEFAULT_MASK BIT(1) /* domain is a default dma_ops
> domain for an IOMMU */
> -#define PD_PASSTHROUGH_MASK (1UL << 2) /* domain has no page
> +#define PD_PASSTHROUGH_MASK BIT(2) /* domain has no page
> translation */
> -#define PD_IOMMUV2_MASK (1UL << 3) /* domain has gcr3 table */
> -#define PD_GIOV_MASK (1UL << 4) /* domain enable GIOV support */
> +#define PD_IOMMUV2_MASK BIT(3) /* domain has gcr3 table */
> +#define PD_GIOV_MASK BIT(4) /* domain enable GIOV support */
>
> extern bool amd_iommu_dump;
> #define DUMP_printk(format, arg...) \
> --
> 2.31.1
>
next prev parent reply other threads:[~2023-06-12 18:55 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-09 9:06 [PATCH 1/2] iommu/amd: Use BIT/BIT_ULL macro to define bit fields Vasant Hegde
2023-06-09 9:06 ` [PATCH 2/2] iommu/amd: Remove extern from function prototypes Vasant Hegde
2023-06-12 18:58 ` Jerry Snitselaar
2023-06-12 18:55 ` Jerry Snitselaar [this message]
2023-06-14 9:45 ` [PATCH 1/2] iommu/amd: Use BIT/BIT_ULL macro to define bit fields Vasant Hegde
2023-06-16 14:34 ` Joerg Roedel
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=otpf4apjgppcdkm7k7jfq36k7l72l4gqm45lrrimza2d46t45e@6wm5d3jmfxu3 \
--to=jsnitsel@redhat.com \
--cc=iommu@lists.linux.dev \
--cc=joro@8bytes.org \
--cc=suravee.suthikulpanit@amd.com \
--cc=vasant.hegde@amd.com \
--cc=yazen.ghannam@amd.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).