Lines Matching refs:iTCO_wdt_private

75 #define TCOBASE		(iTCO_wdt_private.tco_res->start)
77 #define SMI_EN (iTCO_wdt_private.smi_res->start)
106 } iTCO_wdt_private;
138 return iTCO_wdt_private.iTCO_version == 3 ? secs : (secs * 10) / 6;
143 return iTCO_wdt_private.iTCO_version == 3 ? ticks : (ticks * 6) / 10;
151 if (iTCO_wdt_private.iTCO_version == 3) {
152 val32 = readl(iTCO_wdt_private.gcs_pmc);
154 writel(val32, iTCO_wdt_private.gcs_pmc);
155 } else if (iTCO_wdt_private.iTCO_version == 2) {
156 val32 = readl(iTCO_wdt_private.gcs_pmc);
158 writel(val32, iTCO_wdt_private.gcs_pmc);
159 } else if (iTCO_wdt_private.iTCO_version == 1) {
160 pci_read_config_dword(iTCO_wdt_private.pdev, 0xd4, &val32);
162 pci_write_config_dword(iTCO_wdt_private.pdev, 0xd4, val32);
172 if (iTCO_wdt_private.iTCO_version == 3) {
173 val32 = readl(iTCO_wdt_private.gcs_pmc);
175 writel(val32, iTCO_wdt_private.gcs_pmc);
177 val32 = readl(iTCO_wdt_private.gcs_pmc);
180 } else if (iTCO_wdt_private.iTCO_version == 2) {
181 val32 = readl(iTCO_wdt_private.gcs_pmc);
183 writel(val32, iTCO_wdt_private.gcs_pmc);
185 val32 = readl(iTCO_wdt_private.gcs_pmc);
188 } else if (iTCO_wdt_private.iTCO_version == 1) {
189 pci_read_config_dword(iTCO_wdt_private.pdev, 0xd4, &val32);
191 pci_write_config_dword(iTCO_wdt_private.pdev, 0xd4, val32);
193 pci_read_config_dword(iTCO_wdt_private.pdev, 0xd4, &val32);
205 spin_lock(&iTCO_wdt_private.io_lock);
207 iTCO_vendor_pre_start(iTCO_wdt_private.smi_res, wd_dev->timeout);
211 spin_unlock(&iTCO_wdt_private.io_lock);
218 if (iTCO_wdt_private.iTCO_version >= 2)
220 else if (iTCO_wdt_private.iTCO_version == 1)
228 spin_unlock(&iTCO_wdt_private.io_lock);
239 spin_lock(&iTCO_wdt_private.io_lock);
241 iTCO_vendor_pre_stop(iTCO_wdt_private.smi_res);
252 spin_unlock(&iTCO_wdt_private.io_lock);
261 spin_lock(&iTCO_wdt_private.io_lock);
263 iTCO_vendor_pre_keepalive(iTCO_wdt_private.smi_res, wd_dev->timeout);
266 if (iTCO_wdt_private.iTCO_version >= 2) {
268 } else if (iTCO_wdt_private.iTCO_version == 1) {
276 spin_unlock(&iTCO_wdt_private.io_lock);
289 if (iTCO_wdt_private.iTCO_version == 1)
296 if (((iTCO_wdt_private.iTCO_version >= 2) && (tmrval > 0x3ff)) ||
297 ((iTCO_wdt_private.iTCO_version == 1) && (tmrval > 0x03f)))
303 if (iTCO_wdt_private.iTCO_version >= 2) {
304 spin_lock(&iTCO_wdt_private.io_lock);
310 spin_unlock(&iTCO_wdt_private.io_lock);
314 } else if (iTCO_wdt_private.iTCO_version == 1) {
315 spin_lock(&iTCO_wdt_private.io_lock);
321 spin_unlock(&iTCO_wdt_private.io_lock);
338 if (iTCO_wdt_private.iTCO_version >= 2) {
339 spin_lock(&iTCO_wdt_private.io_lock);
342 spin_unlock(&iTCO_wdt_private.io_lock);
345 } else if (iTCO_wdt_private.iTCO_version == 1) {
346 spin_lock(&iTCO_wdt_private.io_lock);
351 spin_unlock(&iTCO_wdt_private.io_lock);
398 release_region(iTCO_wdt_private.tco_res->start,
399 resource_size(iTCO_wdt_private.tco_res));
400 release_region(iTCO_wdt_private.smi_res->start,
401 resource_size(iTCO_wdt_private.smi_res));
402 if (iTCO_wdt_private.iTCO_version >= 2) {
403 iounmap(iTCO_wdt_private.gcs_pmc);
404 release_mem_region(iTCO_wdt_private.gcs_pmc_res->start,
405 resource_size(iTCO_wdt_private.gcs_pmc_res));
408 iTCO_wdt_private.tco_res = NULL;
409 iTCO_wdt_private.smi_res = NULL;
410 iTCO_wdt_private.gcs_pmc_res = NULL;
411 iTCO_wdt_private.gcs_pmc = NULL;
423 spin_lock_init(&iTCO_wdt_private.io_lock);
425 iTCO_wdt_private.tco_res =
427 if (!iTCO_wdt_private.tco_res)
430 iTCO_wdt_private.smi_res =
432 if (!iTCO_wdt_private.smi_res)
435 iTCO_wdt_private.iTCO_version = ich_info->iTCO_version;
436 iTCO_wdt_private.dev = dev;
437 iTCO_wdt_private.pdev = to_pci_dev(dev->dev.parent);
443 if (iTCO_wdt_private.iTCO_version >= 2) {
444 iTCO_wdt_private.gcs_pmc_res = platform_get_resource(dev,
448 if (!iTCO_wdt_private.gcs_pmc_res)
451 if (!request_mem_region(iTCO_wdt_private.gcs_pmc_res->start,
452 resource_size(iTCO_wdt_private.gcs_pmc_res), dev->name)) {
456 iTCO_wdt_private.gcs_pmc = ioremap(iTCO_wdt_private.gcs_pmc_res->start,
457 resource_size(iTCO_wdt_private.gcs_pmc_res));
458 if (!iTCO_wdt_private.gcs_pmc) {
475 if (!request_region(iTCO_wdt_private.smi_res->start,
476 resource_size(iTCO_wdt_private.smi_res), dev->name)) {
482 if (turn_SMI_watchdog_clear_off >= iTCO_wdt_private.iTCO_version) {
492 if (!request_region(iTCO_wdt_private.tco_res->start,
493 resource_size(iTCO_wdt_private.tco_res), dev->name)) {
504 if (iTCO_wdt_private.iTCO_version == 3) {
540 release_region(iTCO_wdt_private.tco_res->start,
541 resource_size(iTCO_wdt_private.tco_res));
543 release_region(iTCO_wdt_private.smi_res->start,
544 resource_size(iTCO_wdt_private.smi_res));
546 if (iTCO_wdt_private.iTCO_version >= 2)
547 iounmap(iTCO_wdt_private.gcs_pmc);
549 if (iTCO_wdt_private.iTCO_version >= 2)
550 release_mem_region(iTCO_wdt_private.gcs_pmc_res->start,
551 resource_size(iTCO_wdt_private.gcs_pmc_res));
553 iTCO_wdt_private.tco_res = NULL;
554 iTCO_wdt_private.smi_res = NULL;
555 iTCO_wdt_private.gcs_pmc_res = NULL;
556 iTCO_wdt_private.gcs_pmc = NULL;
563 if (iTCO_wdt_private.tco_res || iTCO_wdt_private.smi_res)