Comment on attachment 95408
initialize stuff for gddr5 ram
Review of attachment 95408:
-----------------------------------------------------------------
::: drivers/gpu/drm/nouveau/core/subdev/fb/ramnva3.c
@@ +365,5 @@
> + /* XXX this algorithm is insane, find some sanity to it. */
> + /* [1] MMIO32 R 0x100268 0x30030200 PFB.SUBPART_CONFIG => { SELECT_MASK = 0x2 | UNK16 = 0x3 | ENABLE_MASK = 0x3 } */
> + nv_wr32(pfb, 0x10fcac, 0x00001f01);
> + for (o = 0; o < 4; o++) {
> + int off = offsets[i];
maybe int off = offsets[o]; ?
@@ +387,5 @@
> + for (i = 0x20, idx = 0; i < 0x30; i++, idx++) {
> + int pat = pattern[2 + (idx % 2)];
> + if (i == 0x26)
> + pat = 0;
> + if (i == 0x1f)
looks like this condition is always false in this for-loop
Comment on attachment 95408
initialize stuff for gddr5 ram
Review of attachment 95408: ------- ------- ------- ------- ------- ------- ------- ------- --
-------
::: drivers/ gpu/drm/ nouveau/ core/subdev/ fb/ramnva3. c
@@ +365,5 @@
> + /* XXX this algorithm is insane, find some sanity to it. */
> + /* [1] MMIO32 R 0x100268 0x30030200 PFB.SUBPART_CONFIG => { SELECT_MASK = 0x2 | UNK16 = 0x3 | ENABLE_MASK = 0x3 } */
> + nv_wr32(pfb, 0x10fcac, 0x00001f01);
> + for (o = 0; o < 4; o++) {
> + int off = offsets[i];
maybe int off = offsets[o]; ?
@@ +387,5 @@
> + for (i = 0x20, idx = 0; i < 0x30; i++, idx++) {
> + int pat = pattern[2 + (idx % 2)];
> + if (i == 0x26)
> + pat = 0;
> + if (i == 0x1f)
looks like this condition is always false in this for-loop