From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 69723] Computer freezes with kernel 3.11.0 / 3.12-rc1 (with bug 68235's patches applied) when dpm=1 on r600g (Cayman) Date: Fri, 08 Nov 2013 06:44:16 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1902522805==" Return-path: Received: from culpepper.freedesktop.org (unknown [131.252.210.165]) by gabe.freedesktop.org (Postfix) with ESMTP id 4B711F166F for ; Fri, 8 Nov 2013 00:00:29 -0800 (PST) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces@lists.freedesktop.org Errors-To: dri-devel-bounces@lists.freedesktop.org To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============1902522805== Content-Type: multipart/alternative; boundary="1383893056.4314eB62.32403"; charset="us-ascii" --1383893056.4314eB62.32403 Date: Fri, 8 Nov 2013 06:44:16 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable https://bugs.freedesktop.org/show_bug.cgi?id=3D69723 --- Comment #27 from Alexandre Demers --- (In reply to comment #26) > Alex, in drivers/gpu/drm/radeon/ni_dpm.c, when we are limiting the sclk a= nd > mclk to the max speed according to vddc and vddci, aren't we screwing > possibly something with mclk? I mean, could we be setting a mclk value th= at > is wrong? We have two conditions where we can max mclk value, but we are = not > looking at the lowest one. I think it should be something like this inste= ad > to be sure we are using the most restrictive value: > /* Select the lowest mclk value according to the most restrictive between > vddc and vddci*/ > if (max_mclk_vddc || max_mclk_vddci) { > max_mclk_vddcx =3D (max_mclk_vddc > max_mclk_vddci) ? max_mclk_vddci : > max_mclk_vddc; > } >=20 > for (i =3D 0; i < ps->performance_level_count; i++) { > if (max_sclk_vddc) { > if (ps->performance_levels[i].sclk > max_sclk_vddc) > ps->performance_levels[i].sclk =3D max_sclk_vddc; > } > if (max_mclk_vddcx) { > if (ps->performance_levels[i].mclk > max_mclk_vddcx) > ps->performance_levels[i].mclk =3D max_mclk_vddcx; > } > } >=20 > I'm also quoting you: "Not exactly. Mclk is tied to vddci (memory interfa= ce > voltage), but both mclk and sclk (and the core display clock) are tied to > vddc (core voltage)." Which means, mclk shouldn't run at its max speed if > vddc is not at its max value, isn't it? Otherwise, we may encounter > stability problem. Forget this, I'm getting tired and I didn't realized that we were already making sure we were maxing the value if it was smaller. --=20 You are receiving this mail because: You are the assignee for the bug. --1383893056.4314eB62.32403 Date: Fri, 8 Nov 2013 06:44:16 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Commen= t # 27 on bug 69723<= /a> from Alexandre Demers
(In reply to comment #=
26)
> Alex, in drivers/gpu/drm/radeon/ni_dpm.c, when w=
e are limiting the sclk and
> mclk to the max speed according to vddc and vddci, aren't we screwing
> possibly something with mclk? I mean, could we be setting a mclk value=
 that
> is wrong? We have two conditions where we can max mclk value, but we a=
re not
> looking at the lowest one. I think it should be something like this in=
stead
> to be sure we are using the most restrictive value:
> 	/* Select the lowest mclk value according to the most restrictive bet=
ween
> vddc and vddci*/
> 	if (max_mclk_vddc || max_mclk_vddci) {
> 		max_mclk_vddcx =3D (max_mclk_vddc > max_mclk_vddci) ? max_mclk_vd=
dci :
> max_mclk_vddc;
> 	}
>=20
> 	for (i =3D 0; i < ps->performance_level_count; i++) {
> 		if (max_sclk_vddc) {
> 			if (ps->performance_levels[i].sclk > max_sclk_vddc)
> 				ps->performance_levels[i].sclk =3D max_sclk_vddc;
> 		}
> 		if (max_mclk_vddcx) {
> 			if (ps->performance_levels[i].mclk > max_mclk_vddcx)
> 				ps->performance_levels[i].mclk =3D max_mclk_vddcx;
> 		}
> 	}
>=20
> I'm also quoting you: "Not exactly. Mclk is tied to vddci (memory=
 interface
> voltage), but both mclk and sclk (and the core display clock) are tied=
 to
> vddc (core voltage)." Which means, mclk shouldn't run at its max =
speed if
> vddc is not at its max value, isn't it? Otherwise, we may encounter
> stability problem.

Forget this, I'm getting tired and I didn't realized that we were already
making sure we were maxing the value if it was smaller.


You are receiving this mail because: =20=20=20=20=20=20
  • You are the assignee for the bug.
--1383893056.4314eB62.32403-- --===============1902522805== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel --===============1902522805==--