forked from mirrors/linux
		
	 8874e414fe
			
		
	
	
		8874e414fe
		
			
		
	
	
	
	
		
			
			Add defines to get major and minor version from a TPMI version field value. This will avoid code duplication to convert in every feature driver. Also add define for invalid version field. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Link: https://lore.kernel.org/r/20231003184916.1860084-2-srinivas.pandruvada@linux.intel.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0-only */
 | |
| /*
 | |
|  * intel_tpmi.h: Intel TPMI core external interface
 | |
|  */
 | |
| 
 | |
| #ifndef _INTEL_TPMI_H_
 | |
| #define _INTEL_TPMI_H_
 | |
| 
 | |
| #include <linux/bitfield.h>
 | |
| 
 | |
| #define TPMI_VERSION_INVALID	0xff
 | |
| #define TPMI_MINOR_VERSION(val)	FIELD_GET(GENMASK(4, 0), val)
 | |
| #define TPMI_MAJOR_VERSION(val)	FIELD_GET(GENMASK(7, 5), val)
 | |
| 
 | |
| /**
 | |
|  * struct intel_tpmi_plat_info - Platform information for a TPMI device instance
 | |
|  * @package_id:	CPU Package id
 | |
|  * @bus_number:	PCI bus number
 | |
|  * @device_number: PCI device number
 | |
|  * @function_number: PCI function number
 | |
|  *
 | |
|  * Structure to store platform data for a TPMI device instance. This
 | |
|  * struct is used to return data via tpmi_get_platform_data().
 | |
|  */
 | |
| struct intel_tpmi_plat_info {
 | |
| 	u8 package_id;
 | |
| 	u8 bus_number;
 | |
| 	u8 device_number;
 | |
| 	u8 function_number;
 | |
| };
 | |
| 
 | |
| struct intel_tpmi_plat_info *tpmi_get_platform_data(struct auxiliary_device *auxdev);
 | |
| struct resource *tpmi_get_resource_at_index(struct auxiliary_device *auxdev, int index);
 | |
| int tpmi_get_resource_count(struct auxiliary_device *auxdev);
 | |
| 
 | |
| int tpmi_get_feature_status(struct auxiliary_device *auxdev, int feature_id, int *locked,
 | |
| 			    int *disabled);
 | |
| #endif
 |