Blame src/amd.h

Packit Service db8df9
/*
Packit Service db8df9
 * AMD LED control
Packit Service db8df9
 * Copyright (C) 2019, Advanced Micro Devices, Inc.
Packit Service db8df9
 *
Packit Service db8df9
 * This program is free software; you can redistribute it and/or modify it
Packit Service db8df9
 * under the terms and conditions of the GNU General Public License,
Packit Service db8df9
 * version 2, as published by the Free Software Foundation.
Packit Service db8df9
 *
Packit Service db8df9
 * This program is distributed in the hope it will be useful, but WITHOUT
Packit Service db8df9
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
Packit Service db8df9
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
Packit Service db8df9
 * more details.
Packit Service db8df9
 *
Packit Service db8df9
 * You should have received a copy of the GNU General Public License along with
Packit Service db8df9
 * this program; if not, write to the Free Software Foundation, Inc.,
Packit Service db8df9
 * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
Packit Service db8df9
 *
Packit Service db8df9
 */
Packit Service db8df9
Packit Service db8df9
#include "block.h"
Packit Service db8df9
Packit Service db8df9
enum amd_device_type {AMD_NO_DEVICE, AMD_SATA_DEVICE, AMD_NVME_DEVICE};
Packit Service db8df9
Packit Service db8df9
struct amd_drive {
Packit Service db8df9
	int		ata_port;
Packit Service db8df9
	int		port;
Packit Service db8df9
	int		drive_bay;
Packit Service db8df9
	int		initiator;
Packit Service db8df9
	uint8_t		channel;
Packit Service db8df9
	uint8_t		slave_addr;
Packit Service db8df9
	enum amd_device_type dev;
Packit Service db8df9
};
Packit Service db8df9
Packit Service db8df9
enum amd_led_interfaces {
Packit Service db8df9
	AMD_INTF_UNSET,
Packit Service db8df9
	AMD_INTF_SGPIO,
Packit Service db8df9
	AMD_INTF_IPMI,
Packit Service db8df9
};
Packit Service db8df9
Packit Service db8df9
extern enum amd_led_interfaces amd_interface;
Packit Service db8df9
Packit Service db8df9
enum amd_platforms {
Packit Service db8df9
	AMD_PLATFORM_UNSET,
Packit Service db8df9
	AMD_PLATFORM_ETHANOL_X,
Packit Service db8df9
	AMD_PLATFORM_DAYTONA_X,
Packit Service db8df9
	AMD_PLATFORM_GRANDSTAND,
Packit Service db8df9
	AMD_PLATFORM_SPEEDWAY,
Packit Service db8df9
};
Packit Service db8df9
Packit Service db8df9
extern enum amd_platforms amd_platform;
Packit Service db8df9
Packit Service db8df9
int amd_em_enabled(const char *path);
Packit Service db8df9
int amd_write(struct block_device *device, enum ibpi_pattern ibpi);
Packit Service db8df9
char *amd_get_path(const char *cntrl_path, const char *sysfs_path);
Packit Service db8df9
Packit Service db8df9
int _find_file_path(const char *start_path, const char *filename,
Packit Service db8df9
		    char *path, size_t path_len);
Packit Service db8df9
Packit Service db8df9
/* Register dump formats used for debug output */
Packit Service db8df9
#define REG_FMT_2	"%23s: %-4x%23s: %-4x\n"
Packit Service db8df9
#define REG_FMT_1	"%23s: %-4x\n"