Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 266217
b: refs/heads/master
c: 1bf9fd7
h: refs/heads/master
i:
  266215: bf405ea
v: v3
  • Loading branch information
Rasesh Mody authored and David S. Miller committed Sep 29, 2011
1 parent 14d6912 commit 47bfd6a
Show file tree
Hide file tree
Showing 6 changed files with 49 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f391fda1f447222fa45db3380fc1e9d2d93c85c9
refs/heads/master: 1bf9fd70dd7411372e80fdb8b4b3d5c36236e7b7
7 changes: 7 additions & 0 deletions trunk/drivers/net/ethernet/brocade/bna/bfa_defs.h
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,13 @@ struct bfa_mfg_block {
* ---------------------- pci definitions ------------
*/

/*
* PCI device ID information
*/
enum {
BFA_PCI_DEVICE_ID_CT2 = 0x22,
};

#define bfa_asic_id_ct(device) \
((device) == PCI_DEVICE_ID_BROCADE_CT || \
(device) == PCI_DEVICE_ID_BROCADE_CT_FC)
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/net/ethernet/brocade/bna/bfi.h
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@ enum bfi_mclass {
enum bfi_asic_gen {
BFI_ASIC_GEN_CB = 1,
BFI_ASIC_GEN_CT = 2,
BFI_ASIC_GEN_CT2 = 3,
};

enum bfi_asic_mode {
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/net/ethernet/brocade/bna/bnad.c
Original file line number Diff line number Diff line change
Expand Up @@ -3477,3 +3477,4 @@ MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Brocade 10G PCIe Ethernet driver");
MODULE_VERSION(BNAD_VERSION);
MODULE_FIRMWARE(CNA_FW_FILE_CT);
MODULE_FIRMWARE(CNA_FW_FILE_CT2);
1 change: 1 addition & 0 deletions trunk/drivers/net/ethernet/brocade/bna/cna.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
extern char bfa_version[];

#define CNA_FW_FILE_CT "ctfw.bin"
#define CNA_FW_FILE_CT2 "ct2fw.bin"
#define FC_SYMNAME_MAX 256 /*!< max name server symbolic name size */

#pragma pack(1)
Expand Down
48 changes: 38 additions & 10 deletions trunk/drivers/net/ethernet/brocade/bna/cna_fwimg.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,12 @@
* www.brocade.com
*/
#include <linux/firmware.h>
#include "bfi.h"
#include "cna.h"

const struct firmware *bfi_fw;
static u32 *bfi_image_ct_cna;
static u32 bfi_image_ct_cna_size;
static u32 *bfi_image_ct_cna, *bfi_image_ct2_cna;
static u32 bfi_image_ct_cna_size, bfi_image_ct2_cna_size;

static u32 *
cna_read_firmware(struct pci_dev *pdev, u32 **bfi_image,
Expand All @@ -45,20 +46,47 @@ cna_read_firmware(struct pci_dev *pdev, u32 **bfi_image,
u32 *
cna_get_firmware_buf(struct pci_dev *pdev)
{
if (bfi_image_ct_cna_size == 0)
cna_read_firmware(pdev, &bfi_image_ct_cna,
&bfi_image_ct_cna_size, CNA_FW_FILE_CT);
return bfi_image_ct_cna;
if (pdev->device == BFA_PCI_DEVICE_ID_CT2) {
if (bfi_image_ct2_cna_size == 0)
cna_read_firmware(pdev, &bfi_image_ct2_cna,
&bfi_image_ct2_cna_size, CNA_FW_FILE_CT2);
return bfi_image_ct2_cna;
} else if (bfa_asic_id_ct(pdev->device)) {
if (bfi_image_ct_cna_size == 0)
cna_read_firmware(pdev, &bfi_image_ct_cna,
&bfi_image_ct_cna_size, CNA_FW_FILE_CT);
return bfi_image_ct_cna;
}

return NULL;
}

u32 *
bfa_cb_image_get_chunk(int type, u32 off)
bfa_cb_image_get_chunk(enum bfi_asic_gen asic_gen, u32 off)
{
return (u32 *)(bfi_image_ct_cna + off);
switch (asic_gen) {
case BFI_ASIC_GEN_CT:
return (u32 *)(bfi_image_ct_cna + off);
break;
case BFI_ASIC_GEN_CT2:
return (u32 *)(bfi_image_ct2_cna + off);
break;
default:
return NULL;
}
}

u32
bfa_cb_image_get_size(int type)
bfa_cb_image_get_size(enum bfi_asic_gen asic_gen)
{
return bfi_image_ct_cna_size;
switch (asic_gen) {
case BFI_ASIC_GEN_CT:
return bfi_image_ct_cna_size;
break;
case BFI_ASIC_GEN_CT2:
return bfi_image_ct2_cna_size;
break;
default:
return 0;
}
}

0 comments on commit 47bfd6a

Please sign in to comment.