Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 304646 Details for
Bug 182687
lm_sensors fails with piix4_smbus errors on ServerWorks Grand Champion SL/w83781d
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Inc delay for csb5 and remove fix_hstcfg
linux-i2c-piix4-inc-csb5-delay-after-start-trans.patch (text/plain), 2.77 KB, created by
David Milburn
on 2008-05-06 15:42:16 UTC
(
hide
)
Description:
Inc delay for csb5 and remove fix_hstcfg
Filename:
MIME Type:
Creator:
David Milburn
Created:
2008-05-06 15:42:16 UTC
Size:
2.77 KB
patch
obsolete
>--- linux-2.6.9/drivers/i2c/busses/i2c-piix4.c.lm >+++ linux-2.6.9/drivers/i2c/busses/i2c-piix4.c >@@ -103,16 +103,10 @@ MODULE_PARM_DESC(force_addr, > "Forcibly enable the PIIX4 at the given address. " > "EXTREMELY DANGEROUS!"); > >-/* If fix_hstcfg is set to anything different from 0, we reset one of the >- registers to be a valid value. */ >-static int fix_hstcfg = 0; >-module_param (fix_hstcfg, int, 0); >-MODULE_PARM_DESC(fix_hstcfg, >- "Fix config register. Needed on some boards (Force CPCI735)."); >- > static int piix4_transaction(void); > > static unsigned short piix4_smba = 0; >+static unsigned short srvrworks_csb5_delay; > static struct i2c_adapter piix4_adapter; > > static struct dmi_system_id __devinitdata piix4_dmi_table[] = { >@@ -134,6 +128,10 @@ static int __devinit piix4_setup(struct > > dev_info(&PIIX4_dev->dev, "Found %s device\n", pci_name(PIIX4_dev)); > >+ if ((PIIX4_dev->vendor == PCI_VENDOR_ID_SERVERWORKS) && >+ (PIIX4_dev->device == PCI_DEVICE_ID_SERVERWORKS_CSB5)) >+ srvrworks_csb5_delay = 1; >+ > /* Don't access SMBus on IBM systems which get corrupted eeproms */ > if (dmi_check_system(piix4_dmi_table) && > PIIX4_dev->vendor == PCI_VENDOR_ID_INTEL) { >@@ -166,22 +164,6 @@ static int __devinit piix4_setup(struct > > pci_read_config_byte(PIIX4_dev, SMBHSTCFG, &temp); > >- /* Some BIOS will set up the chipset incorrectly and leave a register >- in an undefined state (causing I2C to act very strangely). */ >- if (temp & 0x02) { >- if (fix_hstcfg) { >- dev_info(&PIIX4_dev->dev, "Working around buggy BIOS " >- "(I2C)\n"); >- temp &= 0xfd; >- pci_write_config_byte(PIIX4_dev, SMBHSTCFG, temp); >- } else { >- dev_info(&PIIX4_dev->dev, "Unusual config register " >- "value\n"); >- dev_info(&PIIX4_dev->dev, "Try using fix_hstcfg=1 if " >- "you experience problems\n"); >- } >- } >- > /* If force_addr is set, we program the new address here. Just to make > sure, we disable the PIIX4 first. */ > if (force_addr) { >@@ -214,7 +196,7 @@ static int __devinit piix4_setup(struct > } > } > >- if ((temp & 0x0E) == 8) >+ if (((temp & 0x0E) == 8) || ((temp & 0x0E) == 2)) > dev_dbg(&PIIX4_dev->dev, "Using Interrupt 9 for SMBus.\n"); > else if ((temp & 0x0E) == 0) > dev_dbg(&PIIX4_dev->dev, "Using Interrupt SMI# for SMBus.\n"); >@@ -258,10 +240,14 @@ static int piix4_transaction(void) > outb_p(inb(SMBHSTCNT) | 0x040, SMBHSTCNT); > > /* We will always wait for a fraction of a second! (See PIIX4 docs errata) */ >- do { >+ if (srvrworks_csb5_delay) /* Extra delay for SERVERWORKS_CSB5 */ >+ msleep(2); >+ else >+ msleep(1); >+ >+ while ((timeout++ < MAX_TIMEOUT) && >+ ((temp = inb_p(SMBHSTSTS)) & 0x01)) > msleep(1); >- temp = inb_p(SMBHSTSTS); >- } while ((temp & 0x01) && (timeout++ < MAX_TIMEOUT)); > > /* If the SMBus is still busy, we give up */ > if (timeout >= MAX_TIMEOUT) {
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 182687
:
303535
|
303775
|
304504
|
304537
|
304564
| 304646