/* * apei.h - ACPI Platform Error Interface */ #ifndef ACPI_APEI_H #define ACPI_APEI_H #include #include #include #define APEI_ERST_INVALID_RECORD_ID 0xffffffffffffffffULL #define APEI_ERST_CLEAR_RECORD _IOW('E', 1, u64) #define APEI_ERST_GET_RECORD_COUNT _IOR('E', 2, u32) #ifdef __KERNEL__ extern bool hest_disable; extern int erst_disable; #ifdef CONFIG_ACPI_APEI_GHES extern bool ghes_disable; #else #define ghes_disable 1 #endif #ifdef CONFIG_ACPI_APEI void __init acpi_hest_init(void); #else static inline void acpi_hest_init(void) { return; } #endif typedef int (*apei_hest_func_t)(struct acpi_hest_header *hest_hdr, void *data); int apei_hest_parse(apei_hest_func_t func, void *data); int erst_write(const struct cper_record_header *record); ssize_t erst_get_record_count(void); int erst_get_record_id_begin(int *pos); int erst_get_record_id_next(int *pos, u64 *record_id); void erst_get_record_id_end(void); ssize_t erst_read(u64 record_id, struct cper_record_header *record, size_t buflen); int erst_clear(u64 record_id); int arch_apei_enable_cmcff(struct acpi_hest_header *hest_hdr, void *data); void arch_apei_report_mem_error(int sev, struct cper_sec_mem_err *mem_err); void arch_apei_flush_tlb_one(unsigned long addr); #endif #endif t> net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2016-07-08 11:25:09 -0700
committerEric Anholt <eric@anholt.net>2016-07-11 17:17:13 -0700
commit7a100969f30b77761901c05a5c810bcaea65df44 (patch)
tree0b47529e20a7ae5e01fd25009f3923a103b1fd87
parent9f4e62f1520de97c302d65486b146b51c6ffde7c (diff)
drm/vc4: Bind the HVS before we bind the individual CRTCs.
We need to be able to look at the CRTC's registers in the HVS as part of initialization, while the HVS doesn't need to look at the PV registers. Signed-off-by: Eric Anholt <eric@anholt.net> Reviewed-and-tested-by: Mario Kleiner <mario.kleiner.de@gmail.com>