From: Florian Tobias Schandinat on
This is the second version of this patch series. It is forward ported to apply
on Jon's current viafb-posted branch. Furthermore the engine is only
(re)started if the mmio space is mapped.
There are still issues left especially device configuration and it does not yet
integrate nicely in the new structure of the driver. However it is in a state
where it shouldn't hurt anyone but could be useful for some people.


Thanks,

Florian Tobias Schandinat


Deepak Saxena (1):
Minimal support for viafb suspend/resume

Florian Tobias Schandinat (3):
viafb: restore display on resume
viafb: make suspend and resume work (on all machines?)
viafb: fix hardware acceleration for suspend & resume

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Bruno Prémont on
On Sun, 02 May 2010 Florian Tobias Schandinat <FlorianSchandinat(a)gmx.de> wrote:
> This is the second version of this patch series. It is forward ported to apply
> on Jon's current viafb-posted branch. Furthermore the engine is only
> (re)started if the mmio space is mapped.
> There are still issues left especially device configuration and it does not yet
> integrate nicely in the new structure of the driver. However it is in a state
> where it shouldn't hurt anyone but could be useful for some people.

Only works with restrictions on my box.

System is Commell LE-365, 1GB RAM, lspci:
00:00.0 Host bridge [0600]: VIA Technologies, Inc. CX700/VX700 Host Bridge [1106:0324] (rev 03)
00:00.1 Host bridge [0600]: VIA Technologies, Inc. CX700/VX700 Host Bridge [1106:1324]
00:00.2 Host bridge [0600]: VIA Technologies, Inc. CX700/VX700 Host Bridge [1106:2324]
00:00.3 Host bridge [0600]: VIA Technologies, Inc. CX700/VX700 Host Bridge [1106:3324]
00:00.4 Host bridge [0600]: VIA Technologies, Inc. CX700/VX700 Host Bridge [1106:4324]
00:00.7 Host bridge [0600]: VIA Technologies, Inc. CX700/VX700 Host Bridge [1106:7324]
00:01.0 PCI bridge [0604]: VIA Technologies, Inc. VT8237/VX700 PCI Bridge [1106:b198]
00:0f.0 IDE interface [0101]: VIA Technologies, Inc. CX700/VX700 RAID Controller [1106:0581]
00:10.0 USB Controller [0c03]: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller [1106:3038] (rev 90)
00:10.1 USB Controller [0c03]: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller [1106:3038] (rev 90)
00:10.2 USB Controller [0c03]: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller [1106:3038] (rev 90)
00:10.4 USB Controller [0c03]: VIA Technologies, Inc. USB 2.0 [1106:3104] (rev 90)
00:11.0 ISA bridge [0601]: VIA Technologies, Inc. CX700/VX700 PCI to ISA Bridge [1106:8324]
00:11.7 Host bridge [0600]: VIA Technologies, Inc. CX700/VX700 Internal Module Bus [1106:324e]
00:13.0 Host bridge [0600]: VIA Technologies, Inc. CX700/VX700 Host Bridge [1106:324b]
00:13.1 PCI bridge [0604]: VIA Technologies, Inc. CX700/VX700 PCI to PCI Bridge [1106:324a]
01:00.0 VGA compatible controller [0300]: VIA Technologies, Inc. CX700/VX700 [S3 UniChrome Pro] [1106:3157] (rev 03)
02:08.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet [10ec:8169] (rev 10)
80:01.0 Audio device [0403]: VIA Technologies, Inc. VT1708/A [Azalia HDAC] (VIA High Definition Audio Controller) [1106:3288] (rev 10)


If I have accel enabled system freezes during suspend, if accel is disabled
system suspends&resumes.
From a quick glance at the code I don't know what to do to disable accel
during suspend (and restore it on resume)...

viafb is not able to get GPU alive from its own, it still needs to have the
BIOS run VBIOS on resume.

Thanks,
Bruno
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Florian Tobias Schandinat on
Bruno Pr�mont schrieb:
> On Sun, 02 May 2010 Florian Tobias Schandinat <FlorianSchandinat(a)gmx.de> wrote:
>> This is the second version of this patch series. It is forward ported to apply
>> on Jon's current viafb-posted branch. Furthermore the engine is only
>> (re)started if the mmio space is mapped.
>> There are still issues left especially device configuration and it does not yet
>> integrate nicely in the new structure of the driver. However it is in a state
>> where it shouldn't hurt anyone but could be useful for some people.
>
> Only works with restrictions on my box.

Thanks for testing it.

> If I have accel enabled system freezes during suspend, if accel is disabled
> system suspends&resumes.
>>From a quick glance at the code I don't know what to do to disable accel
> during suspend (and restore it on resume)...

I am wondering where the freeze comes from. We don't use too much of the engine
and we already wait for it to become idle. Can you please test whether this patch
fixes it? It's not really acceleration related but other framebuffers do the same
and maybe it has a side effect for acceleration.

> viafb is not able to get GPU alive from its own, it still needs to have the
> BIOS run VBIOS on resume.

Okay, I guess the current code needs to be cleaned up before I can expect it to
work reliable...


Thanks,

Florian Tobias Schandinat

diff --git a/drivers/video/via/viafbdev.c b/drivers/video/via/viafbdev.c
index f581fb7..10b907a 100644
--- a/drivers/video/via/viafbdev.c
+++ b/drivers/video/via/viafbdev.c
@@ -1750,6 +1750,7 @@ int viafb_suspend(struct pci_dev *pdev, pm_message_t state)
fb_set_suspend(viafbinfo, 1);

viafb_sync(viafbinfo);
+ viafb_blank(FB_BLANK_POWERDOWN, viafbinfo);

pci_save_state(pdev);
pci_disable_device(pdev);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/