aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/hermes_dld.h
diff options
context:
space:
mode:
authorDavid Kilroy <kilroyd@gmail.com>2008-08-21 18:27:52 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-08-22 19:28:05 -0400
commite23341809b7b60981d14a368155cd1f0724fb8d5 (patch)
tree0d035f354eec28816b1fcf813b9f5ed665d3d827 /drivers/net/wireless/hermes_dld.h
parentf482eb797a391a098046a934f55af8bd785a4494 (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.h22
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 */ 30int 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) 32int 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);
37int hermes_apply_pda(hermes_t *hw,
38 const char *first_pdr,
39 const __le16 *pda);
37 40
38struct dblock; 41size_t hermes_blocks_length(const char *first_block);
39
40int spectrum_read_pda(hermes_t *hw, __le16 *pda, int pda_len);
41int spectrum_apply_pda(hermes_t *hw, const struct dblock *first_block,
42 __le16 *pda);
43int spectrum_load_blocks(hermes_t *hw, const struct dblock *first_block);
44 42
45#endif /* _HERMES_DLD_H */ 43#endif /* _HERMES_DLD_H */