示例#1
0
文件: vgpu.c 项目: AshishNamdev/linux
/**
 * intel_gvt_create_vgpu - create a virtual GPU
 * @gvt: GVT device
 * @type: type of the vGPU to create
 *
 * This function is called when user wants to create a virtual GPU.
 *
 * Returns:
 * pointer to intel_vgpu, error pointer if failed.
 */
struct intel_vgpu *intel_gvt_create_vgpu(struct intel_gvt *gvt,
				struct intel_vgpu_type *type)
{
	struct intel_vgpu_creation_params param;
	struct intel_vgpu *vgpu;

	param.handle = 0;
	param.primary = 1;
	param.low_gm_sz = type->low_gm_size;
	param.high_gm_sz = type->high_gm_size;
	param.fence_sz = type->fence;

	/* XXX current param based on MB */
	param.low_gm_sz = BYTES_TO_MB(param.low_gm_sz);
	param.high_gm_sz = BYTES_TO_MB(param.high_gm_sz);

	vgpu = __intel_gvt_create_vgpu(gvt, &param);
	if (IS_ERR(vgpu))
		return vgpu;

	/* calculate left instance change for types */
	intel_gvt_update_vgpu_types(gvt);

	return vgpu;
}
示例#2
0
/**
 * \brief Convert size to string in appropriate units
 * 
 * \param size Numeric size
 * \return String representing size
 */
std::string Scanner::sizeToStr(uint64_t size)
{
	std::stringstream ss;
	ss << std::fixed << std::setprecision(2);
	if (size < KILOBYTE) {
		ss << size << " B";
	} else if (size < MEGABYTE) {
		ss << BYTES_TO_KB(size) << " KB";
	} else if (size < GIGABYTE) {
		ss << BYTES_TO_MB(size) << " MB";
	} else {
		ss << BYTES_TO_GB(size) << " GB";
	}
	
	return ss.str();
}