mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

Allocate segmented trace buffer if firmware advertises the capability in IOCfacts. Upon driver load, read the trace buffer size from driver page 1, calculate the required segments for trace buffer, and allocate segmented buffers. Each segment is 4096 bytes in size. While posting driver diagnostic buffer to firmware, advertise that trace buffer is segmented. Signed-off-by: Sumit Saxena <sumit.saxena@broadcom.com> Signed-off-by: Ranjan Kumar <ranjan.kumar@broadcom.com> Link: https://lore.kernel.org/r/20250129100850.25430-3-ranjan.kumar@broadcom.com Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
45 lines
1.4 KiB
C
45 lines
1.4 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Copyright 2016-2024 Broadcom Inc. All rights reserved.
|
|
*/
|
|
#ifndef MPI30_TOOL_H
|
|
#define MPI30_TOOL_H 1
|
|
|
|
#define MPI3_DIAG_BUFFER_TYPE_TRACE (0x01)
|
|
#define MPI3_DIAG_BUFFER_TYPE_FW (0x02)
|
|
#define MPI3_DIAG_BUFFER_ACTION_RELEASE (0x01)
|
|
|
|
#define MPI3_DIAG_BUFFER_POST_MSGFLAGS_SEGMENTED (0x01)
|
|
struct mpi3_diag_buffer_post_request {
|
|
__le16 host_tag;
|
|
u8 ioc_use_only02;
|
|
u8 function;
|
|
__le16 ioc_use_only04;
|
|
u8 ioc_use_only06;
|
|
u8 msg_flags;
|
|
__le16 change_count;
|
|
__le16 reserved0a;
|
|
u8 type;
|
|
u8 reserved0d;
|
|
__le16 reserved0e;
|
|
__le64 address;
|
|
__le32 length;
|
|
__le32 reserved1c;
|
|
};
|
|
|
|
struct mpi3_diag_buffer_manage_request {
|
|
__le16 host_tag;
|
|
u8 ioc_use_only02;
|
|
u8 function;
|
|
__le16 ioc_use_only04;
|
|
u8 ioc_use_only06;
|
|
u8 msg_flags;
|
|
__le16 change_count;
|
|
__le16 reserved0a;
|
|
u8 type;
|
|
u8 action;
|
|
__le16 reserved0e;
|
|
};
|
|
|
|
|
|
#endif
|