Source
x
static int i5100_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
/*
* Intel 5100 Memory Controllers kernel module
*
* This file may be distributed under the terms of the
* GNU General Public License.
*
* This module is based on the following document:
*
* Intel 5100X Chipset Memory Controller Hub (MCH) - Datasheet
* http://download.intel.com/design/chipsets/datashts/318378.pdf
*
* The intel 5100 has two independent channels. EDAC core currently
* can not reflect this configuration so instead the chip-select
* rows for each respective channel are laid out one after another,
* the first half belonging to channel 0, the second half belonging
* to channel 1.
*
* This driver is for DDR2 DIMMs, and it uses chip select to select among the
* several ranks. However, instead of showing memories as ranks, it outputs
* them as DIMM's. An internal table creates the association between ranks
* and DIMM's.
*/
/* register addresses */
/* device 16, func 1 */
/* Memory Control Register */
/* Memory Status Register */
/* Serial Presence Detect Status Reg */
/* Serial Presence Detect Command Reg */
/* Top of Low Memory */
/* Memory Interleave Range 0 */
/* Memory Interleave Range 1 */
/* Adjusted Memory Interleave Range 0 */
/* Adjusted Memory Interleave Range 1 */
/* MC First Non Fatal Errors */
/* MC Next Non-Fatal Errors */
/* MC Error Mask Register */
/* Injection Mask0 Register Channel 0 */
/* Injection Mask0 Register Channel 1 */
/* Injection Mask1 Register Channel 0 */
/* Injection Mask1 Register Channel 1 */
/* Device 19, Function 0 */
/* device 21 and 22, func 0 */
/* Memory Technology Registers 0-3 */
/* DIMM Interleave Range */
/* Valid Log Markers */
/* Non-Recoverable Memory Error Log Reg A */
/* Non-Recoverable Memory Error Log Reg B */
/* Recoverable Memory Data Error Log Reg A */
/* Recoverable Memory Data Error Log Reg B */
/* Recoverable Memory Error Log Reg A */
/* Recoverable Memory Error Log Reg B */
/* Memory Technology Registers 4,5 */