mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-14 07:44:21 +08:00
platform/x86/intel/vsec.h: Move to include/linux
Some drivers outside of PDX86 need access to the vsec header. Move it to include/linux to make it easier to include. Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Reviewed-by: Michael J. Ruhl <michael.j.ruhl@intel.com> Signed-off-by: David E. Box <david.e.box@linux.intel.com> Link: https://lore.kernel.org/r/20240725122346.4063913-2-michael.j.ruhl@intel.com Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
parent
a6fe07ce52
commit
fc9aef4382
@ -11599,7 +11599,8 @@ F: drivers/platform/x86/intel/uncore-frequency/
|
|||||||
INTEL VENDOR SPECIFIC EXTENDED CAPABILITIES DRIVER
|
INTEL VENDOR SPECIFIC EXTENDED CAPABILITIES DRIVER
|
||||||
M: David E. Box <david.e.box@linux.intel.com>
|
M: David E. Box <david.e.box@linux.intel.com>
|
||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/platform/x86/intel/vsec.*
|
F: drivers/platform/x86/intel/vsec.c
|
||||||
|
F: include/linux/intel_vsec.h
|
||||||
|
|
||||||
INTEL VIRTUAL BUTTON DRIVER
|
INTEL VIRTUAL BUTTON DRIVER
|
||||||
M: AceLan Kao <acelan.kao@canonical.com>
|
M: AceLan Kao <acelan.kao@canonical.com>
|
||||||
|
@ -9,11 +9,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/cleanup.h>
|
#include <linux/cleanup.h>
|
||||||
|
#include <linux/intel_vsec.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/io-64-nonatomic-lo-hi.h>
|
#include <linux/io-64-nonatomic-lo-hi.h>
|
||||||
|
|
||||||
#include "core.h"
|
#include "core.h"
|
||||||
#include "../vsec.h"
|
|
||||||
#include "../pmt/telemetry.h"
|
#include "../pmt/telemetry.h"
|
||||||
|
|
||||||
#define SSRAM_HDR_SIZE 0x100
|
#define SSRAM_HDR_SIZE 0x100
|
||||||
|
@ -9,12 +9,12 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
#include <linux/intel_vsec.h>
|
||||||
#include <linux/io-64-nonatomic-lo-hi.h>
|
#include <linux/io-64-nonatomic-lo-hi.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
|
|
||||||
#include "../vsec.h"
|
|
||||||
#include "class.h"
|
#include "class.h"
|
||||||
|
|
||||||
#define PMT_XA_START 1
|
#define PMT_XA_START 1
|
||||||
|
@ -2,13 +2,13 @@
|
|||||||
#ifndef _INTEL_PMT_CLASS_H
|
#ifndef _INTEL_PMT_CLASS_H
|
||||||
#define _INTEL_PMT_CLASS_H
|
#define _INTEL_PMT_CLASS_H
|
||||||
|
|
||||||
|
#include <linux/intel_vsec.h>
|
||||||
#include <linux/xarray.h>
|
#include <linux/xarray.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/bits.h>
|
#include <linux/bits.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
|
|
||||||
#include "../vsec.h"
|
|
||||||
#include "telemetry.h"
|
#include "telemetry.h"
|
||||||
|
|
||||||
/* PMT access types */
|
/* PMT access types */
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/auxiliary_bus.h>
|
#include <linux/auxiliary_bus.h>
|
||||||
|
#include <linux/intel_vsec.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
@ -16,7 +17,6 @@
|
|||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include <linux/overflow.h>
|
#include <linux/overflow.h>
|
||||||
|
|
||||||
#include "../vsec.h"
|
|
||||||
#include "class.h"
|
#include "class.h"
|
||||||
|
|
||||||
/* Crashlog discovery header types */
|
/* Crashlog discovery header types */
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/auxiliary_bus.h>
|
#include <linux/auxiliary_bus.h>
|
||||||
|
#include <linux/intel_vsec.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
@ -16,7 +17,6 @@
|
|||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include <linux/overflow.h>
|
#include <linux/overflow.h>
|
||||||
|
|
||||||
#include "../vsec.h"
|
|
||||||
#include "class.h"
|
#include "class.h"
|
||||||
|
|
||||||
#define TELEM_SIZE_OFFSET 0x0
|
#define TELEM_SIZE_OFFSET 0x0
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#include <linux/bits.h>
|
#include <linux/bits.h>
|
||||||
#include <linux/bitfield.h>
|
#include <linux/bitfield.h>
|
||||||
#include <linux/device.h>
|
#include <linux/device.h>
|
||||||
|
#include <linux/intel_vsec.h>
|
||||||
#include <linux/iopoll.h>
|
#include <linux/iopoll.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
@ -22,8 +23,6 @@
|
|||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
|
|
||||||
#include "vsec.h"
|
|
||||||
|
|
||||||
#define ACCESS_TYPE_BARID 2
|
#define ACCESS_TYPE_BARID 2
|
||||||
#define ACCESS_TYPE_LOCAL 3
|
#define ACCESS_TYPE_LOCAL 3
|
||||||
|
|
||||||
|
@ -51,6 +51,7 @@
|
|||||||
#include <linux/debugfs.h>
|
#include <linux/debugfs.h>
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
#include <linux/intel_tpmi.h>
|
#include <linux/intel_tpmi.h>
|
||||||
|
#include <linux/intel_vsec.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
#include <linux/iopoll.h>
|
#include <linux/iopoll.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
@ -59,8 +60,6 @@
|
|||||||
#include <linux/sizes.h>
|
#include <linux/sizes.h>
|
||||||
#include <linux/string_helpers.h>
|
#include <linux/string_helpers.h>
|
||||||
|
|
||||||
#include "vsec.h"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct intel_tpmi_pfs_entry - TPMI PM Feature Structure (PFS) entry
|
* struct intel_tpmi_pfs_entry - TPMI PM Feature Structure (PFS) entry
|
||||||
* @tpmi_id: TPMI feature identifier (what the feature is and its data format).
|
* @tpmi_id: TPMI feature identifier (what the feature is and its data format).
|
||||||
|
@ -17,14 +17,13 @@
|
|||||||
#include <linux/bits.h>
|
#include <linux/bits.h>
|
||||||
#include <linux/cleanup.h>
|
#include <linux/cleanup.h>
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
#include <linux/kernel.h>
|
|
||||||
#include <linux/idr.h>
|
#include <linux/idr.h>
|
||||||
|
#include <linux/intel_vsec.h>
|
||||||
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
|
|
||||||
#include "vsec.h"
|
|
||||||
|
|
||||||
#define PMT_XA_START 0
|
#define PMT_XA_START 0
|
||||||
#define PMT_XA_MAX INT_MAX
|
#define PMT_XA_MAX INT_MAX
|
||||||
#define PMT_XA_LIMIT XA_LIMIT(PMT_XA_START, PMT_XA_MAX)
|
#define PMT_XA_LIMIT XA_LIMIT(PMT_XA_START, PMT_XA_MAX)
|
||||||
@ -341,7 +340,7 @@ static bool intel_vsec_walk_vsec(struct pci_dev *pdev,
|
|||||||
void intel_vsec_register(struct pci_dev *pdev,
|
void intel_vsec_register(struct pci_dev *pdev,
|
||||||
struct intel_vsec_platform_info *info)
|
struct intel_vsec_platform_info *info)
|
||||||
{
|
{
|
||||||
if (!pdev || !info)
|
if (!pdev || !info || !info->headers)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
intel_vsec_walk_header(pdev, info);
|
intel_vsec_walk_header(pdev, info);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* SPDX-License-Identifier: GPL-2.0 */
|
/* SPDX-License-Identifier: GPL-2.0 */
|
||||||
#ifndef _VSEC_H
|
#ifndef _INTEL_VSEC_H
|
||||||
#define _VSEC_H
|
#define _INTEL_VSEC_H
|
||||||
|
|
||||||
#include <linux/auxiliary_bus.h>
|
#include <linux/auxiliary_bus.h>
|
||||||
#include <linux/bits.h>
|
#include <linux/bits.h>
|
||||||
@ -67,7 +67,14 @@ enum intel_vsec_quirks {
|
|||||||
VSEC_QUIRK_EARLY_HW = BIT(4),
|
VSEC_QUIRK_EARLY_HW = BIT(4),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Platform specific data */
|
/**
|
||||||
|
* struct intel_vsec_platform_info - Platform specific data
|
||||||
|
* @parent: parent device in the auxbus chain
|
||||||
|
* @headers: list of headers to define the PMT client devices to create
|
||||||
|
* @caps: bitmask of PMT capabilities for the given headers
|
||||||
|
* @quirks: bitmask of VSEC device quirks
|
||||||
|
* @base_addr: allow a base address to be specified (rather than derived)
|
||||||
|
*/
|
||||||
struct intel_vsec_platform_info {
|
struct intel_vsec_platform_info {
|
||||||
struct device *parent;
|
struct device *parent;
|
||||||
struct intel_vsec_header **headers;
|
struct intel_vsec_header **headers;
|
||||||
@ -76,6 +83,18 @@ struct intel_vsec_platform_info {
|
|||||||
u64 base_addr;
|
u64 base_addr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct intel_sec_device - Auxbus specific device information
|
||||||
|
* @auxdev: auxbus device struct for auxbus access
|
||||||
|
* @pcidev: pci device associated with the device
|
||||||
|
* @resource: any resources shared by the parent
|
||||||
|
* @ida: id reference
|
||||||
|
* @num_resources: number of resources
|
||||||
|
* @id: xarray id
|
||||||
|
* @priv_data: any private data needed
|
||||||
|
* @quirks: specified quirks
|
||||||
|
* @base_addr: base address of entries (if specified)
|
||||||
|
*/
|
||||||
struct intel_vsec_device {
|
struct intel_vsec_device {
|
||||||
struct auxiliary_device auxdev;
|
struct auxiliary_device auxdev;
|
||||||
struct pci_dev *pcidev;
|
struct pci_dev *pcidev;
|
||||||
@ -103,6 +122,13 @@ static inline struct intel_vsec_device *auxdev_to_ivdev(struct auxiliary_device
|
|||||||
return container_of(auxdev, struct intel_vsec_device, auxdev);
|
return container_of(auxdev, struct intel_vsec_device, auxdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if IS_ENABLED(CONFIG_INTEL_VSEC)
|
||||||
void intel_vsec_register(struct pci_dev *pdev,
|
void intel_vsec_register(struct pci_dev *pdev,
|
||||||
struct intel_vsec_platform_info *info);
|
struct intel_vsec_platform_info *info);
|
||||||
|
#else
|
||||||
|
static inline void intel_vsec_register(struct pci_dev *pdev,
|
||||||
|
struct intel_vsec_platform_info *info)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
Loading…
Reference in New Issue
Block a user