aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/atm/solos-pci.c
diff options
context:
space:
mode:
authorDavid Woodhouse <David.Woodhouse@intel.com>2009-01-29 22:23:22 -0500
committerDavid Woodhouse <David.Woodhouse@intel.com>2009-01-29 22:23:22 -0500
commitcc3657e1f6d552a88307af62f53380503ba0130b (patch)
tree93f7e8fea01863177c269f8f60925159fbfaaae7 /drivers/atm/solos-pci.c
parentbdc54625b650bfeeb8225a2a5103a3685423e43c (diff)
solos: Add 'reset' module parameter to reset the DSL chips on load
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/atm/solos-pci.c')
-rw-r--r--drivers/atm/solos-pci.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/atm/solos-pci.c b/drivers/atm/solos-pci.c
index 21c73b17d5fd..c54ecebc9a73 100644
--- a/drivers/atm/solos-pci.c
+++ b/drivers/atm/solos-pci.c
@@ -70,6 +70,7 @@
70 70
71#define RX_DMA_SIZE 2048 71#define RX_DMA_SIZE 2048
72 72
73static int reset = 0;
73static int atmdebug = 0; 74static int atmdebug = 0;
74static int firmware_upgrade = 0; 75static int firmware_upgrade = 0;
75static int fpga_upgrade = 0; 76static int fpga_upgrade = 0;
@@ -131,9 +132,11 @@ MODULE_AUTHOR("Traverse Technologies <support@traverse.com.au>");
131MODULE_DESCRIPTION("Solos PCI driver"); 132MODULE_DESCRIPTION("Solos PCI driver");
132MODULE_VERSION(VERSION); 133MODULE_VERSION(VERSION);
133MODULE_LICENSE("GPL"); 134MODULE_LICENSE("GPL");
135MODULE_PARM_DESC(reset, "Reset Solos chips on startup");
134MODULE_PARM_DESC(atmdebug, "Print ATM data"); 136MODULE_PARM_DESC(atmdebug, "Print ATM data");
135MODULE_PARM_DESC(firmware_upgrade, "Initiate Solos firmware upgrade"); 137MODULE_PARM_DESC(firmware_upgrade, "Initiate Solos firmware upgrade");
136MODULE_PARM_DESC(fpga_upgrade, "Initiate FPGA upgrade"); 138MODULE_PARM_DESC(fpga_upgrade, "Initiate FPGA upgrade");
139module_param(reset, int, 0444);
137module_param(atmdebug, int, 0644); 140module_param(atmdebug, int, 0644);
138module_param(firmware_upgrade, int, 0444); 141module_param(firmware_upgrade, int, 0444);
139module_param(fpga_upgrade, int, 0444); 142module_param(fpga_upgrade, int, 0444);
@@ -1071,6 +1074,13 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id)
1071 goto out_unmap_config; 1074 goto out_unmap_config;
1072 } 1075 }
1073 1076
1077 if (reset) {
1078 iowrite32(1, card->config_regs + FPGA_MODE);
1079 data32 = ioread32(card->config_regs + FPGA_MODE);
1080
1081 iowrite32(0, card->config_regs + FPGA_MODE);
1082 data32 = ioread32(card->config_regs + FPGA_MODE);
1083 }
1074 //Fill Config Mem with zeros 1084 //Fill Config Mem with zeros
1075 for(i = 0; i < 128; i += 4) 1085 for(i = 0; i < 128; i += 4)
1076 iowrite32(0, card->config_regs + i); 1086 iowrite32(0, card->config_regs + i);