Hi, I have a question on S3 suspend/resume process for evergreen chipset. Generally introduction, I am developing WEC7 graphics driver on evergreen chipset. Alex guide me on this. And right now I move to S3 part work. I have ported radeon_suspend_kms() and radeon_resume_kms() functions from linux to CE. Actually I have validated that the evergreen_suspend() and evergreen_resume() work already on CE. But when the resume work is done and the screen is shown up, I found the 3D engine works wrong. The HW acceleration of it is not correct anymore. Misrendering is happening. By tracing the root cause, I suspect that the problem may be in evergreen_gpu_init()( in evergreen_startup) call when resume(), but I am not sure. Can you guys tell me which part I should debug? By the way, the linux kernel source I used is from 2010.10. So quite a lot patches have been committed into community during this period. Right now, the kernel source I used is around date 2011.7(Version 3.0.0). Is there any patches update for S3 during this period?
Thanks, Frank
Hi,
On Thu, 2011-10-13 at 17:54 +0800, Huang, FrankR wrote:
[...] I have ported radeon_suspend_kms() and radeon_resume_kms() functions from linux to CE.
I imagine you already have checked with your company's lawyers, but if I understand correctly that means your drivers will be distributed under the GPL ?
Thanks, Xav
On Thu, Oct 13, 2011 at 12:56 PM, Xavier Bestel xavier.bestel@free.fr wrote:
Hi,
On Thu, 2011-10-13 at 17:54 +0800, Huang, FrankR wrote:
[...] I have ported radeon_suspend_kms() and radeon_resume_kms() functions from linux to CE.
I imagine you already have checked with your company's lawyers, but if I understand correctly that means your drivers will be distributed under the GPL ?
All the GPU driver code is licensed under MIT.
Dave.
On Thu, 2011-10-13 at 13:04 +0100, Dave Airlie wrote:
On Thu, Oct 13, 2011 at 12:56 PM, Xavier Bestel xavier.bestel@free.fr wrote:
Hi,
On Thu, 2011-10-13 at 17:54 +0800, Huang, FrankR wrote:
[...] I have ported radeon_suspend_kms() and radeon_resume_kms() functions from linux to CE.
I imagine you already have checked with your company's lawyers, but if I understand correctly that means your drivers will be distributed under the GPL ?
All the GPU driver code is licensed under MIT.
Oh, I thought "linux" meant "kernel", not "X11".
Xav
On Thu, Oct 13, 2011 at 1:07 PM, Xavier Bestel xavier.bestel@free.fr wrote:
On Thu, 2011-10-13 at 13:04 +0100, Dave Airlie wrote:
On Thu, Oct 13, 2011 at 12:56 PM, Xavier Bestel xavier.bestel@free.fr wrote:
Hi,
On Thu, 2011-10-13 at 17:54 +0800, Huang, FrankR wrote:
[...] I have ported radeon_suspend_kms() and radeon_resume_kms() functions from linux to CE.
I imagine you already have checked with your company's lawyers, but if I understand correctly that means your drivers will be distributed under the GPL ?
All the GPU driver code is licensed under MIT.
Oh, I thought "linux" meant "kernel", not "X11".
The kernel drm driver code is all MIT licensed. The license is there at the top of the files.
Dave.
Dave, actually Alex helps me a lot in AMD internal. I appreciated him very much. He supports me for this project for nearly a year. But sometimes, he is a little busy with community's stuff. So I'll ask some quesitons here directly. Hope you guys can give me some suggestion(i.e. this S3 issue.) :)
Thanks, Frank
-----Original Message----- From: Dave Airlie [mailto:airlied@gmail.com] Sent: 2011-10-13 (星期四) 20:08 To: Xavier Bestel Cc: Huang, FrankR; dri-devel@lists.freedesktop.org Subject: Re: Question on S3 on evergreen
On Thu, Oct 13, 2011 at 1:07 PM, Xavier Bestel xavier.bestel@free.fr wrote:
On Thu, 2011-10-13 at 13:04 +0100, Dave Airlie wrote:
On Thu, Oct 13, 2011 at 12:56 PM, Xavier Bestel xavier.bestel@free.fr wrote:
Hi,
On Thu, 2011-10-13 at 17:54 +0800, Huang, FrankR wrote:
[...] I have ported radeon_suspend_kms() and radeon_resume_kms() functions from linux to CE.
I imagine you already have checked with your company's lawyers, but if I understand correctly that means your drivers will be distributed under the GPL ?
All the GPU driver code is licensed under MIT.
Oh, I thought "linux" meant "kernel", not "X11".
The kernel drm driver code is all MIT licensed. The license is there at the top of the files.
Dave.
Xav, thanks for your reminder. Actually our law leam has already checked the license. As Dave said, the DRM kernel driver is all MIT-licensed and we will be free to use them. When the drm uses linux kernel function calls, we will use freebsd(none-GPL) equivalent to replace. Dave, by the way, I want to ask you about some exceptions in DRM. you know in some files(i.e. drm_fb_helper.c), it includes MODULE_LICENSE("GPL and additional rights"). Does it mean it is GPL licensed? Is it free to use this file?
Thanks, Frank
-----Original Message----- From: Xavier Bestel [mailto:xavier.bestel@free.fr] Sent: 2011-10-13 (星期四) 20:07 To: Dave Airlie Cc: Huang, FrankR; dri-devel@lists.freedesktop.org Subject: Re: Question on S3 on evergreen
On Thu, 2011-10-13 at 13:04 +0100, Dave Airlie wrote:
On Thu, Oct 13, 2011 at 12:56 PM, Xavier Bestel xavier.bestel@free.fr wrote:
Hi,
On Thu, 2011-10-13 at 17:54 +0800, Huang, FrankR wrote:
[...] I have ported radeon_suspend_kms() and radeon_resume_kms() functions from linux to CE.
I imagine you already have checked with your company's lawyers, but if I understand correctly that means your drivers will be distributed under the GPL ?
All the GPU driver code is licensed under MIT.
Oh, I thought "linux" meant "kernel", not "X11".
Xav
----- Original Message -----
From: "FrankR Huang" FrankR.Huang@amd.com To: "Xavier Bestel" xavier.bestel@free.fr, "Dave Airlie" airlied@gmail.com Cc: dri-devel@lists.freedesktop.org Sent: Thursday, 13 October, 2011 3:16:07 PM Subject: Reply: Question on S3 on evergreen
Reply: Question on S3 on evergreen
Xav, thanks for your reminder. Actually our law leam has already checked the license. As Dave said, the DRM kernel driver is all MIT-licensed and we will be free to use them. When the drm uses linux kernel function calls, we will use freebsd(none-GPL) equivalent to replace. Dave, by the way, I want to ask you about some exceptions in DRM. you know in some files(i.e. drm_fb_helper.c), it includes MODULE_LICENSE("GPL and additional rights"). Does it mean it is GPL licensed? Is it free to use this file?
Those files are derived from the kernel fb layer so are not drm core infrastructure.
They make no sense on other OSes, since they don't have the same kernel fb layer.
Dave.
-----Original Message----- From: David Airlie [mailto:airlied@redhat.com] Sent: 2011年10月13日 22:24 To: Huang, FrankR Cc: dri-devel@lists.freedesktop.org; Xavier Bestel; Dave Airlie Subject: Re: Reply: Question on S3 on evergreen
----- Original Message -----
From: "FrankR Huang" FrankR.Huang@amd.com To: "Xavier Bestel" xavier.bestel@free.fr, "Dave Airlie"
Cc: dri-devel@lists.freedesktop.org Sent: Thursday, 13 October, 2011 3:16:07 PM Subject: Reply: Question on S3 on evergreen
Reply: Question on S3 on evergreen
Xav, thanks for your reminder. Actually our law leam has already checked the license. As Dave said, the DRM kernel driver is all MIT-licensed and we will be free to use them. When the drm uses linux kernel function calls, we will use freebsd(none-GPL) equivalent to replace. Dave, by the way, I want to ask you about some exceptions in DRM. you know in some files(i.e. drm_fb_helper.c), it includes MODULE_LICENSE("GPL and additional rights"). Does it mean it is GPL licensed? Is it free to use this file?
Those files are derived from the kernel fb layer so are not drm core infrastructure.
They make no sense on other OSes, since they don't have the same kernel fb layer.
Yup. CE does have fb layer, when I did the modeset part, there is no fb layer in it and none of fb functions will be used in our driver. So I understand that you said those files are derived from the kernel fb layer. So what's the relastionship between drm fb helper and real kernel fb ?
Dave.
Frank,
I have found this text particularly useful when it comes to using MIT (or BSD) code that resides in the GPL project (e.g. DRM in Linux)
http://www.softwarefreedom.org/resources/2007/gpl-non-gpl-collaboration.html
I think that sections 2.2 and 2.3 are the things to be careful about because there is a non-trivial probabilty that at least some out of many patches that come in from many authors were created by copying and pasting lines of code that may have come from some other GPL'd code (e.g. other parts of Linux). Nobody can guarantee that this has not happened.
P.S. The above is my personal opinion, I speak for myself, not for my company, I am not a lawyer.
-- Ilija
On Thu, 13 Oct 2011, Huang, FrankR wrote:
Xav, thanks for your reminder. Actually our law leam has already checked the license. As Dave said, the DRM kernel driver is all MIT-licensed and we will be free to use them. When the drm uses linux kernel function calls, we will use freebsd(none-GPL) equivalent to replace. Dave, by the way, I want to ask you about some exceptions in DRM. you know in some files(i.e. drm_fb_helper.c), it includes MODULE_LICENSE("GPL and additional rights"). Does it mean it is GPL licensed? Is it free to use this file?
Thanks, Frank
-----Original Message----- From: Xavier Bestel [mailto:xavier.bestel@free.fr] Sent: 2011-10-13 (������) 20:07 To: Dave Airlie Cc: Huang, FrankR; dri-devel@lists.freedesktop.org Subject: Re: Question on S3 on evergreen
On Thu, 2011-10-13 at 13:04 +0100, Dave Airlie wrote:
On Thu, Oct 13, 2011 at 12:56 PM, Xavier Bestel xavier.bestel@free.fr wrote:
Hi,
On Thu, 2011-10-13 at 17:54 +0800, Huang, FrankR wrote:
[...] I have ported radeon_suspend_kms() and radeon_resume_kms() functions from linux to CE.
I imagine you already have checked with your company's lawyers, but if I understand correctly that means your drivers will be distributed under the GPL ?
All the GPU driver code is licensed under MIT.
Oh, I thought "linux" meant "kernel", not "X11".
Xav
Ilija, Your suggestion is very very important for us. Before we released the driver, we will check each file of what we used from linux community(Including KMS and DDX driver). As you said, there is no guarantee that some patches from other developers contain GPL's code. So we must be very careful on this. The good thing is that DRM architecture and DDX driver including Xserver part(our code also use Xserver) are MIT-licensed. So what we should be care is when those drivers call into kernel functions, we must use freebsd's code to re-implement. We are all not lawyers, actually evey for lawyers, it is impossible for them to check the code in detail. So I have the responsibility to make sure the code from me is non-GPL. So I will also ask more questions here for this stuff. Hope you guys give more suggestions, I appreciate it!
Thanks, Frank
-----Original Message----- From: dri-devel-bounces+frankr.huang=amd.com@lists.freedesktop.org [mailto:dri-devel-bounces+frankr.huang=amd.com@lists.freedesktop.org] On Behalf Of Ilija Hadzic Sent: 2011?10?13? 22:29 To: Huang, FrankR Cc: dri-devel@lists.freedesktop.org Subject: Re: Reply: Question on S3 on evergreen
Frank,
I have found this text particularly useful when it comes to using MIT (or BSD) code that resides in the GPL project (e.g. DRM in Linux)
http://www.softwarefreedom.org/resources/2007/gpl-non-gpl- collaboration.html
I think that sections 2.2 and 2.3 are the things to be careful about because there is a non-trivial probabilty that at least some out of many patches that come in from many authors were created by copying and pasting lines of code that may have come from some other GPL'd code (e.g. other parts of Linux). Nobody can guarantee that this has not happened.
P.S. The above is my personal opinion, I speak for myself, not for my company, I am not a lawyer.
-- Ilija
On Thu, 13 Oct 2011, Huang, FrankR wrote:
Xav, thanks for your reminder. Actually our law leam has already checked
the license. As Dave said, the DRM kernel driver is all MIT-licensed and we will be free to use them. When the drm uses linux kernel function calls, we will use freebsd(none-GPL) equivalent to replace.
Dave, by the way, I want to ask you about some exceptions in DRM. you
know in some files(i.e. drm_fb_helper.c), it includes MODULE_LICENSE("GPL and additional rights"). Does it mean it is GPL licensed? Is it free to use this file?
Thanks, Frank
-----Original Message----- From: Xavier Bestel [mailto:xavier.bestel@free.fr] Sent: 2011-10-13 (ÐÇÆÚËÄ) 20:07 To: Dave Airlie Cc: Huang, FrankR; dri-devel@lists.freedesktop.org Subject: Re: Question on S3 on evergreen
On Thu, 2011-10-13 at 13:04 +0100, Dave Airlie wrote:
On Thu, Oct 13, 2011 at 12:56 PM, Xavier Bestel xavier.bestel@free.fr
wrote:
Hi,
On Thu, 2011-10-13 at 17:54 +0800, Huang, FrankR wrote:
[...] I have ported radeon_suspend_kms() and radeon_resume_kms() functions from linux to CE.
I imagine you already have checked with your company's lawyers, but if
I
understand correctly that means your drivers will be distributed under the GPL ?
All the GPU driver code is licensed under MIT.
Oh, I thought "linux" meant "kernel", not "X11".
Xav
On Thu, Oct 13, 2011 at 5:54 AM, Huang, FrankR FrankR.Huang@amd.com wrote:
Hi, I have a question on S3 suspend/resume process for evergreen chipset. Generally introduction, I am developing WEC7 graphics driver on evergreen chipset. Alex guide me on this. And right now I move to S3 part work. I have ported radeon_suspend_kms() and radeon_resume_kms() functions from linux to CE. Actually I have validated that the evergreen_suspend() and evergreen_resume() work already on CE. But when the resume work is done and the screen is shown up, I found the 3D engine works wrong. The HW acceleration of it is not correct anymore. Misrendering is happening. By tracing the root cause, I suspect that the problem may be in evergreen_gpu_init()( in evergreen_startup) call when resume(), but I am not sure. Can you guys tell me which part I should debug? By the way, the linux kernel source I used is from 2010.10. So quite a lot patches have been committed into community during this period. Right now, the kernel source I used is around date 2011.7(Version 3.0.0). Is there any patches update for S3 during this period?
Does soft resetting the GPU during resume help (evergreen_gpu_soft_reset()) ? If so, try updating your version of evergreen_cp_resume() to the latest upstream bits.
Alex
-----Original Message----- From: dri-devel-bounces+frankr.huang=amd.com@lists.freedesktop.org [mailto:dri-devel-bounces+frankr.huang=amd.com@lists.freedesktop.org] On Behalf Of Alex Deucher Sent: 2011?10?13? 21:06 To: Huang, FrankR Cc: dri-devel@lists.freedesktop.org Subject: Re: Question on S3 on evergreen
On Thu, Oct 13, 2011 at 5:54 AM, Huang, FrankR FrankR.Huang@amd.com wrote:
Hi, I have a question on S3 suspend/resume process for evergreen chipset. Generally introduction, I am developing WEC7 graphics driver on evergreen chipset. Alex guide me on this. And right now I move to S3 part work. I have ported radeon_suspend_kms() and radeon_resume_kms() functions from linux to CE. Actually I have validated that the evergreen_suspend() and evergreen_resume() work already on CE. But when the resume work is done and the screen is shown up, I found the 3D engine works wrong. The HW acceleration of it is not correct anymore. Misrendering is happening. By tracing the root cause, I suspect that the problem may be in evergreen_gpu_init()( in evergreen_startup) call when resume(), but I am not sure. Can you guys tell me which part I should debug? By the way, the linux kernel source I used is from 2010.10. So quite a lot patches have been committed into community during this period. Right now, the kernel source I used is around date 2011.7(Version 3.0.0). Is there any patches update for S3 during this period?
Does soft resetting the GPU during resume help (evergreen_gpu_soft_reset()) ? If so, try updating your version of evergreen_cp_resume() to the latest upstream bits.
Evergreen_gpu_soft_reset() has been used in my code. I'm trying to update evergreen_cp_resume() function to latest. But from the comparison between the version 2010.10 and current version 2011.7, I think there is not too much change for this function. You the code I used before was quite old, so when I port the new S3 code to CE currently, there must be some confliction between the old version and new version. I suspend the problem is there. Let me check more...
Thanks, Frank
Alex _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
-----Original Message----- From: dri-devel-bounces+frankr.huang=amd.com@lists.freedesktop.org [mailto:dri-devel-bounces+frankr.huang=amd.com@lists.freedesktop.org] On Behalf Of Alex Deucher Sent: 2011?10?13? 21:06 To: Huang, FrankR Cc: dri-devel@lists.freedesktop.org Subject: Re: Question on S3 on evergreen
On Thu, Oct 13, 2011 at 5:54 AM, Huang, FrankR FrankR.Huang@amd.com wrote:
Hi, I have a question on S3 suspend/resume process for evergreen chipset. Generally introduction, I am developing WEC7 graphics driver on evergreen chipset. Alex guide me on this. And right now I move to S3 part work. I have ported radeon_suspend_kms() and radeon_resume_kms() functions from linux to CE. Actually I have validated that the evergreen_suspend() and evergreen_resume() work already on CE. But when the resume work is done and the screen is shown up, I found the 3D engine works wrong. The HW acceleration of it is not correct anymore. Misrendering is happening. By tracing the root cause, I suspect that the problem may be in evergreen_gpu_init()( in evergreen_startup) call when resume(), but I am not sure. Can you guys tell me which part I should debug? By the way, the linux kernel source I used is from 2010.10. So quite a lot patches have been committed into community during this period. Right now, the kernel source I used is around date 2011.7(Version 3.0.0). Is there any patches update for S3 during this period?
Does soft resetting the GPU during resume help (evergreen_gpu_soft_reset()) ? If so, try updating your version of evergreen_cp_resume() to the latest upstream bits.
I have checked the code, evergreen_cp_resume() is already latest. How about evergreen_gpu_init()? I found this function call when resume will cause this misrendering. But I can not navigate the root cause.
Thanks, Frank
Alex _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
On Fri, Oct 14, 2011 at 6:13 AM, Huang, FrankR FrankR.Huang@amd.com wrote:
-----Original Message----- From: dri-devel-bounces+frankr.huang=amd.com@lists.freedesktop.org [mailto:dri-devel-bounces+frankr.huang=amd.com@lists.freedesktop.org] On Behalf Of Alex Deucher Sent: 2011?10?13? 21:06 To: Huang, FrankR Cc: dri-devel@lists.freedesktop.org Subject: Re: Question on S3 on evergreen
On Thu, Oct 13, 2011 at 5:54 AM, Huang, FrankR FrankR.Huang@amd.com wrote:
Hi, I have a question on S3 suspend/resume process for evergreen chipset. Generally introduction, I am developing WEC7 graphics driver on evergreen chipset. Alex guide me on this. And right now I move to S3 part work. I have ported radeon_suspend_kms() and radeon_resume_kms() functions from linux to CE. Actually I have validated that the evergreen_suspend() and evergreen_resume() work already on CE. But when the resume work is done and the screen is shown up, I found the 3D engine works wrong. The HW acceleration of it is not correct anymore. Misrendering is happening. By tracing the root cause, I suspect that the problem may be in evergreen_gpu_init()( in evergreen_startup) call when resume(), but I am not sure. Can you guys tell me which part I should debug? By the way, the linux kernel source I used is from 2010.10. So quite a lot patches have been committed into community during this period. Right now, the kernel source I used is around date 2011.7(Version 3.0.0). Is there any patches update for S3 during this period?
Does soft resetting the GPU during resume help (evergreen_gpu_soft_reset()) ? If so, try updating your version of evergreen_cp_resume() to the latest upstream bits.
I have checked the code, evergreen_cp_resume() is already latest. How about evergreen_gpu_init()? I found this function call when resume will cause this misrendering. But I can not navigate the root cause.
Does dropping the call to evergreen_program_channel_remap() help?
Alex
Thanks, Frank
Alex _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
dri-devel@lists.freedesktop.org