xref: /kernel/linux/linux-6.6/drivers/vfio/cdx/private.h
  • Home
  • History
  • Annotate Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /kernel/linux/linux-6.6/drivers/vfio/cdx/
162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2022-2023, Advanced Micro Devices, Inc.
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci#ifndef VFIO_CDX_PRIVATE_H
762306a36Sopenharmony_ci#define VFIO_CDX_PRIVATE_H
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#define VFIO_CDX_OFFSET_SHIFT    40
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_cistatic inline u64 vfio_cdx_index_to_offset(u32 index)
1262306a36Sopenharmony_ci{
1362306a36Sopenharmony_ci	return ((u64)(index) << VFIO_CDX_OFFSET_SHIFT);
1462306a36Sopenharmony_ci}
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_cistruct vfio_cdx_region {
1762306a36Sopenharmony_ci	u32			flags;
1862306a36Sopenharmony_ci	u32			type;
1962306a36Sopenharmony_ci	u64			addr;
2062306a36Sopenharmony_ci	resource_size_t		size;
2162306a36Sopenharmony_ci};
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_cistruct vfio_cdx_device {
2462306a36Sopenharmony_ci	struct vfio_device	vdev;
2562306a36Sopenharmony_ci	struct vfio_cdx_region	*regions;
2662306a36Sopenharmony_ci};
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci#endif /* VFIO_CDX_PRIVATE_H */
29

Indexes created Thu Nov 07 10:32:03 CST 2024