Bug#596741: regression: CPU fan fast after resume: won't climb back down (patch from upstream)

2012-05-04 Thread Jon Dowland
On Thu, Apr 26, 2012 at 02:59:29PM -0500, Jonathan Nieder wrote:
 Even easier is testing using the upstream source.  It works like this:

Thanks again for the detailed instructions.  They really are a help. I was
not aware this was possible for the debian flavours. Good stuff.

  2. Fetch point release (KMS variant):
 
   cd linux
   git remote add squeeze-drm \
 
 git://git.kernel.org/pub/scm/linux/kernel/git/smb/linux-2.6.32.y-drm33.z.git
   git fetch squeeze-drm
 
  3. Configure, build, and test:
 
   git checkout squeeze-drm/master
   cp /boot/config-2.6.32-5-* .config; # stock configuration
   scripts/config --disable DEBUG_INFO
   make localmodconfig; # optional: minimize configuration
   make deb-pkg; # optionally with -jnum for parallel build
   dpkg -i ../name of package; # as root
 
 Hopefully it reproduces the problem.  So:

Alas no — the patch which fixes the issue has already been applied to this 
branch.
So this worked ☺

I haven't tried reverting it to reproduce the issue again, yet, but I can if you
want.




-- 
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120504075522.ga18...@ubik.ncl.ac.uk



Bug#596741: regression: CPU fan fast after resume: won't climb back down (patch from upstream)

2012-05-04 Thread Jonathan Nieder
Jon Dowland wrote:

  3. Configure, build, and test:

  git checkout squeeze-drm/master
[...]
 Alas no — the patch which fixes the issue has already been applied to this 
 branch.
 So this worked ☺

Thanks.  Interesting.  What does git log -1 --oneline
squeeze-drm/master show?  (For me it says ba52a5bbe327 Linux
2.6.32.59.)  Does

git show squeeze-drm/master:drivers/gpu/drm/radeon/atom.c |
grep ATOM_CMD_SPDFANCNTL

yield any results?  (For me it doesn't.)  Does kernel modesetting seem
to be working?  dmesg output from booting and suspending would also
be interesting.

Puzzled,
Jonathan



--
To UNSUBSCRIBE, email to debian-kernel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120504081029.GD6451@burratino



Bug#596741: regression: CPU fan fast after resume: won't climb back down (patch from upstream)

2012-04-26 Thread Jonathan Nieder
tags 596741 = upstream patch moreinfo
quit

Hi Jon,

Jon Dowland wrote:

 I'm happy to: but after a few hours I've totally failed to build the squeeze
 kernel for various reasons, the last attempt (in a pbuilder) without any clear
 idea why it failed.

Sorry for the trouble.  Building the full kernel package is generally not a
great idea, since it is enormous.  Building just one variant of the kernel
works better, as described at [1].

Even easier is testing using the upstream source.  It works like this:

 0. Prerequisites:

apt-get install git build-essential

 1. Get a copy of the kernel history if you don't already have it:

git clone \
  git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

 2. Fetch point release (KMS variant):

cd linux
git remote add squeeze-drm \
  
git://git.kernel.org/pub/scm/linux/kernel/git/smb/linux-2.6.32.y-drm33.z.git
git fetch squeeze-drm

 3. Configure, build, and test:

git checkout squeeze-drm/master
cp /boot/config-2.6.32-5-* .config; # stock configuration
scripts/config --disable DEBUG_INFO
make localmodconfig; # optional: minimize configuration
make deb-pkg; # optionally with -jnum for parallel build
dpkg -i ../name of package; # as root

Hopefully it reproduces the problem.  So:

 4. Test the patch:

cd linux
git am -3sc /path/to/the/patch
make deb-pkg; # maybe with -j4
dpkg -i ../name of package
reboot

Patch attached.

Hope that helps,
Jonathan

[1] 
http://kernel-handbook.alioth.debian.org/ch-common-tasks.html#s-common-official
or the corresponding page in the debian-kernel-handbook package
From: Alex Deucher alexander.deuc...@amd.com
Date: Thu, 29 Mar 2012 19:04:08 -0400
Subject: drm/radeon/kms: fix fans after resume

commit 402976fe51b2d1a58a29ba06fa1ca5ace3a4cdcd upstream.

On pre-R600 asics, the SpeedFanControl table is not
executed as part of ASIC_Init as it is on newer asics.

Fixes:
https://bugzilla.kernel.org/show_bug.cgi?id=29412

Signed-off-by: Alex Deucher alexander.deuc...@amd.com
Reviewed-by: Michel Dänzer michel.daen...@amd.com
Signed-off-by: Dave Airlie airl...@redhat.com
Signed-off-by: Jonathan Nieder jrnie...@gmail.com
---
 drivers/gpu/drm/radeon/atom.c |9 +
 drivers/gpu/drm/radeon/atom.h |1 +
 2 files changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/radeon/atom.c b/drivers/gpu/drm/radeon/atom.c
index 052312f5ff97..0272ea8bd6cf 100644
--- a/drivers/gpu/drm/radeon/atom.c
+++ b/drivers/gpu/drm/radeon/atom.c
@@ -31,6 +31,7 @@
 #include atom.h
 #include atom-names.h
 #include atom-bits.h
+#include radeon.h
 
 #define ATOM_COND_ABOVE0
 #define ATOM_COND_ABOVEOREQUAL 1
@@ -1247,8 +1248,10 @@ struct atom_context *atom_parse(struct card_info *card, 
void *bios)
 
 int atom_asic_init(struct atom_context *ctx)
 {
+   struct radeon_device *rdev = ctx-card-dev-dev_private;
int hwi = CU16(ctx-data_table + ATOM_DATA_FWI_PTR);
uint32_t ps[16];
+
memset(ps, 0, 64);
 
ps[0] = cpu_to_le32(CU32(hwi + ATOM_FWI_DEFSCLK_PTR));
@@ -1260,6 +1263,12 @@ int atom_asic_init(struct atom_context *ctx)
return 1;
atom_execute_table(ctx, ATOM_CMD_INIT, ps);
 
+   memset(ps, 0, 64);
+
+   if (rdev-family  CHIP_R600) {
+   if (CU16(ctx-cmd_table + 4 + 2 * ATOM_CMD_SPDFANCNTL))
+   atom_execute_table(ctx, ATOM_CMD_SPDFANCNTL, ps);
+   }
return 0;
 }
 
diff --git a/drivers/gpu/drm/radeon/atom.h b/drivers/gpu/drm/radeon/atom.h
index bc73781423a1..d3b7c967e44e 100644
--- a/drivers/gpu/drm/radeon/atom.h
+++ b/drivers/gpu/drm/radeon/atom.h
@@ -44,6 +44,7 @@
 #define ATOM_CMD_SETSCLK   0x0A
 #define ATOM_CMD_SETMCLK   0x0B
 #define ATOM_CMD_SETPCLK   0x0C
+#define ATOM_CMD_SPDFANCNTL0x39
 
 #define ATOM_DATA_FWI_PTR  0xC
 #define ATOM_DATA_IIO_PTR  0x32
-- 
1.7.10