debugfs_remove_recursive(dev->priv.dbg.cq_debugfs);
 }
 
+void mlx5_pages_debugfs_init(struct mlx5_core_dev *dev)
+{
+       struct dentry *pages;
+
+       dev->priv.dbg.pages_debugfs = debugfs_create_dir("pages", dev->priv.dbg.dbg_root);
+       pages = dev->priv.dbg.pages_debugfs;
+
+       debugfs_create_u32("fw_pages_total", 0400, pages, &dev->priv.fw_pages);
+       debugfs_create_u32("fw_pages_vfs", 0400, pages, &dev->priv.vfs_pages);
+       debugfs_create_u32("fw_pages_host_pf", 0400, pages, &dev->priv.host_pf_pages);
+}
+
+void mlx5_pages_debugfs_cleanup(struct mlx5_core_dev *dev)
+{
+       debugfs_remove_recursive(dev->priv.dbg.pages_debugfs);
+}
+
 static u64 qp_read_field(struct mlx5_core_dev *dev, struct mlx5_core_qp *qp,
                         int index, int *is_str)
 {
 
                return -ENOMEM;
 
        xa_init(&dev->priv.page_root_xa);
+       mlx5_pages_debugfs_init(dev);
 
        return 0;
 }
 
 void mlx5_pagealloc_cleanup(struct mlx5_core_dev *dev)
 {
+       mlx5_pages_debugfs_cleanup(dev);
        xa_destroy(&dev->priv.page_root_xa);
        destroy_workqueue(dev->priv.pg_wq);
 }
 
        struct dentry *eq_debugfs;
        struct dentry *cq_debugfs;
        struct dentry *cmdif_debugfs;
+       struct dentry *pages_debugfs;
 };
 
 struct mlx5_ft_pool;
        struct mlx5_nb          pg_nb;
        struct workqueue_struct *pg_wq;
        struct xarray           page_root_xa;
-       int                     fw_pages;
+       u32                     fw_pages;
        atomic_t                reg_pages;
        struct list_head        free_list;
-       int                     vfs_pages;
-       int                     host_pf_pages;
+       u32                     vfs_pages;
+       u32                     host_pf_pages;
 
        struct mlx5_core_health health;
        struct list_head        traps;
 void mlx5_pagealloc_cleanup(struct mlx5_core_dev *dev);
 void mlx5_pagealloc_start(struct mlx5_core_dev *dev);
 void mlx5_pagealloc_stop(struct mlx5_core_dev *dev);
+void mlx5_pages_debugfs_init(struct mlx5_core_dev *dev);
+void mlx5_pages_debugfs_cleanup(struct mlx5_core_dev *dev);
 void mlx5_core_req_pages_handler(struct mlx5_core_dev *dev, u16 func_id,
                                 s32 npages, bool ec_function);
 int mlx5_satisfy_startup_pages(struct mlx5_core_dev *dev, int boot);