[PATCH] drm/amdgpu: add AMDGPU_INFO_NUM_EVICTIONS

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 08/19/2016 03:48 AM, Marek Olšák wrote:
> From: Marek Olšák <marek.olsak at amd.com>
> 
> For profiling.
> 
> Signed-off-by: Marek Olšák <marek.olsak at amd.com>

Reviewed-by: Edward O'Callaghan <funfunctor at folklore1984.net>

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 1 +
>  drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 3 +++
>  include/uapi/drm/amdgpu_drm.h           | 2 ++
>  3 files changed, 6 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> index 2d7072a..a75d45a 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
> @@ -46,20 +46,21 @@
>  
>  #include "amdgpu_amdkfd.h"
>  
>  /*
>   * KMS wrapper.
>   * - 3.0.0 - initial driver
>   * - 3.1.0 - allow reading more status registers (GRBM, SRBM, SDMA, CP)
>   * - 3.2.0 - GFX8: Uses EOP_TC_WB_ACTION_EN, so UMDs don't have to do the same
>   *           at the end of IBs.
>   * - 3.3.0 - Add VM support for UVD on supported hardware.
> + * - 3.4.0 - Add AMDGPU_INFO_NUM_EVICTIONS.
>   */
>  #define KMS_DRIVER_MAJOR	3
>  #define KMS_DRIVER_MINOR	3
>  #define KMS_DRIVER_PATCHLEVEL	0
>  
>  int amdgpu_vram_limit = 0;
>  int amdgpu_gart_size = -1; /* auto */
>  int amdgpu_max_bo_reloc_rate = -1; /* auto */
>  int amdgpu_benchmarking = 0;
>  int amdgpu_testing = 0;
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> index 0fb5488..f0c01da 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
> @@ -360,20 +360,23 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
>  		ret = amdgpu_firmware_info(&fw_info, &info->query_fw, adev);
>  		if (ret)
>  			return ret;
>  
>  		return copy_to_user(out, &fw_info,
>  				    min((size_t)size, sizeof(fw_info))) ? -EFAULT : 0;
>  	}
>  	case AMDGPU_INFO_NUM_BYTES_MOVED:
>  		ui64 = atomic64_read(&adev->num_bytes_moved);
>  		return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0;
> +	case AMDGPU_INFO_NUM_EVICTIONS:
> +		ui64 = atomic64_read(&adev->num_evictions);
> +		return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0;
>  	case AMDGPU_INFO_VRAM_USAGE:
>  		ui64 = atomic64_read(&adev->vram_usage);
>  		return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0;
>  	case AMDGPU_INFO_VIS_VRAM_USAGE:
>  		ui64 = atomic64_read(&adev->vram_vis_usage);
>  		return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0;
>  	case AMDGPU_INFO_GTT_USAGE:
>  		ui64 = atomic64_read(&adev->gtt_usage);
>  		return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0;
>  	case AMDGPU_INFO_GDS_CONFIG: {
> diff --git a/include/uapi/drm/amdgpu_drm.h b/include/uapi/drm/amdgpu_drm.h
> index 8df3816..72eb21a 100644
> --- a/include/uapi/drm/amdgpu_drm.h
> +++ b/include/uapi/drm/amdgpu_drm.h
> @@ -474,20 +474,22 @@ struct drm_amdgpu_cs_chunk_data {
>  /* Information about GDS, etc. resource configuration */
>  #define AMDGPU_INFO_GDS_CONFIG			0x13
>  /* Query information about VRAM and GTT domains */
>  #define AMDGPU_INFO_VRAM_GTT			0x14
>  /* Query information about register in MMR address space*/
>  #define AMDGPU_INFO_READ_MMR_REG		0x15
>  /* Query information about device: rev id, family, etc. */
>  #define AMDGPU_INFO_DEV_INFO			0x16
>  /* visible vram usage */
>  #define AMDGPU_INFO_VIS_VRAM_USAGE		0x17
> +/* number of TTM buffer evictions */
> +#define AMDGPU_INFO_NUM_EVICTIONS		0x18
>  
>  #define AMDGPU_INFO_MMR_SE_INDEX_SHIFT	0
>  #define AMDGPU_INFO_MMR_SE_INDEX_MASK	0xff
>  #define AMDGPU_INFO_MMR_SH_INDEX_SHIFT	8
>  #define AMDGPU_INFO_MMR_SH_INDEX_MASK	0xff
>  
>  struct drm_amdgpu_query_fw {
>  	/** AMDGPU_INFO_FW_* */
>  	__u32 fw_type;
>  	/**
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20160821/1680bfc1/attachment.sig>


[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux