Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Feb 2019 04:38:47 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 235944] jedec_dimm(4) does not attach to KFA2 (aka Galax) Hall of Fame DDR4 sticks
Message-ID:  <bug-235944-227-MIrYdzwG0Q@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-235944-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-235944-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D235944

--- Comment #13 from Ravi Pokala <rpokala@panasas.com> ---
(In reply to Andriy Gapon from comment #10)

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Ravi, are you sure that this is correct?
>                 rc =3D smbus_writeb(sc->smbus,
>                    (JEDEC_DTI_PAGE | JEDEC_LSA_PAGE_SET1), 0, 0);

Given smbus_writeb(bus,slave,cmd,byte).
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

Sadly, yes, I'm sure it's correct. SMBus only supports 8-bit command codes
(which are used as EEPROM byte offsets), so page-change mechanism is requir=
ed
for accessing bytes [256-512]. For whatever reason, JEDEC (or the SPD EEPROM
chip vendors) decided that the way to handle that is by writing to a specif=
ic
SMBus address. In response, *all* devices on the bus switch to that page. A=
s I
noted in jedec_dimm.h:

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
/* TSE2004av defines several Device Type Identifiers (DTIs), which are the =
high
 * nybble of the SMBus address. Addresses with DTIs of PROTECT (or PAGE, wh=
ich
 * has the same value) are essentially "broadcast" addresses; all SPD devic=
es
 * respond to them, changing their mode based on the Logical Serial Address
 * (LSA) encoded in bits [3:1]. For normal SPD access, bits [3:1] encode the
 * DIMM slot number.
 */
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

Thus, using "(JEDEC_DTI_PAGE | JEDEC_LSA_PAGE_SET1)" as the slave address i=
s in
fact correct.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-235944-227-MIrYdzwG0Q>