Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v6.5 65 lines 1.6 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef _VSEC_H 3#define _VSEC_H 4 5#include <linux/auxiliary_bus.h> 6#include <linux/bits.h> 7 8#define VSEC_CAP_TELEMETRY BIT(0) 9#define VSEC_CAP_WATCHER BIT(1) 10#define VSEC_CAP_CRASHLOG BIT(2) 11#define VSEC_CAP_SDSI BIT(3) 12#define VSEC_CAP_TPMI BIT(4) 13 14struct pci_dev; 15struct resource; 16 17enum intel_vsec_quirks { 18 /* Watcher feature not supported */ 19 VSEC_QUIRK_NO_WATCHER = BIT(0), 20 21 /* Crashlog feature not supported */ 22 VSEC_QUIRK_NO_CRASHLOG = BIT(1), 23 24 /* Use shift instead of mask to read discovery table offset */ 25 VSEC_QUIRK_TABLE_SHIFT = BIT(2), 26 27 /* DVSEC not present (provided in driver data) */ 28 VSEC_QUIRK_NO_DVSEC = BIT(3), 29 30 /* Platforms requiring quirk in the auxiliary driver */ 31 VSEC_QUIRK_EARLY_HW = BIT(4), 32}; 33 34/* Platform specific data */ 35struct intel_vsec_platform_info { 36 struct intel_vsec_header **headers; 37 unsigned long caps; 38 unsigned long quirks; 39}; 40 41struct intel_vsec_device { 42 struct auxiliary_device auxdev; 43 struct pci_dev *pcidev; 44 struct resource *resource; 45 struct ida *ida; 46 struct intel_vsec_platform_info *info; 47 int num_resources; 48 void *priv_data; 49 size_t priv_data_size; 50}; 51 52int intel_vsec_add_aux(struct pci_dev *pdev, struct device *parent, 53 struct intel_vsec_device *intel_vsec_dev, 54 const char *name); 55 56static inline struct intel_vsec_device *dev_to_ivdev(struct device *dev) 57{ 58 return container_of(dev, struct intel_vsec_device, auxdev.dev); 59} 60 61static inline struct intel_vsec_device *auxdev_to_ivdev(struct auxiliary_device *auxdev) 62{ 63 return container_of(auxdev, struct intel_vsec_device, auxdev); 64} 65#endif