diff options
-rw-r--r-- | drivers/scsi/bfa/bfa_defs.h | 9 | ||||
-rw-r--r-- | drivers/scsi/bfa/bfa_fcs.h | 8 | ||||
-rw-r--r-- | drivers/scsi/bfa/bfa_ioc.c | 29 | ||||
-rw-r--r-- | drivers/scsi/bfa/bfa_ioc.h | 3 | ||||
-rw-r--r-- | drivers/scsi/bfa/bfad_bsg.c | 2 | ||||
-rw-r--r-- | drivers/scsi/bfa/bfad_bsg.h | 4 | ||||
-rw-r--r-- | drivers/scsi/bfa/bfi.h | 6 |
7 files changed, 43 insertions, 18 deletions
diff --git a/drivers/scsi/bfa/bfa_defs.h b/drivers/scsi/bfa/bfa_defs.h index d65a9b4a6f65..bef16d276668 100644 --- a/drivers/scsi/bfa/bfa_defs.h +++ b/drivers/scsi/bfa/bfa_defs.h | |||
@@ -45,6 +45,7 @@ enum { | |||
45 | BFA_MFG_TYPE_PROWLER_C = 1710, /* Prowler CNA only cards */ | 45 | BFA_MFG_TYPE_PROWLER_C = 1710, /* Prowler CNA only cards */ |
46 | BFA_MFG_TYPE_PROWLER_D = 1860, /* Prowler Dual cards */ | 46 | BFA_MFG_TYPE_PROWLER_D = 1860, /* Prowler Dual cards */ |
47 | BFA_MFG_TYPE_CHINOOK = 1867, /* Chinook cards */ | 47 | BFA_MFG_TYPE_CHINOOK = 1867, /* Chinook cards */ |
48 | BFA_MFG_TYPE_CHINOOK2 = 1869, /*!< Chinook2 cards */ | ||
48 | BFA_MFG_TYPE_INVALID = 0, /* Invalid card type */ | 49 | BFA_MFG_TYPE_INVALID = 0, /* Invalid card type */ |
49 | }; | 50 | }; |
50 | 51 | ||
@@ -59,7 +60,8 @@ enum { | |||
59 | (type) == BFA_MFG_TYPE_ASTRA || \ | 60 | (type) == BFA_MFG_TYPE_ASTRA || \ |
60 | (type) == BFA_MFG_TYPE_LIGHTNING_P0 || \ | 61 | (type) == BFA_MFG_TYPE_LIGHTNING_P0 || \ |
61 | (type) == BFA_MFG_TYPE_LIGHTNING || \ | 62 | (type) == BFA_MFG_TYPE_LIGHTNING || \ |
62 | (type) == BFA_MFG_TYPE_CHINOOK)) | 63 | (type) == BFA_MFG_TYPE_CHINOOK || \ |
64 | (type) == BFA_MFG_TYPE_CHINOOK2)) | ||
63 | 65 | ||
64 | /* | 66 | /* |
65 | * Check if the card having old wwn/mac handling | 67 | * Check if the card having old wwn/mac handling |
@@ -263,6 +265,7 @@ enum { | |||
263 | BFA_ADAPTER_MFG_NAME_LEN = 8, /* manufacturer name length */ | 265 | BFA_ADAPTER_MFG_NAME_LEN = 8, /* manufacturer name length */ |
264 | BFA_ADAPTER_SYM_NAME_LEN = 64, /* adapter symbolic name length */ | 266 | BFA_ADAPTER_SYM_NAME_LEN = 64, /* adapter symbolic name length */ |
265 | BFA_ADAPTER_OS_TYPE_LEN = 64, /* adapter os type length */ | 267 | BFA_ADAPTER_OS_TYPE_LEN = 64, /* adapter os type length */ |
268 | BFA_ADAPTER_UUID_LEN = 16, /* adapter uuid length */ | ||
266 | }; | 269 | }; |
267 | 270 | ||
268 | struct bfa_adapter_attr_s { | 271 | struct bfa_adapter_attr_s { |
@@ -296,6 +299,7 @@ struct bfa_adapter_attr_s { | |||
296 | u8 mfg_month; /* manufacturing month */ | 299 | u8 mfg_month; /* manufacturing month */ |
297 | u16 mfg_year; /* manufacturing year */ | 300 | u16 mfg_year; /* manufacturing year */ |
298 | u16 rsvd; | 301 | u16 rsvd; |
302 | u8 uuid[BFA_ADAPTER_UUID_LEN]; | ||
299 | }; | 303 | }; |
300 | 304 | ||
301 | /* | 305 | /* |
@@ -409,7 +413,8 @@ struct bfa_ioc_attr_s { | |||
409 | u8 port_mode; /* bfa_mode_s */ | 413 | u8 port_mode; /* bfa_mode_s */ |
410 | u8 cap_bm; /* capability */ | 414 | u8 cap_bm; /* capability */ |
411 | u8 port_mode_cfg; /* bfa_mode_s */ | 415 | u8 port_mode_cfg; /* bfa_mode_s */ |
412 | u8 rsvd[4]; /* 64bit align */ | 416 | u8 def_fn; /* 1 if default fn */ |
417 | u8 rsvd[3]; /* 64bit align */ | ||
413 | }; | 418 | }; |
414 | 419 | ||
415 | /* | 420 | /* |
diff --git a/drivers/scsi/bfa/bfa_fcs.h b/drivers/scsi/bfa/bfa_fcs.h index 4f1e650f3320..94d5d0102f7d 100644 --- a/drivers/scsi/bfa/bfa_fcs.h +++ b/drivers/scsi/bfa/bfa_fcs.h | |||
@@ -243,19 +243,19 @@ struct bfa_fcs_fabric_s; | |||
243 | * Symbolic Name. | 243 | * Symbolic Name. |
244 | * | 244 | * |
245 | * Physical Port's symbolic name Format : (Total 128 bytes) | 245 | * Physical Port's symbolic name Format : (Total 128 bytes) |
246 | * Adapter Model number/name : 12 bytes | 246 | * Adapter Model number/name : 16 bytes |
247 | * Driver Version : 10 bytes | 247 | * Driver Version : 10 bytes |
248 | * Host Machine Name : 30 bytes | 248 | * Host Machine Name : 30 bytes |
249 | * Host OS Info : 48 bytes | 249 | * Host OS Info : 44 bytes |
250 | * Host OS PATCH Info : 16 bytes | 250 | * Host OS PATCH Info : 16 bytes |
251 | * ( remaining 12 bytes reserved to be used for separator) | 251 | * ( remaining 12 bytes reserved to be used for separator) |
252 | */ | 252 | */ |
253 | #define BFA_FCS_PORT_SYMBNAME_SEPARATOR " | " | 253 | #define BFA_FCS_PORT_SYMBNAME_SEPARATOR " | " |
254 | 254 | ||
255 | #define BFA_FCS_PORT_SYMBNAME_MODEL_SZ 12 | 255 | #define BFA_FCS_PORT_SYMBNAME_MODEL_SZ 16 |
256 | #define BFA_FCS_PORT_SYMBNAME_VERSION_SZ 10 | 256 | #define BFA_FCS_PORT_SYMBNAME_VERSION_SZ 10 |
257 | #define BFA_FCS_PORT_SYMBNAME_MACHINENAME_SZ 30 | 257 | #define BFA_FCS_PORT_SYMBNAME_MACHINENAME_SZ 30 |
258 | #define BFA_FCS_PORT_SYMBNAME_OSINFO_SZ 48 | 258 | #define BFA_FCS_PORT_SYMBNAME_OSINFO_SZ 44 |
259 | #define BFA_FCS_PORT_SYMBNAME_OSPATCH_SZ 16 | 259 | #define BFA_FCS_PORT_SYMBNAME_OSPATCH_SZ 16 |
260 | 260 | ||
261 | /* | 261 | /* |
diff --git a/drivers/scsi/bfa/bfa_ioc.c b/drivers/scsi/bfa/bfa_ioc.c index 8928b68551c3..c31cb3ca07eb 100644 --- a/drivers/scsi/bfa/bfa_ioc.c +++ b/drivers/scsi/bfa/bfa_ioc.c | |||
@@ -2508,6 +2508,7 @@ bfa_ioc_get_adapter_attr(struct bfa_ioc_s *ioc, | |||
2508 | ad_attr->mfg_day = ioc_attr->mfg_day; | 2508 | ad_attr->mfg_day = ioc_attr->mfg_day; |
2509 | ad_attr->mfg_month = ioc_attr->mfg_month; | 2509 | ad_attr->mfg_month = ioc_attr->mfg_month; |
2510 | ad_attr->mfg_year = ioc_attr->mfg_year; | 2510 | ad_attr->mfg_year = ioc_attr->mfg_year; |
2511 | memcpy(ad_attr->uuid, ioc_attr->uuid, BFA_ADAPTER_UUID_LEN); | ||
2511 | } | 2512 | } |
2512 | 2513 | ||
2513 | enum bfa_ioc_type_e | 2514 | enum bfa_ioc_type_e |
@@ -2572,13 +2573,19 @@ void | |||
2572 | bfa_ioc_get_adapter_model(struct bfa_ioc_s *ioc, char *model) | 2573 | bfa_ioc_get_adapter_model(struct bfa_ioc_s *ioc, char *model) |
2573 | { | 2574 | { |
2574 | struct bfi_ioc_attr_s *ioc_attr; | 2575 | struct bfi_ioc_attr_s *ioc_attr; |
2576 | u8 nports = bfa_ioc_get_nports(ioc); | ||
2575 | 2577 | ||
2576 | WARN_ON(!model); | 2578 | WARN_ON(!model); |
2577 | memset((void *)model, 0, BFA_ADAPTER_MODEL_NAME_LEN); | 2579 | memset((void *)model, 0, BFA_ADAPTER_MODEL_NAME_LEN); |
2578 | 2580 | ||
2579 | ioc_attr = ioc->attr; | 2581 | ioc_attr = ioc->attr; |
2580 | 2582 | ||
2581 | snprintf(model, BFA_ADAPTER_MODEL_NAME_LEN, "%s-%u", | 2583 | if (bfa_asic_id_ct2(ioc->pcidev.device_id) && |
2584 | (!bfa_mfg_is_mezz(ioc_attr->card_type))) | ||
2585 | snprintf(model, BFA_ADAPTER_MODEL_NAME_LEN, "%s-%u-%u%s", | ||
2586 | BFA_MFG_NAME, ioc_attr->card_type, nports, "p"); | ||
2587 | else | ||
2588 | snprintf(model, BFA_ADAPTER_MODEL_NAME_LEN, "%s-%u", | ||
2582 | BFA_MFG_NAME, ioc_attr->card_type); | 2589 | BFA_MFG_NAME, ioc_attr->card_type); |
2583 | } | 2590 | } |
2584 | 2591 | ||
@@ -2628,7 +2635,7 @@ bfa_ioc_get_attr(struct bfa_ioc_s *ioc, struct bfa_ioc_attr_s *ioc_attr) | |||
2628 | memset((void *)ioc_attr, 0, sizeof(struct bfa_ioc_attr_s)); | 2635 | memset((void *)ioc_attr, 0, sizeof(struct bfa_ioc_attr_s)); |
2629 | 2636 | ||
2630 | ioc_attr->state = bfa_ioc_get_state(ioc); | 2637 | ioc_attr->state = bfa_ioc_get_state(ioc); |
2631 | ioc_attr->port_id = ioc->port_id; | 2638 | ioc_attr->port_id = bfa_ioc_portid(ioc); |
2632 | ioc_attr->port_mode = ioc->port_mode; | 2639 | ioc_attr->port_mode = ioc->port_mode; |
2633 | ioc_attr->port_mode_cfg = ioc->port_mode_cfg; | 2640 | ioc_attr->port_mode_cfg = ioc->port_mode_cfg; |
2634 | ioc_attr->cap_bm = ioc->ad_cap_bm; | 2641 | ioc_attr->cap_bm = ioc->ad_cap_bm; |
@@ -2637,8 +2644,9 @@ bfa_ioc_get_attr(struct bfa_ioc_s *ioc, struct bfa_ioc_attr_s *ioc_attr) | |||
2637 | 2644 | ||
2638 | bfa_ioc_get_adapter_attr(ioc, &ioc_attr->adapter_attr); | 2645 | bfa_ioc_get_adapter_attr(ioc, &ioc_attr->adapter_attr); |
2639 | 2646 | ||
2640 | ioc_attr->pci_attr.device_id = ioc->pcidev.device_id; | 2647 | ioc_attr->pci_attr.device_id = bfa_ioc_devid(ioc); |
2641 | ioc_attr->pci_attr.pcifn = ioc->pcidev.pci_func; | 2648 | ioc_attr->pci_attr.pcifn = bfa_ioc_pcifn(ioc); |
2649 | ioc_attr->def_fn = (bfa_ioc_pcifn(ioc) == bfa_ioc_portid(ioc)); | ||
2642 | bfa_ioc_get_pci_chip_rev(ioc, ioc_attr->pci_attr.chip_rev); | 2650 | bfa_ioc_get_pci_chip_rev(ioc, ioc_attr->pci_attr.chip_rev); |
2643 | } | 2651 | } |
2644 | 2652 | ||
@@ -6018,6 +6026,7 @@ bfa_fru_write_send(void *cbarg, enum bfi_fru_h2i_msgs msg_type) | |||
6018 | */ | 6026 | */ |
6019 | msg->last = (len == fru->residue) ? 1 : 0; | 6027 | msg->last = (len == fru->residue) ? 1 : 0; |
6020 | 6028 | ||
6029 | msg->trfr_cmpl = (len == fru->residue) ? fru->trfr_cmpl : 0; | ||
6021 | bfi_h2i_set(msg->mh, BFI_MC_FRU, msg_type, bfa_ioc_portid(fru->ioc)); | 6030 | bfi_h2i_set(msg->mh, BFI_MC_FRU, msg_type, bfa_ioc_portid(fru->ioc)); |
6022 | bfa_alen_set(&msg->alen, len, fru->dbuf_pa); | 6031 | bfa_alen_set(&msg->alen, len, fru->dbuf_pa); |
6023 | 6032 | ||
@@ -6132,13 +6141,14 @@ bfa_fru_memclaim(struct bfa_fru_s *fru, u8 *dm_kva, u64 dm_pa, | |||
6132 | */ | 6141 | */ |
6133 | bfa_status_t | 6142 | bfa_status_t |
6134 | bfa_fruvpd_update(struct bfa_fru_s *fru, void *buf, u32 len, u32 offset, | 6143 | bfa_fruvpd_update(struct bfa_fru_s *fru, void *buf, u32 len, u32 offset, |
6135 | bfa_cb_fru_t cbfn, void *cbarg) | 6144 | bfa_cb_fru_t cbfn, void *cbarg, u8 trfr_cmpl) |
6136 | { | 6145 | { |
6137 | bfa_trc(fru, BFI_FRUVPD_H2I_WRITE_REQ); | 6146 | bfa_trc(fru, BFI_FRUVPD_H2I_WRITE_REQ); |
6138 | bfa_trc(fru, len); | 6147 | bfa_trc(fru, len); |
6139 | bfa_trc(fru, offset); | 6148 | bfa_trc(fru, offset); |
6140 | 6149 | ||
6141 | if (fru->ioc->asic_gen != BFI_ASIC_GEN_CT2) | 6150 | if (fru->ioc->asic_gen != BFI_ASIC_GEN_CT2 && |
6151 | fru->ioc->attr->card_type != BFA_MFG_TYPE_CHINOOK2) | ||
6142 | return BFA_STATUS_FRU_NOT_PRESENT; | 6152 | return BFA_STATUS_FRU_NOT_PRESENT; |
6143 | 6153 | ||
6144 | if (fru->ioc->attr->card_type != BFA_MFG_TYPE_CHINOOK) | 6154 | if (fru->ioc->attr->card_type != BFA_MFG_TYPE_CHINOOK) |
@@ -6160,6 +6170,7 @@ bfa_fruvpd_update(struct bfa_fru_s *fru, void *buf, u32 len, u32 offset, | |||
6160 | fru->offset = 0; | 6170 | fru->offset = 0; |
6161 | fru->addr_off = offset; | 6171 | fru->addr_off = offset; |
6162 | fru->ubuf = buf; | 6172 | fru->ubuf = buf; |
6173 | fru->trfr_cmpl = trfr_cmpl; | ||
6163 | 6174 | ||
6164 | bfa_fru_write_send(fru, BFI_FRUVPD_H2I_WRITE_REQ); | 6175 | bfa_fru_write_send(fru, BFI_FRUVPD_H2I_WRITE_REQ); |
6165 | 6176 | ||
@@ -6189,7 +6200,8 @@ bfa_fruvpd_read(struct bfa_fru_s *fru, void *buf, u32 len, u32 offset, | |||
6189 | if (fru->ioc->asic_gen != BFI_ASIC_GEN_CT2) | 6200 | if (fru->ioc->asic_gen != BFI_ASIC_GEN_CT2) |
6190 | return BFA_STATUS_FRU_NOT_PRESENT; | 6201 | return BFA_STATUS_FRU_NOT_PRESENT; |
6191 | 6202 | ||
6192 | if (fru->ioc->attr->card_type != BFA_MFG_TYPE_CHINOOK) | 6203 | if (fru->ioc->attr->card_type != BFA_MFG_TYPE_CHINOOK && |
6204 | fru->ioc->attr->card_type != BFA_MFG_TYPE_CHINOOK2) | ||
6193 | return BFA_STATUS_CMD_NOTSUPP; | 6205 | return BFA_STATUS_CMD_NOTSUPP; |
6194 | 6206 | ||
6195 | if (!bfa_ioc_is_operational(fru->ioc)) | 6207 | if (!bfa_ioc_is_operational(fru->ioc)) |
@@ -6230,7 +6242,8 @@ bfa_fruvpd_get_max_size(struct bfa_fru_s *fru, u32 *max_size) | |||
6230 | if (!bfa_ioc_is_operational(fru->ioc)) | 6242 | if (!bfa_ioc_is_operational(fru->ioc)) |
6231 | return BFA_STATUS_IOC_NON_OP; | 6243 | return BFA_STATUS_IOC_NON_OP; |
6232 | 6244 | ||
6233 | if (fru->ioc->attr->card_type == BFA_MFG_TYPE_CHINOOK) | 6245 | if (fru->ioc->attr->card_type == BFA_MFG_TYPE_CHINOOK || |
6246 | fru->ioc->attr->card_type == BFA_MFG_TYPE_CHINOOK2) | ||
6234 | *max_size = BFA_FRU_CHINOOK_MAX_SIZE; | 6247 | *max_size = BFA_FRU_CHINOOK_MAX_SIZE; |
6235 | else | 6248 | else |
6236 | return BFA_STATUS_CMD_NOTSUPP; | 6249 | return BFA_STATUS_CMD_NOTSUPP; |
diff --git a/drivers/scsi/bfa/bfa_ioc.h b/drivers/scsi/bfa/bfa_ioc.h index de62b68beb64..90814fe85ac1 100644 --- a/drivers/scsi/bfa/bfa_ioc.h +++ b/drivers/scsi/bfa/bfa_ioc.h | |||
@@ -731,6 +731,7 @@ struct bfa_fru_s { | |||
731 | struct bfa_mbox_cmd_s mb; /* mailbox */ | 731 | struct bfa_mbox_cmd_s mb; /* mailbox */ |
732 | struct bfa_ioc_notify_s ioc_notify; /* ioc event notify */ | 732 | struct bfa_ioc_notify_s ioc_notify; /* ioc event notify */ |
733 | struct bfa_mem_dma_s fru_dma; | 733 | struct bfa_mem_dma_s fru_dma; |
734 | u8 trfr_cmpl; | ||
734 | }; | 735 | }; |
735 | 736 | ||
736 | #define BFA_FRU(__bfa) (&(__bfa)->modules.fru) | 737 | #define BFA_FRU(__bfa) (&(__bfa)->modules.fru) |
@@ -738,7 +739,7 @@ struct bfa_fru_s { | |||
738 | 739 | ||
739 | bfa_status_t bfa_fruvpd_update(struct bfa_fru_s *fru, | 740 | bfa_status_t bfa_fruvpd_update(struct bfa_fru_s *fru, |
740 | void *buf, u32 len, u32 offset, | 741 | void *buf, u32 len, u32 offset, |
741 | bfa_cb_fru_t cbfn, void *cbarg); | 742 | bfa_cb_fru_t cbfn, void *cbarg, u8 trfr_cmpl); |
742 | bfa_status_t bfa_fruvpd_read(struct bfa_fru_s *fru, | 743 | bfa_status_t bfa_fruvpd_read(struct bfa_fru_s *fru, |
743 | void *buf, u32 len, u32 offset, | 744 | void *buf, u32 len, u32 offset, |
744 | bfa_cb_fru_t cbfn, void *cbarg); | 745 | bfa_cb_fru_t cbfn, void *cbarg); |
diff --git a/drivers/scsi/bfa/bfad_bsg.c b/drivers/scsi/bfa/bfad_bsg.c index 9863b1c2e567..0467c349251a 100644 --- a/drivers/scsi/bfa/bfad_bsg.c +++ b/drivers/scsi/bfa/bfad_bsg.c | |||
@@ -2716,7 +2716,7 @@ bfad_iocmd_fruvpd_update(struct bfad_s *bfad, void *cmd) | |||
2716 | spin_lock_irqsave(&bfad->bfad_lock, flags); | 2716 | spin_lock_irqsave(&bfad->bfad_lock, flags); |
2717 | iocmd->status = bfa_fruvpd_update(BFA_FRU(&bfad->bfa), | 2717 | iocmd->status = bfa_fruvpd_update(BFA_FRU(&bfad->bfa), |
2718 | &iocmd->data, iocmd->len, iocmd->offset, | 2718 | &iocmd->data, iocmd->len, iocmd->offset, |
2719 | bfad_hcb_comp, &fcomp); | 2719 | bfad_hcb_comp, &fcomp, iocmd->trfr_cmpl); |
2720 | spin_unlock_irqrestore(&bfad->bfad_lock, flags); | 2720 | spin_unlock_irqrestore(&bfad->bfad_lock, flags); |
2721 | if (iocmd->status == BFA_STATUS_OK) { | 2721 | if (iocmd->status == BFA_STATUS_OK) { |
2722 | wait_for_completion(&fcomp.comp); | 2722 | wait_for_completion(&fcomp.comp); |
diff --git a/drivers/scsi/bfa/bfad_bsg.h b/drivers/scsi/bfa/bfad_bsg.h index b0b5ac7a75ff..05f0fc9cf063 100644 --- a/drivers/scsi/bfa/bfad_bsg.h +++ b/drivers/scsi/bfa/bfad_bsg.h | |||
@@ -794,10 +794,12 @@ struct bfa_bsg_tfru_s { | |||
794 | struct bfa_bsg_fruvpd_s { | 794 | struct bfa_bsg_fruvpd_s { |
795 | bfa_status_t status; | 795 | bfa_status_t status; |
796 | u16 bfad_num; | 796 | u16 bfad_num; |
797 | u16 rsvd; | 797 | u16 rsvd1; |
798 | u32 offset; | 798 | u32 offset; |
799 | u32 len; | 799 | u32 len; |
800 | u8 data[BFA_MAX_FRUVPD_TRANSFER_SIZE]; | 800 | u8 data[BFA_MAX_FRUVPD_TRANSFER_SIZE]; |
801 | u8 trfr_cmpl; | ||
802 | u8 rsvd2[3]; | ||
801 | }; | 803 | }; |
802 | 804 | ||
803 | struct bfa_bsg_fruvpd_max_size_s { | 805 | struct bfa_bsg_fruvpd_max_size_s { |
diff --git a/drivers/scsi/bfa/bfi.h b/drivers/scsi/bfa/bfi.h index bf0a58d03be8..37bd2564e83b 100644 --- a/drivers/scsi/bfa/bfi.h +++ b/drivers/scsi/bfa/bfi.h | |||
@@ -264,6 +264,7 @@ struct bfi_ioc_getattr_req_s { | |||
264 | union bfi_addr_u attr_addr; | 264 | union bfi_addr_u attr_addr; |
265 | }; | 265 | }; |
266 | 266 | ||
267 | #define BFI_IOC_ATTR_UUID_SZ 16 | ||
267 | struct bfi_ioc_attr_s { | 268 | struct bfi_ioc_attr_s { |
268 | wwn_t mfg_pwwn; /* Mfg port wwn */ | 269 | wwn_t mfg_pwwn; /* Mfg port wwn */ |
269 | wwn_t mfg_nwwn; /* Mfg node wwn */ | 270 | wwn_t mfg_nwwn; /* Mfg node wwn */ |
@@ -292,6 +293,7 @@ struct bfi_ioc_attr_s { | |||
292 | u8 mfg_day; /* manufacturing day */ | 293 | u8 mfg_day; /* manufacturing day */ |
293 | u8 mfg_month; /* manufacturing month */ | 294 | u8 mfg_month; /* manufacturing month */ |
294 | u16 mfg_year; /* manufacturing year */ | 295 | u16 mfg_year; /* manufacturing year */ |
296 | u8 uuid[BFI_IOC_ATTR_UUID_SZ]; /*!< chinook uuid */ | ||
295 | }; | 297 | }; |
296 | 298 | ||
297 | /* | 299 | /* |
@@ -1253,7 +1255,9 @@ enum bfi_fru_i2h_msgs { | |||
1253 | struct bfi_fru_write_req_s { | 1255 | struct bfi_fru_write_req_s { |
1254 | struct bfi_mhdr_s mh; /* Common msg header */ | 1256 | struct bfi_mhdr_s mh; /* Common msg header */ |
1255 | u8 last; | 1257 | u8 last; |
1256 | u8 rsv[3]; | 1258 | u8 rsv_1[3]; |
1259 | u8 trfr_cmpl; | ||
1260 | u8 rsv_2[3]; | ||
1257 | u32 offset; | 1261 | u32 offset; |
1258 | u32 length; | 1262 | u32 length; |
1259 | struct bfi_alen_s alen; | 1263 | struct bfi_alen_s alen; |