mirror of
https://github.com/torvalds/linux.git
synced 2026-06-04 04:23:35 +02:00
bnxt_en: Add 2 parameters to bnxt_fill_coredump_seg_hdr()
Pass the component ID and segment ID to this function to create the coredump segment header. This will be needed in the next patches to create more segments for the coredump. Reviewed-by: Hongguang Gao <hongguang.gao@broadcom.com> Signed-off-by: Shruti Parab <shruti.parab@broadcom.com> Signed-off-by: Michael Chan <michael.chan@broadcom.com> Link: https://patch.msgid.link/20241115151438.550106-10-michael.chan@broadcom.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
23a18b91b6
commit
a854a17097
|
|
@ -165,11 +165,12 @@ static int bnxt_hwrm_dbg_coredump_retrieve(struct bnxt *bp, u16 component_id,
|
|||
return rc;
|
||||
}
|
||||
|
||||
static void
|
||||
void
|
||||
bnxt_fill_coredump_seg_hdr(struct bnxt *bp,
|
||||
struct bnxt_coredump_segment_hdr *seg_hdr,
|
||||
struct coredump_segment_record *seg_rec, u32 seg_len,
|
||||
int status, u32 duration, u32 instance)
|
||||
int status, u32 duration, u32 instance, u32 comp_id,
|
||||
u32 seg_id)
|
||||
{
|
||||
memset(seg_hdr, 0, sizeof(*seg_hdr));
|
||||
memcpy(seg_hdr->signature, "sEgM", 4);
|
||||
|
|
@ -180,11 +181,8 @@ bnxt_fill_coredump_seg_hdr(struct bnxt *bp,
|
|||
seg_hdr->high_version = seg_rec->version_hi;
|
||||
seg_hdr->flags = cpu_to_le32(seg_rec->compress_flags);
|
||||
} else {
|
||||
/* For hwrm_ver_get response Component id = 2
|
||||
* and Segment id = 0
|
||||
*/
|
||||
seg_hdr->component_id = cpu_to_le32(2);
|
||||
seg_hdr->segment_id = 0;
|
||||
seg_hdr->component_id = cpu_to_le32(comp_id);
|
||||
seg_hdr->segment_id = cpu_to_le32(seg_id);
|
||||
}
|
||||
seg_hdr->function_id = cpu_to_le16(bp->pdev->devfn);
|
||||
seg_hdr->length = cpu_to_le32(seg_len);
|
||||
|
|
@ -287,11 +285,13 @@ static int __bnxt_get_coredump(struct bnxt *bp, void *buf, u32 *dump_len)
|
|||
start_utc = sys_tz.tz_minuteswest * 60;
|
||||
seg_hdr_len = sizeof(seg_hdr);
|
||||
|
||||
/* First segment should be hwrm_ver_get response */
|
||||
/* First segment should be hwrm_ver_get response.
|
||||
* For hwrm_ver_get response Component id = 2 and Segment id = 0.
|
||||
*/
|
||||
*dump_len = seg_hdr_len + ver_get_resp_len;
|
||||
if (buf) {
|
||||
bnxt_fill_coredump_seg_hdr(bp, &seg_hdr, NULL, ver_get_resp_len,
|
||||
0, 0, 0);
|
||||
0, 0, 0, BNXT_VER_GET_COMP_ID, 0);
|
||||
memcpy(buf + offset, &seg_hdr, seg_hdr_len);
|
||||
offset += seg_hdr_len;
|
||||
memcpy(buf + offset, &bp->ver_resp, ver_get_resp_len);
|
||||
|
|
@ -346,7 +346,7 @@ static int __bnxt_get_coredump(struct bnxt *bp, void *buf, u32 *dump_len)
|
|||
end = jiffies;
|
||||
duration = jiffies_to_msecs(end - start);
|
||||
bnxt_fill_coredump_seg_hdr(bp, &seg_hdr, seg_record, seg_len,
|
||||
rc, duration, 0);
|
||||
rc, duration, 0, 0, 0);
|
||||
|
||||
if (buf) {
|
||||
/* Write segment header into the buffer */
|
||||
|
|
|
|||
|
|
@ -68,6 +68,8 @@ struct bnxt_coredump_record {
|
|||
__le16 rsvd3[313];
|
||||
};
|
||||
|
||||
#define BNXT_VER_GET_COMP_ID 2
|
||||
|
||||
#define BNXT_CRASH_DUMP_LEN (8 << 20)
|
||||
|
||||
#define COREDUMP_LIST_BUF_LEN 2048
|
||||
|
|
@ -118,6 +120,11 @@ struct hwrm_dbg_cmn_output {
|
|||
#define BNXT_DBG_CR_DUMP_MDM_CFG_DDR \
|
||||
DBG_CRASHDUMP_MEDIUM_CFG_REQ_TYPE_DDR
|
||||
|
||||
void bnxt_fill_coredump_seg_hdr(struct bnxt *bp,
|
||||
struct bnxt_coredump_segment_hdr *seg_hdr,
|
||||
struct coredump_segment_record *seg_rec,
|
||||
u32 seg_len, int status, u32 duration,
|
||||
u32 instance, u32 comp_id, u32 seg_id);
|
||||
int bnxt_get_coredump(struct bnxt *bp, u16 dump_type, void *buf, u32 *dump_len);
|
||||
int bnxt_hwrm_get_dump_len(struct bnxt *bp, u16 dump_type, u32 *dump_len);
|
||||
u32 bnxt_get_coredump_length(struct bnxt *bp, u16 dump_type);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user