diff options
author | David Kilroy <kilroyd@gmail.com> | 2008-08-21 18:27:52 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-08-22 19:28:05 -0400 |
commit | e23341809b7b60981d14a368155cd1f0724fb8d5 (patch) | |
tree | 0d035f354eec28816b1fcf813b9f5ed665d3d827 /drivers/net/wireless/hermes_dld.h | |
parent | f482eb797a391a098046a934f55af8bd785a4494 (diff) |
orinoco: Make firmware download logic more generic
Ensure PDA read is terminated.
Prevent invalid programming blocks from causing reads outside the
firmware image
Turn off aux stuff when finished.
Option to program in limited block sizes (controlled by macro).
Option to read PDA from EEPROM.
Signed-off-by: David Kilroy <kilroyd@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/hermes_dld.h')
-rw-r--r-- | drivers/net/wireless/hermes_dld.h | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/drivers/net/wireless/hermes_dld.h b/drivers/net/wireless/hermes_dld.h index 2c8892ac635b..af75c030b11b 100644 --- a/drivers/net/wireless/hermes_dld.h +++ b/drivers/net/wireless/hermes_dld.h | |||
@@ -27,19 +27,17 @@ | |||
27 | 27 | ||
28 | #include "hermes.h" | 28 | #include "hermes.h" |
29 | 29 | ||
30 | /* Position of PDA in the adapter memory */ | 30 | int hermes_program(hermes_t *hw, const char *first_block, const char *end); |
31 | #define EEPROM_ADDR 0x3000 | ||
32 | #define EEPROM_LEN 0x200 | ||
33 | #define PDA_OFFSET 0x100 | ||
34 | 31 | ||
35 | #define PDA_ADDR (EEPROM_ADDR + PDA_OFFSET) | 32 | int hermes_read_pda(hermes_t *hw, |
36 | #define PDA_WORDS ((EEPROM_LEN - PDA_OFFSET) / 2) | 33 | __le16 *pda, |
34 | u32 pda_addr, | ||
35 | u16 pda_len, | ||
36 | int use_eeprom); | ||
37 | int hermes_apply_pda(hermes_t *hw, | ||
38 | const char *first_pdr, | ||
39 | const __le16 *pda); | ||
37 | 40 | ||
38 | struct dblock; | 41 | size_t hermes_blocks_length(const char *first_block); |
39 | |||
40 | int spectrum_read_pda(hermes_t *hw, __le16 *pda, int pda_len); | ||
41 | int spectrum_apply_pda(hermes_t *hw, const struct dblock *first_block, | ||
42 | __le16 *pda); | ||
43 | int spectrum_load_blocks(hermes_t *hw, const struct dblock *first_block); | ||
44 | 42 | ||
45 | #endif /* _HERMES_DLD_H */ | 43 | #endif /* _HERMES_DLD_H */ |