mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-28 20:02:17 +00:00
![Eddie James](/assets/img/avatar_default.png)
Allocate a large buffer for each OCC to handle response data. This removes memory allocation during an operation, and also allows for the maximum amount of SBE FFDC. Previously for the putsram and attn commands, only 32 words would have been available, and for getsram, only up to the size of the transfer. SBE FFDC might be up to 8Kb. The SBE interface expects data to be specified in units of words (4 bytes), defined as OCC_MAX_RESP_WORDS. This change allows the full FFDC capture to be implemented, where before it was not available. Signed-off-by: Eddie James <eajames@linux.ibm.com> Link: https://lore.kernel.org/r/20211019205307.36946-2-eajames@linux.ibm.com Signed-off-by: Joel Stanley <joel@jms.id.au>
27 lines
715 B
C
27 lines
715 B
C
// SPDX-License-Identifier: GPL-2.0
|
|
|
|
#ifndef LINUX_FSI_OCC_H
|
|
#define LINUX_FSI_OCC_H
|
|
|
|
struct device;
|
|
|
|
#define OCC_RESP_CMD_IN_PRG 0xFF
|
|
#define OCC_RESP_SUCCESS 0
|
|
#define OCC_RESP_CMD_INVAL 0x11
|
|
#define OCC_RESP_CMD_LEN_INVAL 0x12
|
|
#define OCC_RESP_DATA_INVAL 0x13
|
|
#define OCC_RESP_CHKSUM_ERR 0x14
|
|
#define OCC_RESP_INT_ERR 0x15
|
|
#define OCC_RESP_BAD_STATE 0x16
|
|
#define OCC_RESP_CRIT_EXCEPT 0xE0
|
|
#define OCC_RESP_CRIT_INIT 0xE1
|
|
#define OCC_RESP_CRIT_WATCHDOG 0xE2
|
|
#define OCC_RESP_CRIT_OCB 0xE3
|
|
#define OCC_RESP_CRIT_HW 0xE4
|
|
|
|
#define OCC_MAX_RESP_WORDS 2048
|
|
|
|
int fsi_occ_submit(struct device *dev, const void *request, size_t req_len,
|
|
void *response, size_t *resp_len);
|
|
|
|
#endif /* LINUX_FSI_OCC_H */
|