auto
  	   1ˆ¾Ï0ÃÒ     3ˆÐÏƒ-?ÎÃÒ E    3/* 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>

struct oobmsm_plat_info;

#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)

/*
 * List of supported TMPI IDs.
 * Some TMPI IDs are not used by Linux, so the numbers are not consecutive.
 */
enum intel_tpmi_id {
	TPMI_ID_RAPL = 0,	/* Running Average Power Limit */
	TPMI_ID_PEM = 1,	/* Power and Perf excursion Monitor */
	TPMI_ID_UNCORE = 2,	/* Uncore Frequency Scaling */
	TPMI_ID_SST = 5,	/* Speed Select Technology */
	TPMI_ID_PLR = 0xc,	/* Performance Limit Reasons */
	TPMI_CONTROL_ID = 0x80,	/* Special ID for getting feature status */
	TPMI_INFO_ID = 0x81,	/* Special ID for PCI BDF and Package ID information */
};

struct oobmsm_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, bool *read_blocked,
			    bool *write_blocked);
struct dentry *tpmi_get_debugfs_dir(struct auxiliary_device *auxdev);
#endif
  <   5ˆl–Ým_Jµ!®Å8 ¸ËW˜´oÐ….	Æ¿Ëa–Ým_J*j"Tâ€rã-\”Å£Ô ?÷     5ELF          >    �§      @       è“         @ 8  @                                 p€      p€                    �       �       �      mö     mö                   �      �      �     4Ð      4Ð                   Pa     Pq     Pq     H      °Z                   �v     �†     �†                                ¨      ¨      ¨                                   È      È      È      $       $              Såtd   ¨      ¨      ¨                             Påtd                                     Qåtd                                                  Råtd   Pa     Pq     Pq     °      °                      GNU   À                   GNU *¯¤£ó‚ÂÀ¾Å{�y ƒ­­    Å   ‚          0”-P   ÐF%€@DX     D CJp("ÈAI        BX0@    €`  C @ t " @€¡!¤@Ä€  @ $(’ 
ˆ €@ $  "€ P €    \À	‚P$  �   BET"     @  @¢D  �* ¡H *€P pì "  €$	4   \#0@ Ä0 ¢!1 H$ ÁD  ‹€  €4‚‚       „   ‡   ˆ           Š           ‹   �   Ž           �   �   ‘   ”       –           —   š       ›   œ           £   ¤   ¥           ¦               §   ª           «   ¬       ®           ¯       °               ±           ²   ³       ´       ¶       ·       ¹   º   »   ¼       ½   À   Á   Ã   Å       Ê           Ì   Ï       Ò       Ó   Ô   Õ       Ø   Û   Ü           Þ       ß   á   ä       æ   ç   ê       ë           ì   î   ð   ñ           ó       ô   õ           ö   ÷   ø   ú   ü   ý       þ   ÿ                                  
                                                                     #  $  %  &              '  (  ,  -  .      /      2  5  6  9  :  ;  <      =  ?              A  C  D  F  G  bL+x®9’�yÇLË€ÏÁ�T©h	Xeû)µ$µ<]e (šê�©ÃÖ=¡#©Ãû¥¢£†££†!§*Öï¨°‡íÔbpEÎƒÓ¥aªóÞKn,Œ0o¯?€2xWÑm k)"ÕT.Epf~ô˜cwì)*Öhye† ’êÝ*�KuÇ„=kÞV[}×Ze‹ŽŸ³°æ“\#þŸRåµî”VÕ$-­¦.ZQ‚Ò`ï‘CÐ?Â+­:fÏ¥{ñ‚”�L«úÖ`e»ˆ‚U›ÐmØ¬÷¥®+¥Þ`{q;¢i‘¯_KQº |mI#O¡ßÞå«�LÀ²[ö{õ‹DÀÏa¤W”ž�:ÿBy¼^á=�IUeT>Pû%e›|`ÔkêßÑgFLé`Ú±
æs¯­[P€nFu38KÞw`è�Ö`w5ºÕ–bVŒ*¨Æí²ÿ3¶F,\¯×Eê:-/YèQùÛ*�söqt¸Û#ž|¸»¸ˆjÓ‘6
T–¹W^½Í¹‚dšêX> �·½÷µžû0”êäSwÝŸhâo{¸Fõï‘‡—LjÖeÜëŒ�ná-Û�×¶ˆ�¯e–.„ÞèNê†ÉÔÕï¦I_œ2ðsõ�§¿ã	aeÃ�U?:©Õk·*lÝÄ¨„::o/–õ†›P'eÑáô�T|�íN¯¹�î‰
ÍÊaqPûcÞpa2 Ø`˜7<‚uVØÞÄQèí6Pû½\qîmx[QÙù1ïâ=È£N	GYeYÈ›0�0sC(½¯f²™âÁZgßs²F˜¥s›�ºMµrÛ™º‡(5n‘õè%ÄÇ:�AÉÚåq]ŠºÏ{B¢…gÌT–­­[7q³ƒ/ªÛi OG\*ÈÚù�³émšãèŽÒn…û‡Pìºï—{J�/¤ ´�uI_ÿb‡w*Åt¶SG£Y	XeÔ+úñðqÉ€â×Šy+ŠÀ£|i[(à%¤¸ªm;´uôtÿ'®wÿ—{            