[Intel-gfx] [PATCH] drm/i915: Increase WM memory latency values on SNB with high pixel clock

Ville Syrjälä ville.syrjala at linux.intel.com
Mon Apr 14 11:16:57 CEST 2014


On Mon, Mar 31, 2014 at 06:29:51PM +0000, Robert Navarro wrote:
> Runyan, Arthur J <arthur.j.runyan <at> intel.com> writes:
> 
> > 
> > Please check the DRAM configuration for the systems that fail.  The higher 
> latency is more likely with
> > higher tRFC which is mainly found with 8 Gbit components.
> > 
> 
> What other information do we need to get this included?
> 
> The DRAM config, is this something that I have to/should check? How do I get 
> this information to you?

If decode-dimms works on your machine it might print out potentially
interesting stuff. It doesn't seem to work on most of my machines. It
does work on the x220 I have here though, so I'm assuming it should work
on your x220 too. decode-dimms comes from the i2c-tools package.

Here's what I get on mine:

# modprobe i2c-i801
# modprobe eeprom
# decode-dimms 
# decode-dimms version 6231 (2014-02-20 10:54:34 +0100)

Memory Serial Presence Detect Decoder
By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,
Jean Delvare, Trent Piepho and others


Decoding EEPROM: /sys/bus/i2c/drivers/eeprom/0-0050
Guessing DIMM is in                             bank 1

---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-116                       OK (0xFC7B)
# of bytes written to SDRAM EEPROM              176
Total number of bytes in EEPROM                 256
Fundamental Memory type                         DDR3 SDRAM
Module Type                                     SO-DIMM

---=== Memory Characteristics ===---
Fine time base                                  1.000 ps
Medium time base                                0.125 ns
Maximum module speed                            1333 MHz (PC3-10600)
Size                                            4096 MB
Banks x Rows x Columns x Bits                   8 x 15 x 10 x 64
Ranks                                           2
SDRAM Device Width                              8 bits
Bus Width Extension                             0 bits
tCL-tRCD-tRP-tRAS                               9-9-9-24
Supported CAS Latencies (tCL)                   9T, 8T, 7T, 6T, 5T

---=== Timing Parameters ===---
Minimum Write Recovery time (tWR)               15.000 ns
Minimum Row Active to Row Active Delay (tRRD)   6.000 ns
Minimum Active to Auto-Refresh Delay (tRC)      49.125 ns
Minimum Recovery Delay (tRFC)                   160.000 ns
Minimum Write to Read CMD Delay (tWTR)          7.500 ns
Minimum Read to Pre-charge CMD Delay (tRTP)     7.500 ns
Minimum Four Activate Window Delay (tFAW)       30.000 ns

---=== Optional Features ===---
Operable voltages                               1.5V
RZQ/6 supported?                                Yes
RZQ/7 supported?                                Yes
DLL-Off Mode supported?                         Yes
Operating temperature range                     0-95 degrees C
Refresh Rate in extended temp range             1X
Auto Self-Refresh?                              No
On-Die Thermal Sensor readout?                  No
Partial Array Self-Refresh?                     No
Thermal Sensor Accuracy                         Not implemented
SDRAM Device Type                               Standard Monolithic

---=== Physical Characteristics ===---
Module Height (mm)                              30
Module Thickness (mm)                           2 front, 2 back
Module Width (mm)                               67.6
Module Reference Card                           F

---=== Manufacturer Data ===---
Module Manufacturer                             Samsung
DRAM Manufacturer                               Samsung
Manufacturing Location Code                     0x03
Manufacturing Date                              2012-W04
Assembly Serial Number                          0x009B48F1
Part Number                                     M471B5273DH0-CH9  


Number of SDRAM DIMMs detected and decoded: 1



Just for figuring out what tRFC is I think the following would do it:
# intel_reg_read 0x144298 0x144698 0x144a98 0x145d10 0x145e04

These are from the machines I have lying around on my desk:

// dell xps (snb)
# ./intel_reg_read 0x144298 0x144698 0x144a98 0x145d10 0x145e04
0x144298 : 0x5A6B1450
0x144698 : 0x5A6B1450
0x144A98 : 0x0
0x145D10 : 0x16040307
0x145E04 : 0x5

// x220 (snb)
# ./intel_reg_read 0x144298 0x144698 0x144a98 0x145d10 0x145e04
0x144298 : 0x5A6B1450
0x144698 : 0x46B41004
0x144A98 : 0x0
0x145D10 : 0x16040307
0x145E04 : 0x5

// some ivb desktop
# ./intel_reg_read 0x144298 0x144698 0x144a98 0x145d10 0x145e04
0x144298 : 0x5A6B1450
0x144698 : 0x5A6B1450
0x144A98 : 0x0
0x145D10 : 0x2010040C
0x145E04 : 0x5

So on for most things I get an answer of tRFC=107, which means 160ns
if my math is any good. And that matches the SPD info from decode-dimms
on the x220. The second channel for the x220 has something different
but it actually looks like the reset value for the register which makes
sense since decode-dimms says it only has one DIMM.

No idea if my tRFC is particularly low or high. The latency values
are quite different between the ivb and snb machines however. Also
I must admit that I've never tried plugging in a 25x14 monitor to
these machines, and in fact with the dell xps I can't since it
doesn't even have a DP connector.

-- 
Ville Syrjälä
Intel OTC



More information about the Intel-gfx mailing list